diff options
Diffstat (limited to 'doc/html')
244 files changed, 27005 insertions, 26740 deletions
diff --git a/doc/html/Ada95.html b/doc/html/Ada95.html index 7f4e9f907d46..1affa3fbbab5 100644 --- a/doc/html/Ada95.html +++ b/doc/html/Ada95.html @@ -1,7 +1,7 @@ <!-- - $Id: Ada95.html,v 1.16 2020/02/02 23:34:34 tom Exp $ + $Id: Ada95.html,v 1.18 2022/03/05 16:09:29 tom Exp $ **************************************************************************** - * Copyright 2019,2020 Thomas E. Dickey * + * Copyright 2019-2021,2022 Thomas E. Dickey * * Copyright 2000-2010,2013 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -57,13 +57,13 @@ ncurses package, a clone of the SVr4 curses model.<br> I did the development on an Intel box running the latest stable release of <a href="http://www.linux.org">Linux</a>, ncurses - and the most recent released <a href="http://www.gnat.com">GNU + and the most recent released <a href="https://ftp.gnu.org/gnu/gcc/">GNU Ada Translator</a> gnat versions. For any older versions of ncurses and gnat it is not guaranteed to work.</li> <li>You must have the m4 macroprocessor to build this package. If you don't have this program, you can get the FSF version - <a href="ftp://ftp.gnu.org/pub/gnu/">here</a>.</li> + <a href="https://ftp.gnu.org/pub/gnu/">here</a>.</li> <li>Ada programs are supposed to be readable. One of my favorite methods to make code readable is to use expressive @@ -73,14 +73,14 @@ <li>This is not a typical one-to-one interface mapping. It is close to one-to-one on the functional level. Each (n)curses - function has it's counterpart with a more or less similar + function has its counterpart with a more or less similar formal parameter list in the binding. It is not one-to-one with respect to the datatypes. I tried to make records out of the flat chtype and similar structures, so you don't have to do bit operations to mark an attributed character as bold. Just make the boolean member <strong>bold</strong> of the record true. The binding also hides the structures like WINDOW, PANEL, MENU, - FORM etc. ! It's a pure functional API.</li> + FORM etc. ! It is a pure functional API.</li> <li>I try to do as much error checking as possible and feasible in the binding. I will raise an Ada exception when something @@ -107,7 +107,7 @@ <li>Although Ada95 is an OO Language, this binding doesn't provide an OO abstraction of the (n)curses functionality. As - mentioned above it's a thin binding for the (n)curses + mentioned above it is a thin binding for the (n)curses functions. But without any doubt it would be nice to build on top of this an OO abstraction of (n)curses functionality.<br> The only exception is the method how fieldtypes are represented diff --git a/doc/html/NCURSES-Programming-HOWTO.html b/doc/html/NCURSES-Programming-HOWTO.html index d3eeb95dbccc..9a3f078d2f1c 100644 --- a/doc/html/NCURSES-Programming-HOWTO.html +++ b/doc/html/NCURSES-Programming-HOWTO.html @@ -1,16 +1,13 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> - <html> <head> <meta name="generator" content= - "HTML Tidy for Linux (vers 25 March 2009), see www.w3.org"> - + "HTML Tidy for HTML5 for Linux version 5.6.0"> <title>NCURSES Programming HOWTO</title> <meta name="GENERATOR" content= "Modular DocBook HTML Stylesheet Version 1.79"> </head> - <body class="ARTICLE" bgcolor="#FFFFFF" text="#000000" link= "#0000FF" vlink="#840084" alink="#0000FF"> <div class="ARTICLE"> @@ -24,7 +21,8 @@ <div class="AFFILIATION"> <div class="ADDRESS"> <p class="ADDRESS"><code class="EMAIL"><<a href= - "mailto:ppadala@gmail.com">ppadala@gmail.com</a>></code></p> + "mailto:ppadala@gmail.com">ppadala@gmail.com</a>></code> + </p> </div> </div> @@ -34,14 +32,24 @@ <table width="100%" border="0" summary="revisions"> <tr> <th align="left" valign="top" colspan="3"><b>Revision - History</b></th> + History</b> + </th> </tr> <tr> - <td align="left">Revision 1.9</td> + <td align="left">Revision 2.0</td> + <td align="left">2022-12-03</td> + <td align="left">Revised by: dickey</td> + </tr> - <td align="left">2005-06-20</td> + <tr> + <td align="left" colspan="3">Fixes for the sample + programs, Correct documentation errata.</td> + </tr> + <tr> + <td align="left">Revision 1.9</td> + <td align="left">2005-06-20</td> <td align="left">Revised by: ppadala</td> </tr> @@ -53,9 +61,7 @@ <tr> <td align="left">Revision 1.8</td> - <td align="left">2005-06-17</td> - <td align="left">Revised by: ppadala</td> </tr> @@ -68,9 +74,7 @@ <tr> <td align="left">Revision 1.7.1</td> - <td align="left">2002-06-25</td> - <td align="left">Revised by: ppadala</td> </tr> @@ -82,9 +86,7 @@ <tr> <td align="left">Revision 1.7</td> - <td align="left">2002-06-25</td> - <td align="left">Revised by: ppadala</td> </tr> @@ -96,9 +98,7 @@ <tr> <td align="left">Revision 1.6.1</td> - <td align="left">2002-02-24</td> - <td align="left">Revised by: ppadala</td> </tr> @@ -109,9 +109,7 @@ <tr> <td align="left">Revision 1.6</td> - <td align="left">2002-02-16</td> - <td align="left">Revised by: ppadala</td> </tr> @@ -122,9 +120,7 @@ <tr> <td align="left">Revision 1.5</td> - <td align="left">2002-01-05</td> - <td align="left">Revised by: ppadala</td> </tr> @@ -135,9 +131,7 @@ <tr> <td align="left">Revision 1.3.1</td> - <td align="left">2001-07-26</td> - <td align="left">Revised by: ppadala</td> </tr> @@ -148,9 +142,7 @@ <tr> <td align="left">Revision 1.3</td> - <td align="left">2001-07-24</td> - <td align="left">Revised by: ppadala</td> </tr> @@ -162,9 +154,7 @@ <tr> <td align="left">Revision 1.2</td> - <td align="left">2001-06-05</td> - <td align="left">Revised by: ppadala</td> </tr> @@ -176,9 +166,7 @@ <tr> <td align="left">Revision 1.1</td> - <td align="left">2001-05-22</td> - <td align="left">Revised by: ppadala</td> </tr> @@ -191,8 +179,7 @@ <div> <div class="ABSTRACT"> - <a name="AEN67" id="AEN67"></a> - + <a name="AEN72" id="AEN72"></a> <p><span class="emphasis"><i class="EMPHASIS">This document is intended to be an "All in One" guide for programming with ncurses and its sister libraries. We @@ -200,15 +187,18 @@ complex form manipulation. No prior experience in ncurses is assumed. Send comments to <a href= "mailto:ppadala@gmail.com" target="_top">this - address</a></i></span></p> + address</a></i></span> + </p> </div> </div> + <hr> </div> <div class="TOC"> <dl> - <dt><b>Table of Contents</b></dt> + <dt><b>Table of Contents</b> + </dt> <dt>1. <a href="#INTRO">Introduction</a></dt> @@ -309,7 +299,7 @@ <dt>6.1. <a href="#ADDCHCLASS">addch() class of functions</a></dt> - <dt>6.2. <a href="#AEN298">mvaddch(), waddch() and + <dt>6.2. <a href="#AEN303">mvaddch(), waddch() and mvwaddch()</a></dt> <dt>6.3. <a href="#PRINTWCLASS">printw() class of @@ -667,7 +657,7 @@ cables. The terminals could be configured by sending a series of bytes. All the capabilities (such as moving the cursor to a new location, erasing part of the screen, scrolling the - screen, changing modes etc.) of terminals could be accessed + screen, changing modes, etc.) of terminals could be accessed through these series of bytes. These control seeuqnces are usually called escape sequences, because they start with an escape(0x1B) character. Even today, with proper emulation, we @@ -676,20 +666,16 @@ <p>Suppose you wanted to print a line in color. Try typing this on your console.</p> - <pre class="PROGRAMLISTING"> -echo "^[[0;31;40mIn Color" -</pre> + <pre class="PROGRAMLISTING">echo "^[[0;31;40mIn Color"</pre> <p>The first character is an escape character, which looks like two characters ^ and [. To be able to print it, you have to press CTRL+V and then the ESC key. All the others are normal printable characters. You should be able to see the string "In Color" in red. It stays that way and to revert back to the original mode type this.</p> - <pre class="PROGRAMLISTING"> -echo "^[[0;37;40m" -</pre> + <pre class="PROGRAMLISTING">echo "^[[0;37;40m"</pre> <p>Now, what do these magic characters mean? Difficult to comprehend? They might even be different for different terminals. So the designers of UNIX invented a mechanism @@ -711,14 +697,14 @@ echo "^[[0;37;40m" <p>You might be wondering, what the import of all this technical gibberish is. In the above scenario, every application program is supposed to query the terminfo and - perform the necessary stuff (sending control characters + perform the necessary stuff (sending control characters, etc.). It soon became difficult to manage this complexity and this gave birth to 'CURSES'. Curses is a pun on the name "cursor optimization". The Curses library forms a wrapper over working with raw terminal codes, and provides highly flexible and efficient API (Application Programming Interface). It provides functions to move the cursor, - create windows, produce colors, play with mouse etc. The + create windows, produce colors, play with mouse, etc. The application programs need not worry about the underlying terminal capabilities.</p> @@ -732,9 +718,9 @@ echo "^[[0;37;40m" <p>A detailed history of NCURSES can be found in the NEWS file from the source distribution. The current package is - maintained by <a href="mailto:dickey@his.com" target= - "_top">Thomas Dickey</a>. You can contact the maintainers - at <a href="mailto:bug-ncurses@gnu.org" target= + maintained by <a href="mailto:dickey@invisible-island.net" + target="_top">Thomas Dickey</a>. You can contact the + maintainers at <a href="mailto:bug-ncurses@gnu.org" target= "_top">bug-ncurses@gnu.org</a>.</p> </div> @@ -747,7 +733,7 @@ echo "^[[0;37;40m" <p>NCURSES not only creates a wrapper over terminal capabilities, but also gives a robust framework to create nice looking UI (User Interface)s in text mode. It provides - functions to create windows etc. Its sister libraries + functions to create windows, etc. Its sister libraries panel, menu and form provide an extension to the basic curses library. These libraries usually come along with curses. One can create applications that contain multiple @@ -778,38 +764,39 @@ echo "^[[0;37;40m" on.</p> <p><span class="emphasis"><i class="EMPHASIS">Compiling the - package</i></span></p> + package</i></span> + </p> <p>NCURSES can be obtained from <a href= "ftp://ftp.gnu.org/pub/gnu/ncurses/ncurses.tar.gz" target= "_top">ftp://ftp.gnu.org/pub/gnu/ncurses/ncurses.tar.gz</a> or any of the ftp sites mentioned in <a href= - "http://www.gnu.org/order/ftp.html" target= - "_top">http://www.gnu.org/order/ftp.html</a>.</p> + "https://www.gnu.org/order/ftp.html" target= + "_top">https://www.gnu.org/order/ftp.html</a>.</p> <p>Read the README and INSTALL files for details on to how to install it. It usually involves the following operations.</p> - <pre class="PROGRAMLISTING"> - tar zxvf ncurses<version>.tar.gz # unzip and untar the archive + + <pre class= + "PROGRAMLISTING"> tar zxvf ncurses<version>.tar.gz # unzip and untar the archive cd ncurses<version> # cd to the directory ./configure # configure the build according to your # environment make # make it su root # become root - make install # install it -</pre> - + make install # install it</pre> <p><span class="emphasis"><i class="EMPHASIS">Using the - RPM</i></span></p> + RPM</i></span> + </p> <p>NCURSES RPM can be found and downloaded from <a href= - "http://rpmfind.net" target="_top">http://rpmfind.net</a> . - The RPM can be installed with the following command after + "https://rpmfind.net" target="_top">https://rpmfind.net</a> + . The RPM can be installed with the following command after becoming root.</p> - <pre class="PROGRAMLISTING"> - rpm -i <downloaded rpm> -</pre> + + <pre class= + "PROGRAMLISTING"> rpm -i <downloaded rpm></pre> </div> <div class="SECT2"> @@ -834,11 +821,11 @@ echo "^[[0;37;40m" <p>All the programs in the document are available in zipped form <a href= - "http://www.tldp.org/HOWTO/NCURSES-Programming-HOWTO/ncurses_programs.tar.gz" + "https://www.tldp.org/HOWTO/NCURSES-Programming-HOWTO/ncurses_programs.tar.gz" target="_top">here</a>. Unzip and untar it. The directory structure looks like this.</p> - <pre class="PROGRAMLISTING"> -ncurses + + <pre class="PROGRAMLISTING">ncurses | |----> JustForFun -- just for fun programs |----> basics -- basic programs @@ -852,13 +839,12 @@ ncurses | by Anuradha Ratnaweera) |----> Makefile -- the top level Makefile |----> README -- the top level README file. contains instructions - |----> COPYING -- copyright notice -</pre> - + |----> COPYING -- copyright notice</pre> <p>The individual directories contain the following files.</p> - <pre class="PROGRAMLISTING"> -Description of files in each directory + + <pre class= + "PROGRAMLISTING">Description of files in each directory -------------------------------------- JustForFun | @@ -899,7 +885,7 @@ JustForFun menus | |----> menu_attrib.c -- Usage of menu attributes - |----> menu_item_data.c -- Usage of item_name() etc.. functions + |----> menu_item_data.c -- Usage of item_name(), etc. functions |----> menu_multi_column.c -- Creates multi columnar menus |----> menu_scroll.c -- Demonstrates scrolling capability of menus |----> menu_simple.c -- A simple menu accessed by arrow keys @@ -917,9 +903,7 @@ JustForFun |----> panel_simple.c -- A simple panel example perl - |----> 01-10.pl -- Perl equivalents of first ten example programs -</pre> - + |----> 01-10.pl -- Perl equivalents of first ten example programs</pre> <p>There is a top level Makefile included in the main directory. It builds all the files and puts the ready-to-use exes in demo/exe directory. You can also do @@ -932,9 +916,9 @@ JustForFun <p>If you prefer browsing individual programs, point your browser to <a href= - "http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/ncurses_programs/" + "https://tldp.org/HOWTO/NCURSES-Programming-HOWTO/ncurses_programs/" target= - "_top">http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/ncurses_programs/</a></p> + "_top">https://tldp.org/HOWTO/NCURSES-Programming-HOWTO/ncurses_programs/</a></p> <p>All the programs are released under the same license that is used by ncurses (MIT-style). This gives you the @@ -949,7 +933,7 @@ JustForFun <h3 class="SECT2"><a name="OTHERFORMATS" id= "OTHERFORMATS">1.6. Other Formats of the document</a></h3> - <p>This howto is also availabe in various other formats on + <p>This howto is also available in various other formats on the tldp.org site. Here are the links to other formats of this document.</p> @@ -963,25 +947,25 @@ JustForFun <ul> <li> <p><a href= - "http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/pdf/NCURSES-Programming-HOWTO.pdf" + "https://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/pdf/NCURSES-Programming-HOWTO.pdf" target="_top">Acrobat PDF Format</a></p> </li> <li> <p><a href= - "http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/ps/NCURSES-Programming-HOWTO.ps.gz" + "https://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/ps/NCURSES-Programming-HOWTO.ps.gz" target="_top">PostScript Format</a></p> </li> <li> <p><a href= - "http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html/NCURSES-Programming-HOWTO-html.tar.gz" + "https://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html/NCURSES-Programming-HOWTO-html.tar.gz" target="_top">In Multiple HTML pages</a></p> </li> <li> <p><a href= - "http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/NCURSES-Programming-HOWTO.html" + "https://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/NCURSES-Programming-HOWTO.html" target="_top">In One big HTML format</a></p> </li> </ul> @@ -995,8 +979,9 @@ JustForFun <p>If above links are broken or if you want to experiment with sgml read on.</p> - <pre class="PROGRAMLISTING"> - Get both the source and the tar,gzipped programs, available at + + <pre class= + "PROGRAMLISTING"> Get both the source and the tar,gzipped programs, available at http://cvsview.tldp.org/index.cgi/LDP/howto/docbook/ NCURSES-HOWTO/NCURSES-Programming-HOWTO.sgml http://cvsview.tldp.org/index.cgi/LDP/howto/docbook/ @@ -1017,13 +1002,11 @@ JustForFun NCURSES-ONE-BIG-FILE.html for ps, you would use htmldoc --size universal -t ps --firstpage p1 -f <output file name.ps> - NCURSES-ONE-BIG-FILE.html -</pre> - + NCURSES-ONE-BIG-FILE.html</pre> <p>See <a href= - "http://www.tldp.org/LDP/LDP-Author-Guide/" target= + "https://www.tldp.org/LDP/LDP-Author-Guide/" target= "_top">LDP Author guide</a> for more details. If all else - failes, mail me at <a href="ppadala@gmail.com" target= + fails, mail me at <a href="ppadala@gmail.com" target= "_top">ppadala@gmail.com</a></p> </div> </div> @@ -1147,27 +1130,25 @@ JustForFun <hr> <h3 class="SECT2"><a name="COMPILECURSES" id= - "COMPILECURSES">2.1. Compiling With the NCURSES - Library</a></h3> + "COMPILECURSES">2.1. Compiling With the NCURSES Library</a></h3> <p>To use ncurses library functions, you have to include ncurses.h in your programs. To link the program with ncurses the flag -lncurses should be added.</p> - <pre class="PROGRAMLISTING"> - #include <ncurses.h> + + <pre class="PROGRAMLISTING"> #include <ncurses.h> . . . - compile and link: gcc <program file> -lncurses -</pre> - + compile and link: gcc <program file> -lncurses</pre> <div class="EXAMPLE"> <a name="BHW" id="BHW"></a> + <p><b>Example 1. The Hello World !!! Program</b> + </p> - <p><b>Example 1. The Hello World !!! Program</b></p> - <pre class="PROGRAMLISTING"> -<span class="INLINEMEDIAOBJECT">#include <ncurses.h> + <pre class="PROGRAMLISTING"><span class= + "INLINEMEDIAOBJECT">#include <curses.h> int main() { @@ -1178,8 +1159,7 @@ int main() endwin(); /* End curses mode */ return 0; -}</span> -</pre> +}</span></pre> </div> </div> @@ -1291,7 +1271,7 @@ int main() initscr() has to be called. There are functions which can be called after this initialization to customize our curses session. We may ask the curses system to set the terminal in - raw mode or initialize color or initialize the mouse etc.. + raw mode or initialize color or initialize the mouse, etc. Let's discuss some of the functions that are normally called immediately after initscr();</p> @@ -1335,7 +1315,7 @@ int main() "LITERAL">noecho()</tt> switches off echoing. The reason you might want to do this is to gain more control over echoing or to suppress unnecessary echoing while taking - input from the user through the getch() etc. functions. + input from the user through the getch(), etc. functions. Most of the interactive programs call <tt class= "LITERAL">noecho()</tt> at initialization and do the echoing of characters in a controlled manner. It gives the @@ -1351,7 +1331,7 @@ int main() keypad()</a></h3> <p>This is my favorite initialization function. It enables - the reading of function keys like F1, F2, arrow keys etc. + the reading of function keys like F1, F2, arrow keys, etc. Almost every interactive program enables this, as arrow keys are a major part of any User Interface. Do <tt class= "LITERAL">keypad(stdscr, TRUE)</tt> to enable this feature @@ -1401,11 +1381,12 @@ int main() <div class="EXAMPLE"> <a name="BINFU" id="BINFU"></a> - <p><b>Example 2. Initialization Function Usage - example</b></p> - <pre class="PROGRAMLISTING"> -<span class="INLINEMEDIAOBJECT">#include <ncurses.h> + example</b> + </p> + + <pre class="PROGRAMLISTING"><span class= + "INLINEMEDIAOBJECT">#include <curses.h> int main() { int ch; @@ -1422,7 +1403,7 @@ int main() if(ch == KEY_F(1)) /* Without keypad enabled this will */ printw("F1 Key pressed");/* not get to us either */ /* Without noecho() some ugly escape - * charachters might have been printed + * characters might have been printed * on screen */ else { printw("The pressed key is "); @@ -1435,8 +1416,7 @@ int main() endwin(); /* End curses mode */ return 0; -}</span> -</pre> +}</span></pre> </div> <p>This program is self-explanatory. But I used functions @@ -1470,17 +1450,15 @@ int main() creates a default window named <tt class= "LITERAL">stdscr</tt> which represents your 80x25 (or the size of window in which you are running) screen. If you are - doing simple tasks like printing few strings, reading input + doing simple tasks like printing few strings, reading input, etc., you can safely use this single window for all of your purposes. You can also create windows and call functions which explicitly work on the specified window.</p> <p>For example, if you call</p> - <pre class="PROGRAMLISTING"> - printw("Hi There !!!"); - refresh(); -</pre> + <pre class="PROGRAMLISTING"> printw("Hi There !!!"); + refresh();</pre> <p>It prints the string on stdscr at the present cursor position. Similarly the call to refresh(), works on stdscr only.</p> @@ -1488,23 +1466,20 @@ int main() <p>Say you have created <a href="#WINDOWS">windows</a> then you have to call a function with a 'w' added to the usual function.</p> - <pre class="PROGRAMLISTING"> - wprintw(win, "Hi There !!!"); - wrefresh(win); -</pre> + <pre class="PROGRAMLISTING"> wprintw(win, "Hi There !!!"); + wrefresh(win);</pre> <p>As you will see in the rest of the document, naming of functions follow the same convention. For each function there usually are three more functions.</p> - <pre class="PROGRAMLISTING"> - printw(string); /* Print on stdscr at present cursor position */ + + <pre class= + "PROGRAMLISTING"> printw(string); /* Print on stdscr at present cursor position */ mvprintw(y, x, string);/* Move to (y, x) then print string */ wprintw(win, string); /* Print on window win at present cursor position */ /* in the window */ mvwprintw(win, y, x, string); /* Move to (y, x) relative to window */ - /* co-ordinates and then print */ -</pre> - + /* co-ordinates and then print */</pre> <p>Usually the w-less functions are macros which expand to corresponding w-function with stdscr as the window parameter.</p> @@ -1539,7 +1514,7 @@ int main() </li> </ol> - <p>These functions can be used interchangeably and it's a + <p>These functions can be used interchangeably and it is a matter of style as to which class is used. Let's see each one in detail.</p> @@ -1570,9 +1545,9 @@ int main() For example, you want to print a character ch(of type char) bold and underlined, you would call addch() as below.</p> - <pre class="PROGRAMLISTING"> - addch(ch | A_BOLD | A_UNDERLINE); -</pre> + + <pre class= + "PROGRAMLISTING"> addch(ch | A_BOLD | A_UNDERLINE);</pre> </li> <li> @@ -1590,7 +1565,7 @@ int main() <p>Additionally, <tt class="LITERAL">curses</tt> provides some special characters for character-based graphics. You can draw tables, horizontal or vertical lines, etc. You can - find all avaliable characters in the header file <tt class= + find all available characters in the header file <tt class= "LITERAL">ncurses.h</tt>. Try looking for macros beginning with <tt class="LITERAL">ACS_</tt> in this file.</p> </div> @@ -1598,22 +1573,18 @@ int main() <div class="SECT2"> <hr> - <h3 class="SECT2"><a name="AEN298" id="AEN298">6.2. + <h3 class="SECT2"><a name="AEN303" id="AEN303">6.2. mvaddch(), waddch() and mvwaddch()</a></h3> <p><tt class="LITERAL">mvaddch()</tt> is used to move the cursor to a given point, and then print. Thus, the calls:</p> - <pre class="PROGRAMLISTING"> - move(row,col); /* moves the cursor to row<span class= -"emphasis"><i class= -"EMPHASIS">th</i></span> row and col<span class="emphasis"><i class="EMPHASIS">th</i></span> column */ - addch(ch); -</pre>can be replaced by - <pre class="PROGRAMLISTING"> - mvaddch(row,col,ch); -</pre> + <pre class= + "PROGRAMLISTING"> move(row,col); /* moves the cursor to row<span class="emphasis"><i class="EMPHASIS">th</i></span> row and col<span class="emphasis"><i class="EMPHASIS">th</i></span> column */ + addch(ch);</pre>can be replaced by + + <pre class="PROGRAMLISTING"> mvaddch(row,col,ch);</pre> <p><tt class="LITERAL">waddch()</tt> is similar to <tt class="LITERAL">addch()</tt>, except that it adds a character into the given window. (Note that <tt class= @@ -1667,8 +1638,7 @@ int main() <hr> <h4 class="SECT3"><a name="WPRINTWMVWPRINTW" id= - "WPRINTWMVWPRINTW">6.3.2. wprintw() and - mvwprintw</a></h4> + "WPRINTWMVWPRINTW">6.3.2. wprintw() and mvwprintw</a></h4> <p>These two functions are similar to above two except that they print in the corresponding window given as @@ -1694,18 +1664,18 @@ int main() <div class="EXAMPLE"> <a name="BPREX" id="BPREX"></a> + <p><b>Example 3. A Simple printw example</b> + </p> - <p><b>Example 3. A Simple printw example</b></p> - <pre class="PROGRAMLISTING"> -<span class= -"INLINEMEDIAOBJECT">#include <ncurses.h> /* ncurses.h includes stdio.h */ + <pre class="PROGRAMLISTING"><span class= + "INLINEMEDIAOBJECT">#include <curses.h> #include <string.h> int main() { char mesg[]="Just a string"; /* message to be appeared on the screen */ int row,col; /* to store the number of rows and * - * the number of colums of the screen */ + * the number of columns of the screen */ initscr(); /* start the curses mode */ getmaxyx(stdscr,row,col); /* get the number of rows and columns */ mvprintw(row/2,(col-strlen(mesg))/2,"%s",mesg); @@ -1717,8 +1687,7 @@ int main() endwin(); return 0; -}</span> -</pre> +}</span></pre> </div> <p>Above program demonstrates how easy it is to use @@ -1891,11 +1860,11 @@ int main() <div class="EXAMPLE"> <a name="BSCEX" id="BSCEX"></a> + <p><b>Example 4. A Simple scanw example</b> + </p> - <p><b>Example 4. A Simple scanw example</b></p> - <pre class="PROGRAMLISTING"> -<span class= -"INLINEMEDIAOBJECT">#include <ncurses.h> /* ncurses.h includes stdio.h */ + <pre class="PROGRAMLISTING"><span class= + "INLINEMEDIAOBJECT">#include <curses.h> #include <string.h> int main() @@ -1903,7 +1872,7 @@ int main() char mesg[]="Enter a string: "; /* message to be appeared on the screen */ char str[80]; int row,col; /* to store the number of rows and * - * the number of colums of the screen */ + * the number of columns of the screen */ initscr(); /* start the curses mode */ getmaxyx(stdscr,row,col); /* get the number of rows and columns */ mvprintw(row/2,(col-strlen(mesg))/2,"%s",mesg); @@ -1914,8 +1883,7 @@ int main() endwin(); return 0; -}</span> -</pre> +}</span></pre> </div> </div> </div> @@ -1935,12 +1903,12 @@ int main() <div class="EXAMPLE"> <a name="BSIAT" id="BSIAT"></a> + <p><b>Example 5. A Simple Attributes example</b> + </p> - <p><b>Example 5. A Simple Attributes example</b></p> - <pre class="PROGRAMLISTING"> -<span class= -"INLINEMEDIAOBJECT">/* pager functionality by Joseph Spainhour" <spainhou@bellsouth.net> */ -#include <ncurses.h> + <pre class="PROGRAMLISTING"><span class= + "INLINEMEDIAOBJECT">/* pager functionality by Joseph Spainhour" <spainhou@bellsouth.net> */ +#include <curses.h> #include <stdlib.h> int main(int argc, char *argv[]) @@ -1965,7 +1933,7 @@ int main(int argc, char *argv[]) getmaxyx(stdscr, row, col); /* find the boundaries of the screeen */ while((ch = fgetc(fp)) != EOF) /* read the file till we reach the end */ { - getyx(stdscr, y, x); /* get the current curser position */ + getyx(stdscr, y, x); /* get the current cursor position */ if(y == (row - 1)) /* are we are at the end of the screen */ { printw("<-Press Any Key->"); /* tell the user to press a key */ @@ -1977,7 +1945,7 @@ int main(int argc, char *argv[]) * switch bold on */ { attron(A_BOLD); /* cut bold on */ - getyx(stdscr, y, x); /* get the current curser position */ + getyx(stdscr, y, x); /* get the current cursor position */ move(y, x - 1); /* back up one space */ printw("%c%c", '/', ch); /* The actual printing is done here */ } @@ -1992,8 +1960,7 @@ int main(int argc, char *argv[]) endwin(); /* End curses mode */ fclose(fp); return 0; -}</span> -</pre> +}</span></pre> </div> <p>Don't worry about all those initialization and other crap. @@ -2026,7 +1993,7 @@ int main(int argc, char *argv[]) <p>Let's get into more details of attributes. The functions <tt class="LITERAL">attron(), attroff(), attrset()</tt> , and their sister functions <tt class= - "LITERAL">attr_get()</tt> etc.. can be used to switch + "LITERAL">attr_get()</tt>, etc. can be used to switch attributes on/off , get attributes and produce a colorful display.</p> @@ -2034,8 +2001,8 @@ int main(int argc, char *argv[]) attributes and switch them on or off, respectively. The following video attributes, which are defined in <curses.h> can be passed to these functions.</p> - <pre class="PROGRAMLISTING"> - + + <pre class="PROGRAMLISTING"> A_NORMAL Normal display (no highlight) A_STANDOUT Best highlighting mode of the terminal. A_UNDERLINE Underlining @@ -2048,9 +2015,7 @@ int main(int argc, char *argv[]) A_ALTCHARSET Alternate character set A_CHARTEXT Bit-mask to extract a character COLOR_PAIR(n) Color-pair number n - -</pre> - + </pre> <p>The last one is the most colorful one :-) Colors are explained in the <a href="#color" target="_top">next sections</a>.</p> @@ -2058,9 +2023,9 @@ int main(int argc, char *argv[]) <p>We can OR(|) any number of above attributes to get a combined effect. If you wanted reverse video with blinking characters you can use</p> - <pre class="PROGRAMLISTING"> - attron(A_REVERSE | A_BLINK); -</pre> + + <pre class= + "PROGRAMLISTING"> attron(A_REVERSE | A_BLINK);</pre> </div> <div class="SECT2"> @@ -2108,8 +2073,8 @@ int main(int argc, char *argv[]) <h3 class="SECT2"><a name="ATTRFUNCS" id="ATTRFUNCS">8.4. attr_ functions</a></h3> - <p>There are series of functions like attr_set(), attr_on - etc.. These are similar to above functions except that they + <p>There are series of functions like attr_set(), attr_on, + etc. These are similar to above functions except that they take parameters of type <tt class= "LITERAL">attr_t</tt>.</p> </div> @@ -2141,10 +2106,9 @@ int main(int argc, char *argv[]) <p>We can give -1 as the character count to update till end of line. If you want to change attributes of characters from current position to end of line, just use this.</p> - <pre class="PROGRAMLISTING"> - chgat(-1, A_REVERSE, 0, NULL); -</pre> + <pre class= + "PROGRAMLISTING"> chgat(-1, A_REVERSE, 0, NULL);</pre> <p>This function is useful when changing attributes for characters that are already on the screen. Move to the character from which you want to change and change the @@ -2159,10 +2123,11 @@ int main(int argc, char *argv[]) <div class="EXAMPLE"> <a name="BWICH" id="BWICH"></a> + <p><b>Example 6. Chgat() Usage example</b> + </p> - <p><b>Example 6. Chgat() Usage example</b></p> - <pre class="PROGRAMLISTING"> -<span class="INLINEMEDIAOBJECT">#include <ncurses.h> + <pre class="PROGRAMLISTING"><span class= + "INLINEMEDIAOBJECT">#include <curses.h> int main(int argc, char *argv[]) { initscr(); /* Start curses mode */ @@ -2176,7 +2141,7 @@ int main(int argc, char *argv[]) * Third parameter number of characters to update. -1 means till * end of line * Forth parameter is the normal attribute you wanted to give - * to the charcter + * to the character * Fifth is the color index. It is the index given during init_pair() * use 0 if you didn't want color * Sixth one is always NULL @@ -2185,8 +2150,7 @@ int main(int argc, char *argv[]) getch(); endwin(); /* End curses mode */ return 0; -}</span> -</pre> +}</span></pre> </div> <p>This example also introduces us to the color world of @@ -2224,13 +2188,13 @@ int main(int argc, char *argv[]) <tt class="LITERAL">newwin()</tt>. It doesn't create any thing on the screen actually. It allocates memory for a structure to manipulate the window and updates the - structure with data regarding the window like it's size, - beginy, beginx etc.. Hence in curses, a window is just an + structure with data regarding the window such as its size, + beginy, beginx, etc. Hence in curses, a window is just an abstraction of an imaginary window, which can be manipulated independent of other parts of screen. The function newwin() returns a pointer to structure WINDOW, - which can be passed to window related functions like - wprintw() etc.. Finally the window can be destroyed with + which can be passed to window related functions such as + wprintw(), etc. Finally the window can be destroyed with delwin(). It will deallocate the memory associated with the window structure.</p> </div> @@ -2249,11 +2213,11 @@ int main(int argc, char *argv[]) <div class="EXAMPLE"> <a name="BWIBO" id="BWIBO"></a> + <p><b>Example 7. Window Border example</b> + </p> - <p><b>Example 7. Window Border example</b></p> - <pre class="PROGRAMLISTING"> -<span class="INLINEMEDIAOBJECT">#include <ncurses.h> - + <pre class="PROGRAMLISTING"><span class= + "INLINEMEDIAOBJECT">#include <curses.h> WINDOW *create_newwin(int height, int width, int starty, int startx); void destroy_win(WINDOW *local_win); @@ -2316,7 +2280,7 @@ WINDOW *create_newwin(int height, int width, int starty, int startx) void destroy_win(WINDOW *local_win) { /* box(local_win, ' ', ' '); : This won't produce the desired - * result of erasing the window. It will leave it's four corners + * result of erasing the window. It will leave its four corners * and so an ugly remnant of window. */ wborder(local_win, ' ', ' ', ' ',' ',' ',' ',' ',' '); @@ -2333,8 +2297,7 @@ void destroy_win(WINDOW *local_win) */ wrefresh(local_win); delwin(local_win); -}</span> -</pre> +}</span></pre> </div> </div> @@ -2344,7 +2307,7 @@ void destroy_win(WINDOW *local_win) <h3 class="SECT2"><a name="BORDEREXEXPL" id= "BORDEREXEXPL">9.3. Explanation</a></h3> - <p>Don't scream. I know it's a big example. But I have to + <p>Don't scream. I know it is a big example. But I have to explain some important things here :-). This program creates a rectangular window that can be moved with left, right, up, down arrow keys. It repeatedly creates and @@ -2369,21 +2332,19 @@ void destroy_win(WINDOW *local_win) border around the window with the characters given to it as the 4 corner points and the 4 lines. To put it clearly, if you have called wborder as below:</p> - <pre class="PROGRAMLISTING"> - wborder(win, '|', '|', '-', '-', '+', '+', '+', '+'); -</pre> - <p>it produces some thing like</p> - <pre class="PROGRAMLISTING"> - +------------+ + <pre class= + "PROGRAMLISTING"> wborder(win, '|', '|', '-', '-', '+', '+', '+', '+');</pre> + <p>it produces something like</p> + + <pre class="PROGRAMLISTING"> +------------+ | | | | | | | | | | | | - +------------+ -</pre> + +------------+</pre> </div> <div class="SECT2"> @@ -2423,10 +2384,11 @@ void destroy_win(WINDOW *local_win) <div class="EXAMPLE"> <a name="BOTBO" id="BOTBO"></a> + <p><b>Example 8. More border functions</b> + </p> - <p><b>Example 8. More border functions</b></p> - <pre class="PROGRAMLISTING"> -<span class="INLINEMEDIAOBJECT">#include <ncurses.h> + <pre class="PROGRAMLISTING"><span class= + "INLINEMEDIAOBJECT">#include <curses.h> typedef struct _win_border_struct { chtype ls, rs, ts, bs, @@ -2545,8 +2507,7 @@ void create_box(WIN *p_win, bool flag) refresh(); -}</span> -</pre> +}</span></pre> </div> </div> </div> @@ -2554,8 +2515,7 @@ void create_box(WIN *p_win, bool flag) <div class="SECT1"> <hr> - <h2 class="SECT1"><a name="COLOR" id="COLOR">10. - Colors</a></h2> + <h2 class="SECT1"><a name="COLOR" id="COLOR">10. Colors</a></h2> <div class="SECT2"> <h3 class="SECT2"><a name="COLORBASICS" id= @@ -2567,10 +2527,13 @@ void create_box(WIN *p_win, bool flag) <div class="EXAMPLE"> <a name="BSICO" id="BSICO"></a> + <p><b>Example 9. A Simple Color example</b> + </p> - <p><b>Example 9. A Simple Color example</b></p> - <pre class="PROGRAMLISTING"> -<span class="INLINEMEDIAOBJECT">#include <ncurses.h> + <pre class="PROGRAMLISTING"><span class= + "INLINEMEDIAOBJECT">#include <stdlib.h> +#include <string.h> +#include <curses.h> void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string); int main(int argc, char *argv[]) @@ -2609,8 +2572,7 @@ void print_in_middle(WINDOW *win, int starty, int startx, int width, char *strin mvwprintw(win, y, x, "%s", string); refresh(); } -</span> -</pre> +</span></pre> </div> <p>As you can see, to start using color, you should first @@ -2624,36 +2586,35 @@ void print_in_middle(WINDOW *win, int starty, int startx, int width, char *strin <p>Curses initializes all the colors supported by terminal when start_color() is called. These can be accessed by the define constants like <tt class="LITERAL">COLOR_BLACK</tt> - etc. Now to actually start using colors, you have to define - pairs. Colors are always used in pairs. That means you have - to use the function <tt class="LITERAL">init_pair()</tt> to - define the foreground and background for the pair number - you give. After that that pair number can be used as a - normal attribute with <tt class= - "LITERAL">COLOR_PAIR()</tt>function. This may seem to be - cumbersome at first. But this elegant solution allows us to - manage color pairs very easily. To appreciate it, you have - to look into the the source code of "dialog", a utility for - displaying dialog boxes from shell scripts. The developers - have defined foreground and background combinations for all - the colors they might need and initialized at the - beginning. This makes it very easy to set attributes just - by accessing a pair which we already have defined as a - constant.</p> + , etc. Now to actually start using colors, you have to + define pairs. Colors are always used in pairs. That means + you have to use the function <tt class= + "LITERAL">init_pair()</tt> to define the foreground and + background for the pair number you give. After that that + pair number can be used as a normal attribute with + <tt class="LITERAL">COLOR_PAIR()</tt>function. This may + seem to be cumbersome at first. But this elegant solution + allows us to manage color pairs very easily. To appreciate + it, you have to look into the the source code of "dialog", + a utility for displaying dialog boxes from shell scripts. + The developers have defined foreground and background + combinations for all the colors they might need and + initialized at the beginning. This makes it very easy to + set attributes just by accessing a pair which we already + have defined as a constant.</p> <p>The following colors are defined in <tt class= "LITERAL">curses.h</tt>. You can use these as parameters for various color functions.</p> - <pre class="PROGRAMLISTING"> - COLOR_BLACK 0 + + <pre class="PROGRAMLISTING"> COLOR_BLACK 0 COLOR_RED 1 COLOR_GREEN 2 COLOR_YELLOW 3 COLOR_BLUE 4 COLOR_MAGENTA 5 COLOR_CYAN 6 - COLOR_WHITE 7 -</pre> + COLOR_WHITE 7</pre> </div> <div class="SECT2"> @@ -2667,12 +2628,11 @@ void print_in_middle(WINDOW *win, int starty, int startx, int width, char *strin curses initially. Say you wanted to lighten the intensity of red color by a minuscule. Then you can use this function as</p> - <pre class="PROGRAMLISTING"> - init_color(COLOR_RED, 700, 0, 0); - /* param 1 : color name - * param 2, 3, 4 : rgb content min = 0, max = 1000 */ -</pre> + <pre class= + "PROGRAMLISTING"> init_color(COLOR_RED, 700, 0, 0); + /* param 1 : color name + * param 2, 3, 4 : rgb content min = 0, max = 1000 */</pre> <p>If your terminal cannot change the color definitions, the function returns ERR. The function <tt class= "LITERAL">can_change_color()</tt> can be used to find out @@ -2710,14 +2670,14 @@ void print_in_middle(WINDOW *win, int starty, int startx, int width, char *strin sensitive to key presses or the mouse actions done by the user. Let's deal with the keys first.</p> - <p>As you have seen in almost all of the above examples, - it's very easy to get key input from the user. A simple way + <p>As you have seen in almost all of the above examples, it + is very easy to get key input from the user. A simple way of getting key presses is to use <tt class= "LITERAL">getch()</tt> function. The cbreak mode should be enabled to read keys when you are interested in reading individual key hits rather than complete lines of text (which usually end with a carriage return). keypad should - be enabled to get the Functions keys, arrow keys etc. See + be enabled to get the Functions keys, arrow keys, etc. See the initialization section for details.</p> <p><tt class="LITERAL">getch()</tt> returns an integer @@ -2731,12 +2691,10 @@ void print_in_middle(WINDOW *win, int starty, int startx, int width, char *strin keys portable and easy to manage.</p> <p>For example, if you call getch() like this</p> - <pre class="PROGRAMLISTING"> - int ch; - ch = getch(); -</pre> + <pre class="PROGRAMLISTING"> int ch; + ch = getch();</pre> <p>getch() will wait for the user to press a key, (unless you specified a timeout) and when user presses a key, the corresponding integer is returned. Then you can check the @@ -2744,11 +2702,9 @@ void print_in_middle(WINDOW *win, int starty, int startx, int width, char *strin match against the keys you want.</p> <p>The following code piece will do that job.</p> - <pre class="PROGRAMLISTING"> - if(ch == KEY_LEFT) - printw("Left arrow is pressed\n"); -</pre> + <pre class="PROGRAMLISTING"> if(ch == KEY_LEFT) + printw("Left arrow is pressed\n");</pre> <p>Let's write a small program which creates a menu which can be navigated by up and down arrows.</p> </div> @@ -2761,11 +2717,11 @@ void print_in_middle(WINDOW *win, int starty, int startx, int width, char *strin <div class="EXAMPLE"> <a name="BSIKE" id="BSIKE"></a> + <p><b>Example 10. A Simple Key Usage example</b> + </p> - <p><b>Example 10. A Simple Key Usage example</b></p> - <pre class="PROGRAMLISTING"> -<span class="INLINEMEDIAOBJECT">#include <stdio.h> -#include <ncurses.h> + <pre class="PROGRAMLISTING"><span class= + "INLINEMEDIAOBJECT">#include <curses.h> #define WIDTH 30 #define HEIGHT 10 @@ -2820,7 +2776,7 @@ int main() choice = highlight; break; default: - mvprintw(24, 0, "Charcter pressed is = %3d Hopefully it can be printed as '%c'", c, c); + mvprintw(24, 0, "Character pressed is = %3d Hopefully it can be printed as '%c'", c, c); refresh(); break; } @@ -2835,7 +2791,6 @@ int main() return 0; } - void print_menu(WINDOW *menu_win, int highlight) { int x, y, i; @@ -2855,8 +2810,7 @@ void print_menu(WINDOW *menu_win, int highlight) } wrefresh(menu_win); } -</span> -</pre> +</span></pre> </div> </div> </div> @@ -2880,11 +2834,10 @@ void print_menu(WINDOW *menu_win, int highlight) <p>Before you do any thing else, the events you want to receive have to be enabled with <tt class= "LITERAL">mousemask()</tt>.</p> - <pre class="PROGRAMLISTING"> - mousemask( mmask_t newmask, /* The events you want to listen to */ - mmask_t *oldmask) /* The old events mask */ -</pre> + <pre class= + "PROGRAMLISTING"> mousemask( mmask_t newmask, /* The events you want to listen to */ + mmask_t *oldmask) /* The old events mask */</pre> <p>The first parameter to above function is a bit mask of events you would like to listen. By default, all the events are turned off. The bit mask <tt class= @@ -2892,8 +2845,8 @@ void print_menu(WINDOW *menu_win, int highlight) events.</p> <p>The following are all the event masks:</p> - <pre class="PROGRAMLISTING"> - Name Description + + <pre class="PROGRAMLISTING"> Name Description --------------------------------------------------------------------- BUTTON1_PRESSED mouse button 1 down BUTTON1_RELEASED mouse button 1 up @@ -2919,8 +2872,7 @@ void print_menu(WINDOW *menu_win, int highlight) BUTTON_CTRL control was down during button state change BUTTON_ALT alt was down during button state change ALL_MOUSE_EVENTS report all button state changes - REPORT_MOUSE_POSITION report mouse movement -</pre> + REPORT_MOUSE_POSITION report mouse movement</pre> </div> <div class="SECT2"> @@ -2935,38 +2887,34 @@ void print_menu(WINDOW *menu_win, int highlight) <tt class="LITERAL">getmouse()</tt>.</p> <p>The code approximately looks like this:</p> - <pre class="PROGRAMLISTING"> - MEVENT event; + + <pre class="PROGRAMLISTING"> MEVENT event; ch = getch(); if(ch == KEY_MOUSE) if(getmouse(&event) == OK) . /* Do some thing with the event */ . - . -</pre> - + .</pre> <p>getmouse() returns the event into the pointer given to - it. It's a structure which contains</p> - <pre class="PROGRAMLISTING"> - typedef struct + it. It is a structure which contains</p> + + <pre class="PROGRAMLISTING"> typedef struct { short id; /* ID to distinguish multiple devices */ int x, y, z; /* event coordinates */ mmask_t bstate; /* button state bits */ - } -</pre> - + } </pre> <p>The <tt class="LITERAL">bstate</tt> is the main variable we are interested in. It tells the button state of the mouse.</p> <p>Then with a code snippet like the following, we can find out what happened.</p> - <pre class="PROGRAMLISTING"> - if(event.bstate & BUTTON1_PRESSED) - printw("Left Button Pressed"); -</pre> + + <pre class= + "PROGRAMLISTING"> if(event.bstate & BUTTON1_PRESSED) + printw("Left Button Pressed");</pre> </div> <div class="SECT2"> @@ -2981,13 +2929,15 @@ void print_menu(WINDOW *menu_win, int highlight) <div class="EXAMPLE"> <a name="BMOME" id="BMOME"></a> + <p><b>Example 11. Access the menu with mouse !!!</b> + </p> - <p><b>Example 11. Access the menu with mouse !!!</b></p> - <pre class="PROGRAMLISTING"> -<span class="INLINEMEDIAOBJECT">#include <ncurses.h> + <pre class="PROGRAMLISTING"><span class= + "INLINEMEDIAOBJECT">#include <string.h> +#include <curses.h> #define WIDTH 30 -#define HEIGHT 10 +#define HEIGHT 10 int startx = 0; int starty = 0; @@ -3018,7 +2968,7 @@ int main() /* Try to put the window in the middle of screen */ startx = (80 - WIDTH) / 2; starty = (24 - HEIGHT) / 2; - + attron(A_REVERSE); mvprintw(23, 1, "Click on Exit to quit (Works best in a virtual console)"); refresh(); @@ -3026,10 +2976,11 @@ int main() /* Print the menu for the first time */ menu_win = newwin(HEIGHT, WIDTH, starty, startx); + keypad(menu_win, TRUE); print_menu(menu_win, 1); /* Get all the mouse events */ mousemask(ALL_MOUSE_EVENTS, NULL); - + while(1) { c = wgetch(menu_win); switch(c) @@ -3041,29 +2992,28 @@ int main() if(choice == -1) //Exit chosen goto end; mvprintw(22, 1, "Choice made is : %d String Chosen is \"%10s\"", choice, choices[choice - 1]); - refresh(); + refresh(); } } print_menu(menu_win, choice); break; } - } + } end: endwin(); return 0; } - void print_menu(WINDOW *menu_win, int highlight) { - int x, y, i; + int x, y, i; x = 2; y = 2; box(menu_win, 0, 0); for(i = 0; i < n_choices; ++i) { if(highlight == i + 1) - { wattron(menu_win, A_REVERSE); + { wattron(menu_win, A_REVERSE); mvwprintw(menu_win, y, x, "%s", choices[i]); wattroff(menu_win, A_REVERSE); } @@ -3080,17 +3030,16 @@ void report_choice(int mouse_x, int mouse_y, int *p_choice) i = startx + 2; j = starty + 3; - + for(choice = 0; choice < n_choices; ++choice) if(mouse_y == j + choice && mouse_x >= i && mouse_x <= i + strlen(choices[choice])) { if(choice == n_choices - 1) - *p_choice = -1; + *p_choice = -1; else - *p_choice = choice + 1; + *p_choice = choice + 1; break; } -}</span> -</pre> +}</span></pre> </div> </div> @@ -3134,18 +3083,16 @@ void report_choice(int mouse_x, int mouse_y, int *p_choice) fill the values of x and y co-ordinates in the arguments given to it. Since getyx() is a macro you don't have to pass the address of the variables. It can be called as</p> - <pre class="PROGRAMLISTING"> - getyx(win, y, x); + + <pre class="PROGRAMLISTING"> getyx(win, y, x); /* win: window pointer * y, x: y, x co-ordinates will be put into this variables - */ -</pre> - + */</pre> <p>The function getparyx() gets the beginning co-ordinates of the sub window relative to the main window. This is some times useful to update a sub window. When designing fancy stuff like writing multiple menus, it becomes difficult to - store the menu positions, their first option co-ordinates + store the menu positions, their first option co-ordinates, etc. A simple solution to this problem, is to create menus in sub windows and later find the starting co-ordinates of the menus by using getparyx().</p> @@ -3188,7 +3135,7 @@ void report_choice(int mouse_x, int mouse_y, int *p_choice) used to copy a window completely onto another window. It takes the source and destination windows as parameters and according to the rectangle specified, it copies the - rectangular region from source to destination window. It's + rectangular region from source to destination window. Its last parameter specifies whether to overwrite or just overlay the contents on to the destination window. If this argument is true, then the copying is non-destructive.</p> @@ -3214,11 +3161,10 @@ void report_choice(int mouse_x, int mouse_y, int *p_choice) <p>This function can be used to make the cursor invisible. The parameter to this function should be</p> - <pre class="PROGRAMLISTING"> - 0 : invisible or + + <pre class="PROGRAMLISTING"> 0 : invisible or 1 : normal or - 2 : very visible. -</pre> + 2 : very visible.</pre> </div> <div class="SECT2"> @@ -3242,10 +3188,12 @@ void report_choice(int mouse_x, int mouse_y, int *p_choice) <div class="EXAMPLE"> <a name="BTELE" id="BTELE"></a> + <p><b>Example 12. Temporarily Leaving Curses Mode</b> + </p> - <p><b>Example 12. Temporarily Leaving Curses Mode</b></p> - <pre class="PROGRAMLISTING"> -<span class="INLINEMEDIAOBJECT">#include <ncurses.h> + <pre class="PROGRAMLISTING"><span class= + "INLINEMEDIAOBJECT">#include <stdlib.h> +#include <curses.h> int main() { @@ -3264,8 +3212,7 @@ int main() endwin(); /* End curses mode */ return 0; -}</span> -</pre> +}</span></pre> </div> </div> @@ -3281,15 +3228,16 @@ int main() <tt class="LITERAL">box()</tt> use these characters. All these variables start with ACS meaning alternative character set. You might have noticed me using these - characters in some of the programs above. Here's an example - showing all the characters.</p> + characters in some of the programs above. Here is an + example showing all the characters.</p> <div class="EXAMPLE"> <a name="BACSVARS" id="BACSVARS"></a> + <p><b>Example 13. ACS Variables Example</b> + </p> - <p><b>Example 13. ACS Variables Example</b></p> - <pre class="PROGRAMLISTING"> -<span class="INLINEMEDIAOBJECT">#include <ncurses.h> + <pre class="PROGRAMLISTING"><span class= + "INLINEMEDIAOBJECT">#include <curses.h> int main() { @@ -3332,8 +3280,7 @@ int main() endwin(); return 0; -}</span> -</pre> +}</span></pre> </div> </div> </div> @@ -3365,14 +3312,15 @@ int main() create blotches, whenever you forget to refresh the windows in the proper order.</p> - <p>Don't despair. There's an elegant solution provided in + <p>Don't despair. There is an elegant solution provided in panels library. In the words of developers of ncurses</p> <p><span class="emphasis"><i class="EMPHASIS">When your interface design is such that windows may dive deeper into the visibility stack or pop to the top at runtime, the resulting book-keeping can be tedious and difficult to get - right. Hence the panels library.</i></span></p> + right. Hence the panels library.</i></span> + </p> <p>If you have lot of overlapping windows, then panels library is the way to go. It obviates the need of doing @@ -3397,7 +3345,7 @@ int main() to display them correctly. There is a function similar to refresh() which, when called , displays panels in the correct order. Functions are provided to hide or show - panels, move panels, change its size etc.. The overlapping + panels, move panels, change its size, etc. The overlapping problem is managed by the panels library during all the calls to these functions.</p> @@ -3423,7 +3371,7 @@ int main() <li> <p>Mainpulate the panels with show_panel(), - hide_panel(), move_panel() etc. Make use of helper + hide_panel(), move_panel(), etc. Make use of helper functions like panel_hidden() and panel_window(). Make use of user pointer to store custom data for a panel. Use the functions set_panel_userptr() and @@ -3446,28 +3394,26 @@ int main() <hr> <h3 class="SECT2"><a name="COMPILEPANELS" id= - "COMPILEPANELS">16.2. Compiling With the Panels - Library</a></h3> + "COMPILEPANELS">16.2. Compiling With the Panels Library</a></h3> <p>To use panels library functions, you have to include panel.h and to link the program with panels library the flag -lpanel should be added along with -lncurses in that order.</p> - <pre class="PROGRAMLISTING"> - #include <panel.h> + + <pre class="PROGRAMLISTING"> #include <panel.h> . . . - compile and link: gcc <program file> -lpanel -lncurses -</pre> - + compile and link: gcc <program file> -lpanel -lncurses</pre> <div class="EXAMPLE"> <a name="PPASI" id="PPASI"></a> + <p><b>Example 14. Panel basics</b> + </p> - <p><b>Example 14. Panel basics</b></p> - <pre class="PROGRAMLISTING"> -<span class="INLINEMEDIAOBJECT">#include <panel.h> + <pre class="PROGRAMLISTING"><span class= + "INLINEMEDIAOBJECT">#include <panel.h> int main() { WINDOW *my_wins[3]; @@ -3504,8 +3450,7 @@ int main() getch(); endwin(); } -</span> -</pre> +</span></pre> </div> <p>As you can see, above program follows a simple flow as @@ -3528,10 +3473,12 @@ int main() <div class="EXAMPLE"> <a name="PPABR" id="PPABR"></a> + <p><b>Example 15. Panel Window Browsing Example</b> + </p> - <p><b>Example 15. Panel Window Browsing Example</b></p> - <pre class="PROGRAMLISTING"> -<span class="INLINEMEDIAOBJECT">#include <panel.h> + <pre class="PROGRAMLISTING"><span class= + "INLINEMEDIAOBJECT">#include <string.h> +#include <panel.h> #define NLINES 10 #define NCOLS 40 @@ -3647,8 +3594,7 @@ void print_in_middle(WINDOW *win, int starty, int startx, int width, char *strin mvwprintw(win, y, x, "%s", string); wattroff(win, color); refresh(); -}</span> -</pre> +}</span></pre> </div> </div> @@ -3668,7 +3614,7 @@ void print_in_middle(WINDOW *win, int starty, int startx, int width, char *strin can be accessed using the function <tt class= "LITERAL">panel_userptr()</tt> which will return the user pointer for the panel given as argument. After finding the - next panel in the cycle It's brought to the top by the + next panel in the cycle, it is brought to the top by the function top_panel(). This function brings the panel given as argument to the top of the panel stack.</p> </div> @@ -3705,11 +3651,13 @@ void print_in_middle(WINDOW *win, int starty, int startx, int width, char *strin <div class="EXAMPLE"> <a name="PPARE" id="PPARE"></a> + <p><b>Example 16. Panel Moving and Resizing example</b> + </p> - <p><b>Example 16. Panel Moving and Resizing - example</b></p> - <pre class="PROGRAMLISTING"> -<span class="INLINEMEDIAOBJECT">#include <panel.h> + <pre class="PROGRAMLISTING"><span class= + "INLINEMEDIAOBJECT">#include <stdlib.h> +#include <string.h> +#include <panel.h> typedef struct _PANEL_DATA { int x, y, w, h; @@ -3942,8 +3890,7 @@ void print_in_middle(WINDOW *win, int starty, int startx, int width, char *strin mvwprintw(win, y, x, "%s", string); wattroff(win, color); refresh(); -}</span> -</pre> +}</span></pre> </div> <p>Concentrate on the main while loop. Once it finds out @@ -3953,7 +3900,7 @@ void print_in_middle(WINDOW *win, int starty, int startx, int width, char *strin the user presses <ENTER> present selection ends and panel is resized by using the concept explained. While in resizing mode the program doesn't show how the window is - getting resized. It's left as an exercise to the reader to + getting resized. It is left as an exercise to the reader to print a dotted border while it gets resized to a new position.</p> @@ -3997,11 +3944,12 @@ void print_in_middle(WINDOW *win, int starty, int startx, int width, char *strin <div class="EXAMPLE"> <a name="PPAHI" id="PPAHI"></a> + <p><b>Example 17. Panel Hiding and Showing example</b> + </p> - <p><b>Example 17. Panel Hiding and Showing - example</b></p> - <pre class="PROGRAMLISTING"> -<span class="INLINEMEDIAOBJECT">#include <panel.h> + <pre class="PROGRAMLISTING"><span class= + "INLINEMEDIAOBJECT">#include <string.h> +#include <panel.h> typedef struct _PANEL_DATA { int hide; /* TRUE if panel is hidden */ @@ -4041,7 +3989,7 @@ int main() my_panels[1] = new_panel(my_wins[1]); /* Push 1, order: stdscr-0-1 */ my_panels[2] = new_panel(my_wins[2]); /* Push 2, order: stdscr-0-1-2 */ - /* Initialize panel datas saying that nothing is hidden */ + /* Initialize panel data saying that nothing is hidden */ panel_datas[0].hide = FALSE; panel_datas[1].hide = FALSE; panel_datas[2].hide = FALSE; @@ -4156,8 +4104,7 @@ void print_in_middle(WINDOW *win, int starty, int startx, int width, char *strin mvwprintw(win, y, x, "%s", string); wattroff(win, color); refresh(); -}</span> -</pre> +}</span></pre> </div> </div> @@ -4185,7 +4132,7 @@ void print_in_middle(WINDOW *win, int starty, int startx, int width, char *strin <p>The menus library provides a nice extension to basic curses, through which you can create menus. It provides a set of functions to create menus. But they have to be customized - to give a nicer look, with colors etc. Let's get into the + to give a nicer look, with colors, etc. Let's get into the details.</p> <p>A menu is a screen display that assists the user to choose @@ -4262,28 +4209,27 @@ void print_in_middle(WINDOW *win, int starty, int startx, int width, char *strin <hr> <h3 class="SECT2"><a name="COMPILEMENUS" id= - "COMPILEMENUS">17.2. Compiling With the Menu - Library</a></h3> + "COMPILEMENUS">17.2. Compiling With the Menu Library</a></h3> <p>To use menu library functions, you have to include menu.h and to link the program with menu library the flag -lmenu should be added along with -lncurses in that order.</p> - <pre class="PROGRAMLISTING"> - #include <menu.h> + + <pre class="PROGRAMLISTING"> #include <menu.h> . . . - compile and link: gcc <program file> -lmenu -lncurses -</pre> - + compile and link: gcc <program file> -lmenu -lncurses</pre> <div class="EXAMPLE"> <a name="MMESI" id="MMESI"></a> + <p><b>Example 18. Menu Basics</b> + </p> - <p><b>Example 18. Menu Basics</b></p> - <pre class="PROGRAMLISTING"> -<span class="INLINEMEDIAOBJECT">#include <curses.h> + <pre class="PROGRAMLISTING"><span class= + "INLINEMEDIAOBJECT">#include <stdlib.h> +#include <curses.h> #include <menu.h> #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) @@ -4338,8 +4284,7 @@ int main() free_menu(my_menu); endwin(); } - </span> -</pre> + </span></pre> </div> <p>This program demonstrates the basic concepts involved in @@ -4357,8 +4302,9 @@ int main() <p>The menu_driver accepts following navigational requests.</p> - <pre class="PROGRAMLISTING"> - REQ_LEFT_ITEM Move left to an item. + + <pre class= + "PROGRAMLISTING"> REQ_LEFT_ITEM Move left to an item. REQ_RIGHT_ITEM Move right to an item. REQ_UP_ITEM Move up to an item. REQ_DOWN_ITEM Move down to an item. @@ -4374,9 +4320,7 @@ int main() REQ_CLEAR_PATTERN Clear the menu pattern buffer. REQ_BACK_PATTERN Delete the previous character from the pattern buffer. REQ_NEXT_MATCH Move to the next item matching the pattern match. - REQ_PREV_MATCH Move to the previous item matching the pattern match. -</pre> - + REQ_PREV_MATCH Move to the previous item matching the pattern match. </pre> <p>Don't get overwhelmed by the number of options. We will see them slowly one after another. The options of interest in this example are REQ_UP_ITEM and REQ_DOWN_ITEM. These @@ -4402,8 +4346,8 @@ int main() <ul> <li> <p><span class="emphasis"><i class= - "EMPHASIS">REQ_LEFT_ITEM and - REQ_RIGHT_ITEM</i></span></p> + "EMPHASIS">REQ_LEFT_ITEM and REQ_RIGHT_ITEM</i></span> + </p> <p>A Menu can be displayed with multiple columns for more than one item. This can be done by using the @@ -4415,7 +4359,8 @@ int main() <li> <p><span class="emphasis"><i class= - "EMPHASIS">REQ_UP_ITEM and REQ_DOWN_ITEM</i></span></p> + "EMPHASIS">REQ_UP_ITEM and REQ_DOWN_ITEM</i></span> + </p> <p>These two options you have seen in the above example. These options when given, makes the @@ -4425,7 +4370,8 @@ int main() <li> <p><span class="emphasis"><i class="EMPHASIS">REQ_SCR_* - options</i></span></p> + options</i></span> + </p> <p>The four options REQ_SCR_ULINE, REQ_SCR_DLINE, REQ_SCR_DPAGE, REQ_SCR_UPAGE are related to scrolling. @@ -4439,14 +4385,16 @@ int main() <li> <p><span class="emphasis"><i class= "EMPHASIS">REQ_FIRST_ITEM, REQ_LAST_ITEM, REQ_NEXT_ITEM - and REQ_PREV_ITEM</i></span></p> + and REQ_PREV_ITEM</i></span> + </p> <p>These requests are self explanatory.</p> </li> <li> <p><span class="emphasis"><i class= - "EMPHASIS">REQ_TOGGLE_ITEM</i></span></p> + "EMPHASIS">REQ_TOGGLE_ITEM</i></span> + </p> <p>This request when given, toggles the present selection. This option is to be used only in a multi @@ -4457,7 +4405,8 @@ int main() <li> <p><span class="emphasis"><i class="EMPHASIS">Pattern - Requests</i></span></p> + Requests</i></span> + </p> <p>Every menu has an associated pattern buffer, which is used to find the nearest match to the ascii @@ -4476,14 +4425,16 @@ int main() <li> <p><span class="emphasis"><i class="EMPHASIS">Mouse - Requests</i></span></p> + Requests</i></span> + </p> <p>In case of KEY_MOUSE requests, according to the mouse position an action is taken accordingly. The action to be taken is explained in the man page as,</p> - <pre class="PROGRAMLISTING"> -<span class="emphasis"><i class= -"EMPHASIS"> If the second argument is the KEY_MOUSE special key, the + + <pre class="PROGRAMLISTING"><span class= + "emphasis"><i class= + "EMPHASIS"> If the second argument is the KEY_MOUSE special key, the associated mouse event is translated into one of the above pre-defined requests. Currently only clicks in the user window (e.g. inside the menu display area or the decora­ @@ -4495,8 +4446,7 @@ int main() generated, if you doubleclick a REQ_SCR_DPAGE is generated and if you tripleclick a REQ_LAST_ITEM is generated. If you click at an item inside the display area of the menu, - the menu cursor is positioned to that item.</i></span> -</pre> + the menu cursor is positioned to that item.</i></span></pre> </li> </ul> @@ -4524,10 +4474,13 @@ int main() <div class="EXAMPLE"> <a name="MMEWI" id="MMEWI"></a> + <p><b>Example 19. Menu Windows Usage example</b> + </p> - <p><b>Example 19. Menu Windows Usage example</b></p> - <pre class="PROGRAMLISTING"> -<span class="INLINEMEDIAOBJECT">#include <menu.h> + <pre class="PROGRAMLISTING"><span class= + "INLINEMEDIAOBJECT">#include <stdlib.h> +#include <string.h> +#include <menu.h> #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) #define CTRLD 4 @@ -4563,7 +4516,7 @@ int main() for(i = 0; i < n_choices; ++i) my_items[i] = new_item(choices[i], choices[i]); - /* Crate menu */ + /* Create menu */ my_menu = new_menu((ITEM **)my_items); /* Create the window to be associated with the menu */ @@ -4631,8 +4584,7 @@ void print_in_middle(WINDOW *win, int starty, int startx, int width, char *strin mvwprintw(win, y, x, "%s", string); wattroff(win, color); refresh(); -}</span> -</pre> +}</span></pre> </div> <p>This example creates a menu with a title, border, a @@ -4660,10 +4612,13 @@ void print_in_middle(WINDOW *win, int starty, int startx, int width, char *strin <div class="EXAMPLE"> <a name="MMESC" id="MMESC"></a> + <p><b>Example 20. Scrolling Menus example</b> + </p> - <p><b>Example 20. Scrolling Menus example</b></p> - <pre class="PROGRAMLISTING"> -<span class="INLINEMEDIAOBJECT">#include <curses.h> + <pre class="PROGRAMLISTING"><span class= + "INLINEMEDIAOBJECT">#include <stdlib.h> +#include <string.h> +#include <curses.h> #include <menu.h> #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) @@ -4707,7 +4662,7 @@ int main() for(i = 0; i < n_choices; ++i) my_items[i] = new_item(choices[i], choices[i]); - /* Crate menu */ + /* Create menu */ my_menu = new_menu((ITEM **)my_items); /* Create the window to be associated with the menu */ @@ -4734,7 +4689,7 @@ int main() wrefresh(my_menu_win); attron(COLOR_PAIR(2)); - mvprintw(LINES - 2, 0, "Use PageUp and PageDown to scoll down or up a page of items"); + mvprintw(LINES - 2, 0, "Use PageUp and PageDown to scroll down or up a page of items"); mvprintw(LINES - 1, 0, "Arrow Keys to navigate (F1 to Exit)"); attroff(COLOR_PAIR(2)); refresh(); @@ -4786,8 +4741,7 @@ void print_in_middle(WINDOW *win, int starty, int startx, int width, char *strin mvwprintw(win, y, x, "%s", string); wattroff(win, color); refresh(); -}</span> -</pre> +}</span></pre> </div> <p>This program is self-explanatory. In this example the @@ -4820,10 +4774,12 @@ void print_in_middle(WINDOW *win, int starty, int startx, int width, char *strin <div class="EXAMPLE"> <a name="MMEMUCO" id="MMEMUCO"></a> + <p><b>Example 21. Milt Columnar Menus Example</b> + </p> - <p><b>Example 21. Milt Columnar Menus Example</b></p> - <pre class="PROGRAMLISTING"> -<span class="INLINEMEDIAOBJECT">#include <curses.h> + <pre class="PROGRAMLISTING"><span class= + "INLINEMEDIAOBJECT">#include <stdlib.h> +#include <curses.h> #include <menu.h> #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) @@ -4860,7 +4816,7 @@ int main() for(i = 0; i < n_choices; ++i) my_items[i] = new_item(choices[i], choices[i]); - /* Crate menu */ + /* Create menu */ my_menu = new_menu((ITEM **)my_items); /* Set menu option not to show the description */ @@ -4919,8 +4875,7 @@ int main() for(i = 0; i < n_choices; ++i) free_item(my_items[i]); endwin(); -}</span> -</pre> +}</span></pre> </div> <p>Watch the function call to set_menu_format(). It @@ -4930,8 +4885,8 @@ int main() couple of functions set_menu_opts(), menu_opts_on() and menu_opts() which can be used to manipulate menu options. The following menu options can be specified.</p> - <pre class="PROGRAMLISTING"> - O_ONEVALUE + + <pre class="PROGRAMLISTING"> O_ONEVALUE Only one item can be selected for this menu. O_SHOWDESC @@ -4950,9 +4905,7 @@ int main() O_NONCYCLIC Don't wrap around next-item and previous-item, - requests to the other end of the menu. -</pre> - + requests to the other end of the menu.</pre> <p>All options are on by default. You can switch specific attributes on or off with menu_opts_on() and menu_opts_off() functions. You can also use set_menu_opts() @@ -4975,10 +4928,13 @@ int main() <div class="EXAMPLE"> <a name="MMETO" id="MMETO"></a> + <p><b>Example 22. Multi Valued Menus example</b> + </p> - <p><b>Example 22. Multi Valued Menus example</b></p> - <pre class="PROGRAMLISTING"> -<span class="INLINEMEDIAOBJECT">#include <curses.h> + <pre class="PROGRAMLISTING"><span class= + "INLINEMEDIAOBJECT">#include <stdlib.h> +#include <string.h> +#include <curses.h> #include <menu.h> #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) @@ -5061,8 +5017,7 @@ int main() free_menu(my_menu); endwin(); } - </span> -</pre> + </span></pre> </div> <p>Whew, A lot of new functions. Let's take them one after @@ -5106,16 +5061,18 @@ int main() This brings us to the interesting option for an item the one and only O_SELECTABLE. We can turn it off by the function item_opts_off() and after that that item is not - selectable. It's like a grayed item in those fancy windows + selectable. It is like a grayed item in those fancy windows menus. Let's put these concepts in practice with this example</p> <div class="EXAMPLE"> <a name="MMEAT" id="MMEAT"></a> + <p><b>Example 23. Menu Options example</b> + </p> - <p><b>Example 23. Menu Options example</b></p> - <pre class="PROGRAMLISTING"> -<span class="INLINEMEDIAOBJECT">#include <menu.h> + <pre class="PROGRAMLISTING"><span class= + "INLINEMEDIAOBJECT">#include <stdlib.h> +#include <menu.h> #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) #define CTRLD 4 @@ -5167,7 +5124,7 @@ int main() /* Post the menu */ mvprintw(LINES - 3, 0, "Press <ENTER> to see the option selected"); - mvprintw(LINES - 2, 0, "Up and Down arrow keys to naviage (F1 to Exit)"); + mvprintw(LINES - 2, 0, "Up and Down arrow keys to navigate (F1 to Exit)"); post_menu(my_menu); refresh(); @@ -5194,8 +5151,7 @@ int main() free_menu(my_menu); endwin(); } - </span> -</pre> + </span></pre> </div> </div> @@ -5206,18 +5162,20 @@ int main() "MENUUSERPTR">17.9. The useful User Pointer</a></h3> <p>We can associate a user pointer with each item in the - menu. It works the same way as user pointer in panels. It's - not touched by menu system. You can store any thing you + menu. It works the same way as user pointer in panels. It + is not touched by menu system. You can store any thing you like in that. I usually use it to store the function to be - executed when the menu option is chosen (It's selected and + executed when the menu option is chosen (It is selected and may be the user pressed <ENTER>);</p> <div class="EXAMPLE"> <a name="MMEUS" id="MMEUS"></a> + <p><b>Example 24. Menu User Pointer Usage</b> + </p> - <p><b>Example 24. Menu User Pointer Usage</b></p> - <pre class="PROGRAMLISTING"> -<span class="INLINEMEDIAOBJECT">#include <curses.h> + <pre class="PROGRAMLISTING"><span class= + "INLINEMEDIAOBJECT">#include <stdlib.h> +#include <curses.h> #include <menu.h> #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) @@ -5267,7 +5225,7 @@ int main() /* Post the menu */ mvprintw(LINES - 3, 0, "Press <ENTER> to see the option selected"); - mvprintw(LINES - 2, 0, "Up and Down arrow keys to naviage (F1 to Exit)"); + mvprintw(LINES - 2, 0, "Up and Down arrow keys to navigate (F1 to Exit)"); post_menu(my_menu); refresh(); @@ -5303,8 +5261,7 @@ void func(char *name) { move(20, 0); clrtoeol(); mvprintw(20, 0, "Item selected is : %s", name); -} </span> -</pre> +} </span></pre> </div> </div> </div> @@ -5318,11 +5275,11 @@ void func(char *name) <p>Well. If you have seen those forms on web pages which take input from users and do various kinds of things, you might be wondering how would any one create such forms in text mode - display. It's quite difficult to write those nifty forms in + display. It is quite difficult to write those nifty forms in plain ncurses. Forms library tries to provide a basic frame work to build and maintain forms with ease. It has lot of features(functions) which manage validation, dynamic - expansion of fields etc.. Let's see it in full flow.</p> + expansion of fields, etc. Let's see it in full flow.</p> <p>A form is a collection of fields; each field can be either a label(static text) or a data-entry location. The forms also @@ -5339,13 +5296,13 @@ void func(char *name) the fields related to the form are created with new_field(). You can set options for the fields, so that they can be displayed with some fancy attributes, validated - before the field looses focus etc.. Then the fields are + before the field looses focus, etc. Then the fields are attached to form. After this, the form can be posted to display and is ready to receive inputs. On the similar lines to menu_driver(), the form is manipulated with form_driver(). We can send requests to form_driver to move focus to a certain field, move cursor to end of the field - etc.. After the user enters values in the fields and + etc. After the user enters values in the fields and validation done, form can be unposted and memory allocated can be freed.</p> @@ -5406,28 +5363,26 @@ void func(char *name) <hr> <h3 class="SECT2"><a name="COMPILEFORMS" id= - "COMPILEFORMS">18.2. Compiling With the Forms - Library</a></h3> + "COMPILEFORMS">18.2. Compiling With the Forms Library</a></h3> <p>To use forms library functions, you have to include form.h and to link the program with forms library the flag -lform should be added along with -lncurses in that order.</p> - <pre class="PROGRAMLISTING"> - #include <form.h> + + <pre class="PROGRAMLISTING"> #include <form.h> . . . - compile and link: gcc <program file> -lform -lncurses -</pre> - + compile and link: gcc <program file> -lform -lncurses</pre> <div class="EXAMPLE"> <a name="FFOSI" id="FFOSI"></a> + <p><b>Example 25. Forms Basics</b> + </p> - <p><b>Example 25. Forms Basics</b></p> - <pre class="PROGRAMLISTING"> -<span class="INLINEMEDIAOBJECT">#include <form.h> + <pre class="PROGRAMLISTING"><span class= + "INLINEMEDIAOBJECT">#include <form.h> int main() { FIELD *field[3]; @@ -5492,8 +5447,7 @@ int main() endwin(); return 0; -}</span> -</pre> +}</span></pre> </div> <p>Above example is pretty straight forward. It creates two @@ -5545,13 +5499,13 @@ int main() height, width, starty, startx, number of offscreen rows, and number of additional buffers into the parameters given to it. It is a sort of inverse of new_field().</p> - <pre class="PROGRAMLISTING"> -int field_info( FIELD *field, /* field from which to fetch */ + + <pre class= + "PROGRAMLISTING">int field_info( FIELD *field, /* field from which to fetch */ int *height, *int width, /* field size */ int *top, int *left, /* upper left corner */ int *offscreen, /* number of offscreen rows */ - int *nbuf); /* number of working buffers */ -</pre> + int *nbuf); /* number of working buffers */</pre> </div> <div class="SECT3"> @@ -5562,11 +5516,10 @@ int field_info( FIELD *field, /* field from which to fetch */ <p>The location of the field can be moved to a different position with move_field().</p> - <pre class="PROGRAMLISTING"> -int move_field( FIELD *field, /* field to alter */ - int top, int left); /* new upper-left corner */ -</pre> + <pre class= + "PROGRAMLISTING">int move_field( FIELD *field, /* field to alter */ + int top, int left); /* new upper-left corner */</pre> <p>As usual, the changed position can be queried with field_infor().</p> </div> @@ -5579,12 +5532,11 @@ int move_field( FIELD *field, /* field to alter */ <p>The justification to be done for the field can be fixed using the function set_field_just().</p> - <pre class="PROGRAMLISTING"> - int set_field_just(FIELD *field, /* field to alter */ - int justmode); /* mode to set */ - int field_just(FIELD *field); /* fetch justify mode of field */ -</pre> + <pre class= + "PROGRAMLISTING"> int set_field_just(FIELD *field, /* field to alter */ + int justmode); /* mode to set */ + int field_just(FIELD *field); /* fetch justify mode of field */</pre> <p>The justification mode valued accepted and returned by these functions are NO_JUSTIFICATION, JUSTIFY_RIGHT, JUSTIFY_LEFT, or JUSTIFY_CENTER.</p> @@ -5594,8 +5546,7 @@ int move_field( FIELD *field, /* field to alter */ <hr> <h4 class="SECT3"><a name="FIELDDISPATTRIB" id= - "FIELDDISPATTRIB">18.3.4. Field Display - Attributes</a></h4> + "FIELDDISPATTRIB">18.3.4. Field Display Attributes</a></h4> <p>As you have seen, in the above example, display attribute for the fields can be set with set_field_fore() @@ -5608,8 +5559,9 @@ int move_field( FIELD *field, /* field to alter */ be used to query the present foreground, background attributes and pad character for the field. The following list gives the usage of functions.</p> - <pre class="PROGRAMLISTING"> - int set_field_fore(FIELD *field, /* field to alter */ + + <pre class= + "PROGRAMLISTING"> int set_field_fore(FIELD *field, /* field to alter */ chtype attr); /* attribute to set */ chtype field_fore(FIELD *field); /* field to query */ @@ -5625,9 +5577,7 @@ int set_field_pad(FIELD *field, /* field to alter */ int pad); /* pad character to set */ chtype field_pad(FIELD *field); /* field to query */ - /* returns present pad character */ -</pre> - + /* returns present pad character */ </pre> <p>Though above functions seem quite simple, using colors with set_field_fore() may be frustrating in the beginning. Let me first explain about foreground and @@ -5643,10 +5593,11 @@ chtype field_pad(FIELD *field); /* field to query */ <div class="EXAMPLE"> <a name="FFOAT" id="FFOAT"></a> + <p><b>Example 26. Form Attributes example</b> + </p> - <p><b>Example 26. Form Attributes example</b></p> - <pre class="PROGRAMLISTING"> -<span class="INLINEMEDIAOBJECT">#include <form.h> + <pre class="PROGRAMLISTING"><span class= + "INLINEMEDIAOBJECT">#include <form.h> int main() { FIELD *field[3]; @@ -5720,8 +5671,7 @@ int main() endwin(); return 0; -}</span> -</pre> +}</span></pre> </div> <p>Play with the color pairs and try to understand the @@ -5741,8 +5691,9 @@ int main() you can set to control various aspects of forms processing. You can manipulate them with these functions:</p> - <pre class="PROGRAMLISTING"> -int set_field_opts(FIELD *field, /* field to alter */ + + <pre class= + "PROGRAMLISTING">int set_field_opts(FIELD *field, /* field to alter */ int attr); /* attribute to set */ int field_opts_on(FIELD *field, /* field to alter */ @@ -5751,9 +5702,7 @@ int field_opts_on(FIELD *field, /* field to alter */ int field_opts_off(FIELD *field, /* field to alter */ int attr); /* attributes to turn off */ -int field_opts(FIELD *field); /* field to query */ -</pre> - +int field_opts(FIELD *field); /* field to query */ </pre> <p>The function set_field_opts() can be used to directly set attributes of a field or you can choose to switch a few attributes on and off with field_opts_on() and @@ -5881,10 +5830,11 @@ int field_opts(FIELD *field); /* field to query */ <div class="EXAMPLE"> <a name="FFOOP" id="FFOOP"></a> + <p><b>Example 27. Field Options Usage example</b> + </p> - <p><b>Example 27. Field Options Usage example</b></p> - <pre class="PROGRAMLISTING"> -<span class="INLINEMEDIAOBJECT">#include <form.h> + <pre class="PROGRAMLISTING"><span class= + "INLINEMEDIAOBJECT">#include <form.h> #define STARTX 15 #define STARTY 4 @@ -5959,8 +5909,7 @@ int main() endwin(); return 0; -}</span> -</pre> +}</span></pre> </div> <p>This example, though useless, shows the usage of @@ -5982,14 +5931,13 @@ int main() becomes TRUE. So a field's status can be queried to find out whether it has been modified or not. The following functions can assist in those operations.</p> - <pre class="PROGRAMLISTING"> -int set_field_status(FIELD *field, /* field to alter */ - int status); /* status to set */ -int field_status(FIELD *field); /* fetch status of field */ -</pre> + <pre class= + "PROGRAMLISTING">int set_field_status(FIELD *field, /* field to alter */ + int status); /* status to set */ - <p>It's better to check the field's status only after +int field_status(FIELD *field); /* fetch status of field */</pre> + <p>It is better to check the field's status only after after leaving the field, as data buffer might not have been updated yet as the validation is still due. To guarantee that right status is returned, call @@ -6011,21 +5959,20 @@ int field_status(FIELD *field); /* fetch status of field */ by forms library and can be used for any purpose by the user. The following functions set and fetch user pointer.</p> - <pre class="PROGRAMLISTING"> -int set_field_userptr(FIELD *field, + + <pre class= + "PROGRAMLISTING">int set_field_userptr(FIELD *field, char *userptr); /* the user pointer you wish to associate */ /* with the field */ -char *field_userptr(FIELD *field); /* fetch user pointer of the field */ -</pre> +char *field_userptr(FIELD *field); /* fetch user pointer of the field */</pre> </div> <div class="SECT3"> <hr> <h4 class="SECT3"><a name="VARIABLESIZEFIELDS" id= - "VARIABLESIZEFIELDS">18.3.8. Variable-Sized - Fields</a></h4> + "VARIABLESIZEFIELDS">18.3.8. Variable-Sized Fields</a></h4> <p>If you want a dynamically changing field with variable width, this is the feature you want to put to full use. @@ -6038,30 +5985,27 @@ char *field_userptr(FIELD *field); /* fetch user pointer of the field */ <p>To make a field dynamically growable, the option O_STATIC should be turned off. This can be done with a</p> - <pre class="PROGRAMLISTING"> - field_opts_off(field_pointer, O_STATIC); -</pre> - <p>But it's usually not advisable to allow a field to + <pre class= + "PROGRAMLISTING"> field_opts_off(field_pointer, O_STATIC);</pre> + <p>But it is usually not advisable to allow a field to grow infinitely. You can set a maximum limit to the growth of the field with</p> - <pre class="PROGRAMLISTING"> -int set_max_field(FIELD *field, /* Field on which to operate */ - int max_growth); /* maximum growth allowed for the field */ -</pre> + <pre class= + "PROGRAMLISTING">int set_max_field(FIELD *field, /* Field on which to operate */ + int max_growth); /* maximum growth allowed for the field */</pre> <p>The field info for a dynamically growable field can be retrieved by</p> - <pre class="PROGRAMLISTING"> -int dynamic_field_info( FIELD *field, /* Field on which to operate */ + + <pre class= + "PROGRAMLISTING">int dynamic_field_info( FIELD *field, /* Field on which to operate */ int *prows, /* number of rows will be filled in this */ int *pcols, /* number of columns will be filled in this*/ int *pmax) /* maximum allowable growth will be filled */ - /* in this */ -</pre>Though field_info work as usual, it is advisable to use this -function to get the proper attributes of a dynamically growable -field. - + /* in this */</pre>Though field_info +work as usual, it is advisable to use this function to get the +proper attributes of a dynamically growable field. <p>Recall the library routine new_field; a new field created with height set to one will be defined to be a one line field. A new field created with height greater @@ -6181,10 +6125,12 @@ field. <div class="EXAMPLE"> <a name="FFOWI" id="FFOWI"></a> + <p><b>Example 28. Form Windows Example</b> + </p> - <p><b>Example 28. Form Windows Example</b></p> - <pre class="PROGRAMLISTING"> -<span class="INLINEMEDIAOBJECT">#include <form.h> + <pre class="PROGRAMLISTING"><span class= + "INLINEMEDIAOBJECT">#include <string.h> +#include <form.h> void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color); @@ -6295,8 +6241,7 @@ void print_in_middle(WINDOW *win, int starty, int startx, int width, char *strin mvwprintw(win, y, x, "%s", string); wattroff(win, color); refresh(); -}</span> -</pre> +}</span></pre> </div> </div> @@ -6316,15 +6261,15 @@ void print_in_middle(WINDOW *win, int starty, int startx, int width, char *strin <p>Validation can be attached to a field with the following function.</p> - <pre class="PROGRAMLISTING"> -int set_field_type(FIELD *field, /* field to alter */ + + <pre class= + "PROGRAMLISTING">int set_field_type(FIELD *field, /* field to alter */ FIELDTYPE *ftype, /* type to associate */ - ...); /* additional arguments*/ -</pre>Once set, the validation type for a field can be queried with - <pre class="PROGRAMLISTING"> -FIELDTYPE *field_type(FIELD *field); /* field to query */ -</pre> + ...); /* additional arguments*/</pre>Once +set, the validation type for a field can be queried with + <pre class= + "PROGRAMLISTING">FIELDTYPE *field_type(FIELD *field); /* field to query */</pre> <p>The form driver validates the data in a field only when data is entered by the end-user. Validation does not occur when</p> @@ -6342,61 +6287,58 @@ FIELDTYPE *field_type(FIELD *field); /* field to query */ </ul> <p>The following are the pre-defined validation types. You - can also specify custom validation, though it's a bit + can also specify custom validation, though it is a bit tricky and cumbersome.</p> - <h1 class="BRIDGEHEAD"><a name="AEN1069" id= - "AEN1069"></a>TYPE_ALPHA</h1> + <h1 class="BRIDGEHEAD"><a name="AEN1074" id= + "AEN1074"></a>TYPE_ALPHA</h1> <p>This field type accepts alphabetic data; no blanks, no digits, no special characters (this is checked at character-entry time). It is set up with:</p> - <pre class="PROGRAMLISTING"> -int set_field_type(FIELD *field, /* field to alter */ - TYPE_ALPHA, /* type to associate */ - int width); /* minimum width of field */ -</pre> + <pre class= + "PROGRAMLISTING">int set_field_type(FIELD *field, /* field to alter */ + TYPE_ALPHA, /* type to associate */ + int width); /* minimum width of field */</pre> <p>The width argument sets a minimum width of data. The user has to enter at-least width number of characters before he can leave the field. Typically you'll want to set - this to the field width; if it's greater than the field + this to the field width; if it is greater than the field width, the validation check will always fail. A minimum width of zero makes field completion optional.</p> - <h1 class="BRIDGEHEAD"><a name="AEN1073" id= - "AEN1073"></a>TYPE_ALNUM</h1> + <h1 class="BRIDGEHEAD"><a name="AEN1078" id= + "AEN1078"></a>TYPE_ALNUM</h1> <p>This field type accepts alphabetic data and digits; no blanks, no special characters (this is checked at character-entry time). It is set up with:</p> - <pre class="PROGRAMLISTING"> -int set_field_type(FIELD *field, /* field to alter */ - TYPE_ALNUM, /* type to associate */ - int width); /* minimum width of field */ -</pre> + <pre class= + "PROGRAMLISTING">int set_field_type(FIELD *field, /* field to alter */ + TYPE_ALNUM, /* type to associate */ + int width); /* minimum width of field */</pre> <p>The width argument sets a minimum width of data. As with TYPE_ALPHA, typically you'll want to set this to the field - width; if it's greater than the field width, the validation - check will always fail. A minimum width of zero makes field - completion optional.</p> + width; if it is greater than the field width, the + validation check will always fail. A minimum width of zero + makes field completion optional.</p> - <h1 class="BRIDGEHEAD"><a name="AEN1077" id= - "AEN1077"></a>TYPE_ENUM</h1> + <h1 class="BRIDGEHEAD"><a name="AEN1082" id= + "AEN1082"></a>TYPE_ENUM</h1> <p>This type allows you to restrict a field's values to be among a specified set of string values (for example, the two-letter postal codes for U.S. states). It is set up with:</p> - <pre class="PROGRAMLISTING"> -int set_field_type(FIELD *field, /* field to alter */ + + <pre class= + "PROGRAMLISTING">int set_field_type(FIELD *field, /* field to alter */ TYPE_ENUM, /* type to associate */ char **valuelist; /* list of possible values */ int checkcase; /* case-sensitive? */ - int checkunique); /* must specify uniquely? */ -</pre> - + int checkunique); /* must specify uniquely? */</pre> <p>The valuelist parameter must point at a NULL-terminated list of valid strings. The checkcase argument, if true, makes comparison with the string case-sensitive.</p> @@ -6416,18 +6358,17 @@ int set_field_type(FIELD *field, /* field to alter */ <p>The REQ_NEXT_CHOICE and REQ_PREV_CHOICE input requests can be particularly useful with these fields.</p> - <h1 class="BRIDGEHEAD"><a name="AEN1084" id= - "AEN1084"></a>TYPE_INTEGER</h1> + <h1 class="BRIDGEHEAD"><a name="AEN1089" id= + "AEN1089"></a>TYPE_INTEGER</h1> <p>This field type accepts an integer. It is set up as follows:</p> - <pre class="PROGRAMLISTING"> -int set_field_type(FIELD *field, /* field to alter */ + + <pre class= + "PROGRAMLISTING">int set_field_type(FIELD *field, /* field to alter */ TYPE_INTEGER, /* type to associate */ int padding, /* # places to zero-pad to */ - int vmin, int vmax); /* valid range */ -</pre> - + int vmin, int vmax); /* valid range */</pre> <p>Valid characters consist of an optional leading minus and digits. The range check is performed on exit. If the range maximum is less than or equal to the minimum, the @@ -6440,18 +6381,17 @@ int set_field_type(FIELD *field, /* field to alter */ <p>A TYPE_INTEGER value buffer can conveniently be interpreted with the C library function atoi(3).</p> - <h1 class="BRIDGEHEAD"><a name="AEN1090" id= - "AEN1090"></a>TYPE_NUMERIC</h1> + <h1 class="BRIDGEHEAD"><a name="AEN1095" id= + "AEN1095"></a>TYPE_NUMERIC</h1> <p>This field type accepts a decimal number. It is set up as follows:</p> - <pre class="PROGRAMLISTING"> -int set_field_type(FIELD *field, /* field to alter */ + + <pre class= + "PROGRAMLISTING">int set_field_type(FIELD *field, /* field to alter */ TYPE_NUMERIC, /* type to associate */ int padding, /* # places of precision */ - int vmin, int vmax); /* valid range */ -</pre> - + int vmin, int vmax); /* valid range */</pre> <p>Valid characters consist of an optional leading minus and digits. possibly including a decimal point. The range check is performed on exit. If the range maximum is less @@ -6464,17 +6404,16 @@ int set_field_type(FIELD *field, /* field to alter */ <p>A TYPE_NUMERIC value buffer can conveniently be interpreted with the C library function atof(3).</p> - <h1 class="BRIDGEHEAD"><a name="AEN1096" id= - "AEN1096"></a>TYPE_REGEXP</h1> + <h1 class="BRIDGEHEAD"><a name="AEN1101" id= + "AEN1101"></a>TYPE_REGEXP</h1> <p>This field type accepts data matching a regular expression. It is set up as follows:</p> - <pre class="PROGRAMLISTING"> -int set_field_type(FIELD *field, /* field to alter */ - TYPE_REGEXP, /* type to associate */ - char *regexp); /* expression to match */ -</pre> + <pre class= + "PROGRAMLISTING">int set_field_type(FIELD *field, /* field to alter */ + TYPE_REGEXP, /* type to associate */ + char *regexp); /* expression to match */</pre> <p>The syntax for regular expressions is that of regcomp(3). The check for regular-expression match is performed on exit.</p> @@ -6490,14 +6429,13 @@ int set_field_type(FIELD *field, /* field to alter */ <p>As in the menu system, form_driver() plays a very important role in forms system. All types of requests to forms system should be funneled through form_driver().</p> - <pre class="PROGRAMLISTING"> -int form_driver(FORM *form, /* form on which to operate */ - int request) /* form request code */ -</pre> + <pre class= + "PROGRAMLISTING">int form_driver(FORM *form, /* form on which to operate */ + int request) /* form request code */</pre> <p>As you have seen some of the examples above, you have to be in a loop looking for user input and then decide whether - it's a field data or a form request. The form requests are + it is a field data or a form request. The form requests are then passed to form_driver() to do the work.</p> <p>The requests roughly can be divided into following @@ -6516,11 +6454,10 @@ int form_driver(FORM *form, /* form on which to operate */ lot of fields and logical sections, then you can divide the form into pages. The function set_new_page() to set a new page at the field specified.</p> - <pre class="PROGRAMLISTING"> -int set_new_page(FIELD *field,/* Field at which page break to be set or unset */ - bool new_page_flag); /* should be TRUE to put a break */ -</pre> + <pre class= + "PROGRAMLISTING">int set_new_page(FIELD *field,/* Field at which page break to be set or unset */ + bool new_page_flag); /* should be TRUE to put a break */</pre> <p>The following requests allow you to move to different pages</p> @@ -7070,13 +7007,14 @@ int set_new_page(FIELD *field,/* Field at which page break to be set or unset */ <p><span class="emphasis"><i class="EMPHASIS">CDK stands for 'Curses Development Kit' and it currently contains 21 ready to use widgets which facilitate the speedy - development of full screen curses programs.</i></span></p> + development of full screen curses programs.</i></span> + </p> <p>The kit provides some useful widgets, which can be used - in your programs directly. It's pretty well written and the - documentation is very good. The examples in the examples - directory can be a good place to start for beginners. The - CDK can be downloaded from <a href= + in your programs directly. It is pretty well written and + the documentation is very good. The examples in the + examples directory can be a good place to start for + beginners. The CDK can be downloaded from <a href= "https://invisible-island.net/cdk/" target= "_top">https://invisible-island.net/cdk/</a> . Follow the instructions in README file to install it.</p> @@ -7089,8 +7027,9 @@ int set_new_page(FIELD *field,/* Field at which page break to be set or unset */ <p>The following is the list of widgets provided with cdk and their description.</p> - <pre class="PROGRAMLISTING"> -Widget Type Quick Description + + <pre class= + "PROGRAMLISTING">Widget Type Quick Description =========================================================================== Alphalist Allows a user to select from a list of words, with the ability to narrow the search list by typing in a @@ -7133,9 +7072,7 @@ Template Creates a entry field with character sensitive dates and phone numbers. Viewer This is a file/information viewer. Very useful when you need to display loads of information. -=========================================================================== -</pre> - +===========================================================================</pre> <p>A few of the widgets are modified by Thomas Dickey in recent versions.</p> </div> @@ -7153,15 +7090,14 @@ Viewer This is a file/information viewer. Very useful which are passed to CDK functions. For Example</p> <p>If the string</p> - <pre class="PROGRAMLISTING"> -"</B/1>This line should have a yellow foreground and a blue -background.<!1>" -</pre> + <pre class= + "PROGRAMLISTING">"</B/1>This line should have a yellow foreground and a blue +background.<!1>"</pre> <p>given as a parameter to newCDKLabel(), it prints the line with yellow foreground and blue background. There are other tags available for justifying string, embedding - special drawing characters etc.. Please refer to the man + special drawing characters, etc. Please refer to the man page cdk_display(3X) for details. The man page explains the usage with nice examples.</p> </div> @@ -7198,20 +7134,22 @@ background.<!1>" professional-looking dialog boxes from within shell scripts. This article presents a tutorial introduction to the dialog utility, and shows examples of how and where it - can be used</i></span></p> + can be used</i></span> + </p> <p>As he explains, dialog is a real gem in making professional-looking dialog boxes with ease. It creates a - variety of dialog boxes, menus, check lists etc.. It is + variety of dialog boxes, menus, check lists, etc. It is usually installed by default. If not, you can download it from <a href="https://invisible-island.net/dialog/" target= "_top">Thomas Dickey</a>'s site.</p> <p>The above-mentioned article gives a very good overview - of its uses and capabilites. The man page has more details. - It can be used in variety of situations. One good example - is building of linux kernel in text mode. Linux kernel uses - a modified version of dialog tailored for its needs.</p> + of its uses and capabilities. The man page has more + details. It can be used in variety of situations. One good + example is building of linux kernel in text mode. Linux + kernel uses a modified version of dialog tailored for its + needs.</p> <p>dialog was initially designed to be used with shell scripts. If you want to use its functionality in a c @@ -7278,27 +7216,26 @@ background.<!1>" <p>Game of life is a wonder of math. In <a href= "http://www.math.com/students/wonders/life/life.html" target="_top">Paul Callahan</a>'s words</p> - <pre class="PROGRAMLISTING"> -<span class="emphasis"><i class= -"EMPHASIS">The Game of Life (or simply Life) is not a game in the conventional sense. There + + <pre class="PROGRAMLISTING"><span class="emphasis"><i class= + "EMPHASIS">The Game of Life (or simply Life) is not a game in the conventional sense. There are no players, and no winning or losing. Once the "pieces" are placed in the starting position, the rules determine everything that happens later. Nevertheless, Life is full of surprises! In most cases, it is impossible to look at a starting position (or pattern) and see what will happen in the future. The -only way to find out is to follow the rules of the game.</i></span> -</pre> - +only way to find out is to follow the rules of the game.</i></span></pre> <p>This program starts with a simple inverted U pattern and shows how wonderful life works. There is a lot of room for improvement in the program. You can let the user enter pattern of his choice or even take input from a file. You can also change rules and play with a lot of variations. - Search on <a href="http://www.google.com" target= + Search on <a href="https://www.google.com" target= "_top">google</a> for interesting information on game of life.</p> <p><span class="emphasis"><i class="EMPHASIS">File Path: - JustForFun/life.c</i></span></p> + JustForFun/life.c</i></span> + </p> </div> <div class="SECT2"> @@ -7310,14 +7247,15 @@ only way to find out is to follow the rules of the game.</i></span> <p>Magic Square, another wonder of math, is very simple to understand but very difficult to make. In a magic square sum of the numbers in each row, each column is equal. Even - diagnol sum can be equal. There are many variations which + diagonal sum can be equal. There are many variations which have special properties.</p> <p>This program creates a simple magic square of odd order.</p> <p><span class="emphasis"><i class="EMPHASIS">File Path: - JustForFun/magic.c</i></span></p> + JustForFun/magic.c</i></span> + </p> </div> <div class="SECT2"> @@ -7332,7 +7270,8 @@ only way to find out is to follow the rules of the game.</i></span> larger disk over a small disk at any time.</p> <p><span class="emphasis"><i class="EMPHASIS">File Path: - JustForFun/hanoi.c</i></span></p> + JustForFun/hanoi.c</i></span> + </p> </div> <div class="SECT2"> @@ -7349,7 +7288,8 @@ only way to find out is to follow the rules of the game.</i></span> technique.</p> <p><span class="emphasis"><i class="EMPHASIS">File Path: - JustForFun/queens.c</i></span></p> + JustForFun/queens.c</i></span> + </p> </div> <div class="SECT2"> @@ -7361,7 +7301,8 @@ only way to find out is to follow the rules of the game.</i></span> <p>A fun game, if you have time to kill.</p> <p><span class="emphasis"><i class="EMPHASIS">File Path: - JustForFun/shuffle.c</i></span></p> + JustForFun/shuffle.c</i></span> + </p> </div> <div class="SECT2"> @@ -7376,15 +7317,15 @@ only way to find out is to follow the rules of the game.</i></span> helpful.</p> <p><span class="emphasis"><i class="EMPHASIS">File Path: - JustForFun/tt.c</i></span></p> + JustForFun/tt.c</i></span> + </p> </div> </div> <div class="SECT1"> <hr> - <h2 class="SECT1"><a name="REF" id="REF">21. - References</a></h2> + <h2 class="SECT1"><a name="REF" id="REF">21. References</a></h2> <ul> <li> diff --git a/doc/html/ada/files.htm b/doc/html/ada/files.htm index 49441be96997..d48af038557f 100644 --- a/doc/html/ada/files.htm +++ b/doc/html/ada/files.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE></TITLE> +<html> +<head> +<title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,8 +11,8 @@ color: red; } </style> -</HEAD> -<BODY> -<H2 ALIGN=CENTER>Files</H2> -<A HREF="files/T.htm">[T]</A> -</BODY></HTML> +</head> +<body> +<h2 align="center">Files</h2> +<a href="files/T.htm">[T]</a> +</body></html> diff --git a/doc/html/ada/files/T.htm b/doc/html/ada/files/T.htm index b54027bb1bea..973050677bda 100644 --- a/doc/html/ada/files/T.htm +++ b/doc/html/ada/files/T.htm @@ -1,83 +1,83 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<HTML> -<HEAD> -<TITLE>T</TITLE> +<html> +<head> +<title>T</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</HEAD> -<BODY> -<H2>Files - T</H2> -<A HREF="../files.htm" TARGET="_self">[index]</A> -<UL COMPACT TYPE=DISC> -<LI><A HREF="../terminal_interface-curses-aux__adb.htm" TARGET="main">terminal_interface-curses-aux.adb</A> -<LI><A HREF="../terminal_interface-curses-aux__ads.htm" TARGET="main">terminal_interface-curses-aux.ads</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-alpha__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-alpha.adb</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-alpha__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-alpha.ads</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-alphanumeric__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-alphanumeric.adb</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-alphanumeric__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-alphanumeric.ads</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-enumeration-ada.adb</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-enumeration-ada.ads</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-enumeration.adb</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-enumeration.ads</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-intfield__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-intfield.adb</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-intfield__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-intfield.ads</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-ipv4_address__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-ipv4_address.adb</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-ipv4_address__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-ipv4_address.ads</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-numeric__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-numeric.adb</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-numeric__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-numeric.ads</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-regexp__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-regexp.adb</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-regexp__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-regexp.ads</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-user-choice__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-user-choice.adb</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-user-choice__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-user-choice.ads</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-user__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-user.adb</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-user__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-user.ads</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types.adb</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types.ads</A> -<LI><A HREF="../terminal_interface-curses-forms-field_user_data__adb.htm" TARGET="main">terminal_interface-curses-forms-field_user_data.adb</A> -<LI><A HREF="../terminal_interface-curses-forms-field_user_data__ads.htm" TARGET="main">terminal_interface-curses-forms-field_user_data.ads</A> -<LI><A HREF="../terminal_interface-curses-forms-form_user_data__adb.htm" TARGET="main">terminal_interface-curses-forms-form_user_data.adb</A> -<LI><A HREF="../terminal_interface-curses-forms-form_user_data__ads.htm" TARGET="main">terminal_interface-curses-forms-form_user_data.ads</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm" TARGET="main">terminal_interface-curses-forms.adb</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm" TARGET="main">terminal_interface-curses-forms.ads</A> -<LI><A HREF="../terminal_interface-curses-menus-item_user_data__adb.htm" TARGET="main">terminal_interface-curses-menus-item_user_data.adb</A> -<LI><A HREF="../terminal_interface-curses-menus-item_user_data__ads.htm" TARGET="main">terminal_interface-curses-menus-item_user_data.ads</A> -<LI><A HREF="../terminal_interface-curses-menus-menu_user_data__adb.htm" TARGET="main">terminal_interface-curses-menus-menu_user_data.adb</A> -<LI><A HREF="../terminal_interface-curses-menus-menu_user_data__ads.htm" TARGET="main">terminal_interface-curses-menus-menu_user_data.ads</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm" TARGET="main">terminal_interface-curses-menus.adb</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm" TARGET="main">terminal_interface-curses-menus.ads</A> -<LI><A HREF="../terminal_interface-curses-mouse__adb.htm" TARGET="main">terminal_interface-curses-mouse.adb</A> -<LI><A HREF="../terminal_interface-curses-mouse__ads.htm" TARGET="main">terminal_interface-curses-mouse.ads</A> -<LI><A HREF="../terminal_interface-curses-panels-user_data__adb.htm" TARGET="main">terminal_interface-curses-panels-user_data.adb</A> -<LI><A HREF="../terminal_interface-curses-panels-user_data__ads.htm" TARGET="main">terminal_interface-curses-panels-user_data.ads</A> -<LI><A HREF="../terminal_interface-curses-panels__adb.htm" TARGET="main">terminal_interface-curses-panels.adb</A> -<LI><A HREF="../terminal_interface-curses-panels__ads.htm" TARGET="main">terminal_interface-curses-panels.ads</A> -<LI><A HREF="../terminal_interface-curses-putwin__adb.htm" TARGET="main">terminal_interface-curses-putwin.adb</A> -<LI><A HREF="../terminal_interface-curses-putwin__ads.htm" TARGET="main">terminal_interface-curses-putwin.ads</A> -<LI><A HREF="../terminal_interface-curses-termcap__adb.htm" TARGET="main">terminal_interface-curses-termcap.adb</A> -<LI><A HREF="../terminal_interface-curses-termcap__ads.htm" TARGET="main">terminal_interface-curses-termcap.ads</A> -<LI><A HREF="../terminal_interface-curses-terminfo__adb.htm" TARGET="main">terminal_interface-curses-terminfo.adb</A> -<LI><A HREF="../terminal_interface-curses-terminfo__ads.htm" TARGET="main">terminal_interface-curses-terminfo.ads</A> -<LI><A HREF="../terminal_interface-curses-text_io-aux__adb.htm" TARGET="main">terminal_interface-curses-text_io-aux.adb</A> -<LI><A HREF="../terminal_interface-curses-text_io-aux__ads.htm" TARGET="main">terminal_interface-curses-text_io-aux.ads</A> -<LI><A HREF="../terminal_interface-curses-text_io-complex_io__adb.htm" TARGET="main">terminal_interface-curses-text_io-complex_io.adb</A> -<LI><A HREF="../terminal_interface-curses-text_io-complex_io__ads.htm" TARGET="main">terminal_interface-curses-text_io-complex_io.ads</A> -<LI><A HREF="../terminal_interface-curses-text_io-decimal_io__adb.htm" TARGET="main">terminal_interface-curses-text_io-decimal_io.adb</A> -<LI><A HREF="../terminal_interface-curses-text_io-decimal_io__ads.htm" TARGET="main">terminal_interface-curses-text_io-decimal_io.ads</A> -<LI><A HREF="../terminal_interface-curses-text_io-enumeration_io__adb.htm" TARGET="main">terminal_interface-curses-text_io-enumeration_io.adb</A> -<LI><A HREF="../terminal_interface-curses-text_io-enumeration_io__ads.htm" TARGET="main">terminal_interface-curses-text_io-enumeration_io.ads</A> -<LI><A HREF="../terminal_interface-curses-text_io-fixed_io__adb.htm" TARGET="main">terminal_interface-curses-text_io-fixed_io.adb</A> -<LI><A HREF="../terminal_interface-curses-text_io-fixed_io__ads.htm" TARGET="main">terminal_interface-curses-text_io-fixed_io.ads</A> -<LI><A HREF="../terminal_interface-curses-text_io-float_io__adb.htm" TARGET="main">terminal_interface-curses-text_io-float_io.adb</A> -<LI><A HREF="../terminal_interface-curses-text_io-float_io__ads.htm" TARGET="main">terminal_interface-curses-text_io-float_io.ads</A> -<LI><A HREF="../terminal_interface-curses-text_io-integer_io__adb.htm" TARGET="main">terminal_interface-curses-text_io-integer_io.adb</A> -<LI><A HREF="../terminal_interface-curses-text_io-integer_io__ads.htm" TARGET="main">terminal_interface-curses-text_io-integer_io.ads</A> -<LI><A HREF="../terminal_interface-curses-text_io-modular_io__adb.htm" TARGET="main">terminal_interface-curses-text_io-modular_io.adb</A> -<LI><A HREF="../terminal_interface-curses-text_io-modular_io__ads.htm" TARGET="main">terminal_interface-curses-text_io-modular_io.ads</A> -<LI><A HREF="../terminal_interface-curses-text_io__adb.htm" TARGET="main">terminal_interface-curses-text_io.adb</A> -<LI><A HREF="../terminal_interface-curses-text_io__ads.htm" TARGET="main">terminal_interface-curses-text_io.ads</A> -<LI><A HREF="../terminal_interface-curses-trace__adb.htm" TARGET="main">terminal_interface-curses-trace.adb</A> -<LI><A HREF="../terminal_interface-curses-trace__ads.htm" TARGET="main">terminal_interface-curses-trace.ads</A> -<LI><A HREF="../terminal_interface-curses__adb.htm" TARGET="main">terminal_interface-curses.adb</A> -<LI><A HREF="../terminal_interface-curses__ads.htm" TARGET="main">terminal_interface-curses.ads</A> -<LI><A HREF="../terminal_interface-curses_constants__ads.htm" TARGET="main">terminal_interface-curses_constants.ads</A> -<LI><A HREF="../terminal_interface__ads.htm" TARGET="main">terminal_interface.ads</A> -</UL></BODY></HTML> +</head> +<body> +<h2>Files - T</h2> +<a href="../files.htm" target="_self">[index]</a> +<ul compact type="disc"> +<li><a href="../terminal_interface-curses-aux__adb.htm" target="main">terminal_interface-curses-aux.adb</a> +<li><a href="../terminal_interface-curses-aux__ads.htm" target="main">terminal_interface-curses-aux.ads</a> +<li><a href="../terminal_interface-curses-forms-field_types-alpha__adb.htm" target="main">terminal_interface-curses-forms-field_types-alpha.adb</a> +<li><a href="../terminal_interface-curses-forms-field_types-alpha__ads.htm" target="main">terminal_interface-curses-forms-field_types-alpha.ads</a> +<li><a href="../terminal_interface-curses-forms-field_types-alphanumeric__adb.htm" target="main">terminal_interface-curses-forms-field_types-alphanumeric.adb</a> +<li><a href="../terminal_interface-curses-forms-field_types-alphanumeric__ads.htm" target="main">terminal_interface-curses-forms-field_types-alphanumeric.ads</a> +<li><a href="../terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm" target="main">terminal_interface-curses-forms-field_types-enumeration-ada.adb</a> +<li><a href="../terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm" target="main">terminal_interface-curses-forms-field_types-enumeration-ada.ads</a> +<li><a href="../terminal_interface-curses-forms-field_types-enumeration__adb.htm" target="main">terminal_interface-curses-forms-field_types-enumeration.adb</a> +<li><a href="../terminal_interface-curses-forms-field_types-enumeration__ads.htm" target="main">terminal_interface-curses-forms-field_types-enumeration.ads</a> +<li><a href="../terminal_interface-curses-forms-field_types-intfield__adb.htm" target="main">terminal_interface-curses-forms-field_types-intfield.adb</a> +<li><a href="../terminal_interface-curses-forms-field_types-intfield__ads.htm" target="main">terminal_interface-curses-forms-field_types-intfield.ads</a> +<li><a href="../terminal_interface-curses-forms-field_types-ipv4_address__adb.htm" target="main">terminal_interface-curses-forms-field_types-ipv4_address.adb</a> +<li><a href="../terminal_interface-curses-forms-field_types-ipv4_address__ads.htm" target="main">terminal_interface-curses-forms-field_types-ipv4_address.ads</a> +<li><a href="../terminal_interface-curses-forms-field_types-numeric__adb.htm" target="main">terminal_interface-curses-forms-field_types-numeric.adb</a> +<li><a href="../terminal_interface-curses-forms-field_types-numeric__ads.htm" target="main">terminal_interface-curses-forms-field_types-numeric.ads</a> +<li><a href="../terminal_interface-curses-forms-field_types-regexp__adb.htm" target="main">terminal_interface-curses-forms-field_types-regexp.adb</a> +<li><a href="../terminal_interface-curses-forms-field_types-regexp__ads.htm" target="main">terminal_interface-curses-forms-field_types-regexp.ads</a> +<li><a href="../terminal_interface-curses-forms-field_types-user-choice__adb.htm" target="main">terminal_interface-curses-forms-field_types-user-choice.adb</a> +<li><a href="../terminal_interface-curses-forms-field_types-user-choice__ads.htm" target="main">terminal_interface-curses-forms-field_types-user-choice.ads</a> +<li><a href="../terminal_interface-curses-forms-field_types-user__adb.htm" target="main">terminal_interface-curses-forms-field_types-user.adb</a> +<li><a href="../terminal_interface-curses-forms-field_types-user__ads.htm" target="main">terminal_interface-curses-forms-field_types-user.ads</a> +<li><a href="../terminal_interface-curses-forms-field_types__adb.htm" target="main">terminal_interface-curses-forms-field_types.adb</a> +<li><a href="../terminal_interface-curses-forms-field_types__ads.htm" target="main">terminal_interface-curses-forms-field_types.ads</a> +<li><a href="../terminal_interface-curses-forms-field_user_data__adb.htm" target="main">terminal_interface-curses-forms-field_user_data.adb</a> +<li><a href="../terminal_interface-curses-forms-field_user_data__ads.htm" target="main">terminal_interface-curses-forms-field_user_data.ads</a> +<li><a href="../terminal_interface-curses-forms-form_user_data__adb.htm" target="main">terminal_interface-curses-forms-form_user_data.adb</a> +<li><a href="../terminal_interface-curses-forms-form_user_data__ads.htm" target="main">terminal_interface-curses-forms-form_user_data.ads</a> +<li><a href="../terminal_interface-curses-forms__adb.htm" target="main">terminal_interface-curses-forms.adb</a> +<li><a href="../terminal_interface-curses-forms__ads.htm" target="main">terminal_interface-curses-forms.ads</a> +<li><a href="../terminal_interface-curses-menus-item_user_data__adb.htm" target="main">terminal_interface-curses-menus-item_user_data.adb</a> +<li><a href="../terminal_interface-curses-menus-item_user_data__ads.htm" target="main">terminal_interface-curses-menus-item_user_data.ads</a> +<li><a href="../terminal_interface-curses-menus-menu_user_data__adb.htm" target="main">terminal_interface-curses-menus-menu_user_data.adb</a> +<li><a href="../terminal_interface-curses-menus-menu_user_data__ads.htm" target="main">terminal_interface-curses-menus-menu_user_data.ads</a> +<li><a href="../terminal_interface-curses-menus__adb.htm" target="main">terminal_interface-curses-menus.adb</a> +<li><a href="../terminal_interface-curses-menus__ads.htm" target="main">terminal_interface-curses-menus.ads</a> +<li><a href="../terminal_interface-curses-mouse__adb.htm" target="main">terminal_interface-curses-mouse.adb</a> +<li><a href="../terminal_interface-curses-mouse__ads.htm" target="main">terminal_interface-curses-mouse.ads</a> +<li><a href="../terminal_interface-curses-panels-user_data__adb.htm" target="main">terminal_interface-curses-panels-user_data.adb</a> +<li><a href="../terminal_interface-curses-panels-user_data__ads.htm" target="main">terminal_interface-curses-panels-user_data.ads</a> +<li><a href="../terminal_interface-curses-panels__adb.htm" target="main">terminal_interface-curses-panels.adb</a> +<li><a href="../terminal_interface-curses-panels__ads.htm" target="main">terminal_interface-curses-panels.ads</a> +<li><a href="../terminal_interface-curses-putwin__adb.htm" target="main">terminal_interface-curses-putwin.adb</a> +<li><a href="../terminal_interface-curses-putwin__ads.htm" target="main">terminal_interface-curses-putwin.ads</a> +<li><a href="../terminal_interface-curses-termcap__adb.htm" target="main">terminal_interface-curses-termcap.adb</a> +<li><a href="../terminal_interface-curses-termcap__ads.htm" target="main">terminal_interface-curses-termcap.ads</a> +<li><a href="../terminal_interface-curses-terminfo__adb.htm" target="main">terminal_interface-curses-terminfo.adb</a> +<li><a href="../terminal_interface-curses-terminfo__ads.htm" target="main">terminal_interface-curses-terminfo.ads</a> +<li><a href="../terminal_interface-curses-text_io-aux__adb.htm" target="main">terminal_interface-curses-text_io-aux.adb</a> +<li><a href="../terminal_interface-curses-text_io-aux__ads.htm" target="main">terminal_interface-curses-text_io-aux.ads</a> +<li><a href="../terminal_interface-curses-text_io-complex_io__adb.htm" target="main">terminal_interface-curses-text_io-complex_io.adb</a> +<li><a href="../terminal_interface-curses-text_io-complex_io__ads.htm" target="main">terminal_interface-curses-text_io-complex_io.ads</a> +<li><a href="../terminal_interface-curses-text_io-decimal_io__adb.htm" target="main">terminal_interface-curses-text_io-decimal_io.adb</a> +<li><a href="../terminal_interface-curses-text_io-decimal_io__ads.htm" target="main">terminal_interface-curses-text_io-decimal_io.ads</a> +<li><a href="../terminal_interface-curses-text_io-enumeration_io__adb.htm" target="main">terminal_interface-curses-text_io-enumeration_io.adb</a> +<li><a href="../terminal_interface-curses-text_io-enumeration_io__ads.htm" target="main">terminal_interface-curses-text_io-enumeration_io.ads</a> +<li><a href="../terminal_interface-curses-text_io-fixed_io__adb.htm" target="main">terminal_interface-curses-text_io-fixed_io.adb</a> +<li><a href="../terminal_interface-curses-text_io-fixed_io__ads.htm" target="main">terminal_interface-curses-text_io-fixed_io.ads</a> +<li><a href="../terminal_interface-curses-text_io-float_io__adb.htm" target="main">terminal_interface-curses-text_io-float_io.adb</a> +<li><a href="../terminal_interface-curses-text_io-float_io__ads.htm" target="main">terminal_interface-curses-text_io-float_io.ads</a> +<li><a href="../terminal_interface-curses-text_io-integer_io__adb.htm" target="main">terminal_interface-curses-text_io-integer_io.adb</a> +<li><a href="../terminal_interface-curses-text_io-integer_io__ads.htm" target="main">terminal_interface-curses-text_io-integer_io.ads</a> +<li><a href="../terminal_interface-curses-text_io-modular_io__adb.htm" target="main">terminal_interface-curses-text_io-modular_io.adb</a> +<li><a href="../terminal_interface-curses-text_io-modular_io__ads.htm" target="main">terminal_interface-curses-text_io-modular_io.ads</a> +<li><a href="../terminal_interface-curses-text_io__adb.htm" target="main">terminal_interface-curses-text_io.adb</a> +<li><a href="../terminal_interface-curses-text_io__ads.htm" target="main">terminal_interface-curses-text_io.ads</a> +<li><a href="../terminal_interface-curses-trace__adb.htm" target="main">terminal_interface-curses-trace.adb</a> +<li><a href="../terminal_interface-curses-trace__ads.htm" target="main">terminal_interface-curses-trace.ads</a> +<li><a href="../terminal_interface-curses__adb.htm" target="main">terminal_interface-curses.adb</a> +<li><a href="../terminal_interface-curses__ads.htm" target="main">terminal_interface-curses.ads</a> +<li><a href="../terminal_interface-curses_constants__ads.htm" target="main">terminal_interface-curses_constants.ads</a> +<li><a href="../terminal_interface__ads.htm" target="main">terminal_interface.ads</a> +</ul></body></html> diff --git a/doc/html/ada/funcs.htm b/doc/html/ada/funcs.htm index 903523e20be1..1ffcef16c5bb 100644 --- a/doc/html/ada/funcs.htm +++ b/doc/html/ada/funcs.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE></TITLE> +<html> +<head> +<title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,29 +11,29 @@ color: red; } </style> -</HEAD> -<BODY> -<H2 ALIGN=CENTER>Functions/Procedures</H2> -<A HREF="funcs/A.htm">[A]</A> -<A HREF="funcs/B.htm">[B]</A> -<A HREF="funcs/C.htm">[C]</A> -<A HREF="funcs/D.htm">[D]</A> -<A HREF="funcs/E.htm">[E]</A> -<A HREF="funcs/F.htm">[F]</A> -<A HREF="funcs/G.htm">[G]</A> -<A HREF="funcs/H.htm">[H]</A> -<A HREF="funcs/I.htm">[I]</A> -<A HREF="funcs/K.htm">[K]</A> -<A HREF="funcs/L.htm">[L]</A> -<A HREF="funcs/M.htm">[M]</A> -<A HREF="funcs/N.htm">[N]</A> -<A HREF="funcs/O.htm">[O]</A> -<A HREF="funcs/P.htm">[P]</A> -<A HREF="funcs/Q.htm">[Q]</A> -<A HREF="funcs/R.htm">[R]</A> -<A HREF="funcs/S.htm">[S]</A> -<A HREF="funcs/T.htm">[T]</A> -<A HREF="funcs/U.htm">[U]</A> -<A HREF="funcs/V.htm">[V]</A> -<A HREF="funcs/W.htm">[W]</A> -</BODY></HTML> +</head> +<body> +<h2 align="center">Functions/Procedures</h2> +<a href="funcs/A.htm">[A]</a> +<a href="funcs/B.htm">[B]</a> +<a href="funcs/C.htm">[C]</a> +<a href="funcs/D.htm">[D]</a> +<a href="funcs/E.htm">[E]</a> +<a href="funcs/F.htm">[F]</a> +<a href="funcs/G.htm">[G]</a> +<a href="funcs/H.htm">[H]</a> +<a href="funcs/I.htm">[I]</a> +<a href="funcs/K.htm">[K]</a> +<a href="funcs/L.htm">[L]</a> +<a href="funcs/M.htm">[M]</a> +<a href="funcs/N.htm">[N]</a> +<a href="funcs/O.htm">[O]</a> +<a href="funcs/P.htm">[P]</a> +<a href="funcs/Q.htm">[Q]</a> +<a href="funcs/R.htm">[R]</a> +<a href="funcs/S.htm">[S]</a> +<a href="funcs/T.htm">[T]</a> +<a href="funcs/U.htm">[U]</a> +<a href="funcs/V.htm">[V]</a> +<a href="funcs/W.htm">[W]</a> +</body></html> diff --git a/doc/html/ada/funcs/A.htm b/doc/html/ada/funcs/A.htm index 3080c76b711e..c5520758ea2b 100644 --- a/doc/html/ada/funcs/A.htm +++ b/doc/html/ada/funcs/A.htm @@ -1,29 +1,29 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<HTML> -<HEAD> -<TITLE>A</TITLE> +<html> +<head> +<title>A</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</HEAD> -<BODY> -<H2>Functions - A</H2> -<A HREF="../funcs.htm" TARGET="_self">[index]</A> -<UL COMPACT TYPE=DISC> -<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_129_13" TARGET="main">Above</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_568_13" TARGET="main">ACS_Map</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_694_14" TARGET="main">Add - terminal_interface-curses.ads:694</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_699_14" TARGET="main">Add - terminal_interface-curses.ads:699</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_705_14" TARGET="main">Add - terminal_interface-curses.ads:705</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_713_14" TARGET="main">Add - terminal_interface-curses.ads:713</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_824_14" TARGET="main">Add - terminal_interface-curses.ads:824</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_833_14" TARGET="main">Add - terminal_interface-curses.ads:833</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_848_14" TARGET="main">Add - terminal_interface-curses.ads:848</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_857_14" TARGET="main">Add - terminal_interface-curses.ads:857</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1478_14" TARGET="main">Add_Character_To_Pad_And_Echo_It - terminal_interface-curses.ads:1478</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1483_14" TARGET="main">Add_Character_To_Pad_And_Echo_It - terminal_interface-curses.ads:1483</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_722_14" TARGET="main">Add_With_Immediate_Echo - terminal_interface-curses.ads:722</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_728_14" TARGET="main">Add_With_Immediate_Echo - terminal_interface-curses.ads:728</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_842_16" TARGET="main">Ahead</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-user__adb.htm#ref_51_16" TARGET="main">Allocate_Arg</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1187_14" TARGET="main">Allow_Scrolling</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2009_14" TARGET="main">Assume_Default_Colors</A> -</UL></BODY></HTML> +</head> +<body> +<h2>Functions - A</h2> +<a href="../funcs.htm" target="_self">[index]</a> +<ul compact type="disc"> +<li><a href="../terminal_interface-curses-panels__ads.htm#ref_129_13" target="main">Above</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_568_13" target="main">ACS_Map</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_694_14" target="main">Add - terminal_interface-curses.ads:694</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_699_14" target="main">Add - terminal_interface-curses.ads:699</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_705_14" target="main">Add - terminal_interface-curses.ads:705</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_713_14" target="main">Add - terminal_interface-curses.ads:713</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_824_14" target="main">Add - terminal_interface-curses.ads:824</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_833_14" target="main">Add - terminal_interface-curses.ads:833</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_848_14" target="main">Add - terminal_interface-curses.ads:848</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_857_14" target="main">Add - terminal_interface-curses.ads:857</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1478_14" target="main">Add_Character_To_Pad_And_Echo_It - terminal_interface-curses.ads:1478</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1483_14" target="main">Add_Character_To_Pad_And_Echo_It - terminal_interface-curses.ads:1483</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_722_14" target="main">Add_With_Immediate_Echo - terminal_interface-curses.ads:722</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_728_14" target="main">Add_With_Immediate_Echo - terminal_interface-curses.ads:728</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_842_16" target="main">Ahead</a> +<li><a href="../terminal_interface-curses-forms-field_types-user__adb.htm#ref_51_16" target="main">Allocate_Arg</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1187_14" target="main">Allow_Scrolling</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_2009_14" target="main">Assume_Default_Colors</a> +</ul></body></html> diff --git a/doc/html/ada/funcs/B.htm b/doc/html/ada/funcs/B.htm index 2f3142aa71b1..f8ca69b4d79c 100644 --- a/doc/html/ada/funcs/B.htm +++ b/doc/html/ada/funcs/B.htm @@ -1,25 +1,25 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<HTML> -<HEAD> -<TITLE>B</TITLE> +<html> +<head> +<title>B</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</HEAD> -<BODY> -<H2>Functions - B</H2> -<A HREF="../funcs.htm" TARGET="_self">[index]</A> -<UL COMPACT TYPE=DISC> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_456_14" TARGET="main">Background - terminal_interface-curses-forms.ads:456</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_461_14" TARGET="main">Background - terminal_interface-curses-forms.ads:461</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_450_14" TARGET="main">Background - terminal_interface-curses-menus.ads:450</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_455_14" TARGET="main">Background - terminal_interface-curses-menus.ads:455</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2065_16" TARGET="main">Baud</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1818_13" TARGET="main">Baudrate</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1041_14" TARGET="main">Beep</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_752_16" TARGET="main">Beeper</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_858_16" TARGET="main">Behind</A> -<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_134_13" TARGET="main">Below</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_875_14" TARGET="main">Border</A> -<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_77_14" TARGET="main">Bottom</A> -<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_66_16" TARGET="main">Bottompanel</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_891_14" TARGET="main">Box</A> -</UL></BODY></HTML> +</head> +<body> +<h2>Functions - B</h2> +<a href="../funcs.htm" target="_self">[index]</a> +<ul compact type="disc"> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_456_14" target="main">Background - terminal_interface-curses-forms.ads:456</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_461_14" target="main">Background - terminal_interface-curses-forms.ads:461</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_450_14" target="main">Background - terminal_interface-curses-menus.ads:450</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_455_14" target="main">Background - terminal_interface-curses-menus.ads:455</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2065_16" target="main">Baud</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1818_13" target="main">Baudrate</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1041_14" target="main">Beep</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_752_16" target="main">Beeper</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_858_16" target="main">Behind</a> +<li><a href="../terminal_interface-curses-panels__ads.htm#ref_134_13" target="main">Below</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_875_14" target="main">Border</a> +<li><a href="../terminal_interface-curses-panels__ads.htm#ref_77_14" target="main">Bottom</a> +<li><a href="../terminal_interface-curses-panels__adb.htm#ref_66_16" target="main">Bottompanel</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_891_14" target="main">Box</a> +</ul></body></html> diff --git a/doc/html/ada/funcs/C.htm b/doc/html/ada/funcs/C.htm index 9d88f819ccc2..8bfb09c636b5 100644 --- a/doc/html/ada/funcs/C.htm +++ b/doc/html/ada/funcs/C.htm @@ -1,63 +1,63 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<HTML> -<HEAD> -<TITLE>C</TITLE> +<html> +<head> +<title>C</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</HEAD> -<BODY> -<H2>Functions - C</H2> -<A HREF="../funcs.htm" TARGET="_self">[index]</A> -<UL COMPACT TYPE=DISC> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2229_16" TARGET="main">Canchangecolor</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1910_13" TARGET="main">Can_Change_Color</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_772_16" TARGET="main">Cbreak</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_384_13" TARGET="main">Changed</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1016_14" TARGET="main">Change_Attributes - terminal_interface-curses.ads:1016</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1025_14" TARGET="main">Change_Attributes - terminal_interface-curses.ads:1025</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1287_14" TARGET="main">Change_Background</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1323_14" TARGET="main">Change_Lines_Status</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_186_13" TARGET="main">Char_Check_Router</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1251_14" TARGET="main">Clear</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_970_16" TARGET="main">Clear_Ok</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1152_14" TARGET="main">Clear_On_Next_Update</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1704_14" TARGET="main">Clear_Soft_Label_Keys</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1265_14" TARGET="main">Clear_To_End_Of_Line</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1258_14" TARGET="main">Clear_To_End_Of_Screen</A> -<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_99_13" TARGET="main">Col - terminal_interface-curses-text_io.ads:99</A> -<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_100_13" TARGET="main">Col - terminal_interface-curses-text_io.ads:100</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2246_16" TARGET="main">Colorcontent</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2382_16" TARGET="main">COLORS_As_Function</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1915_14" TARGET="main">Color_Content</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2390_16" TARGET="main">COLOR_PAIRS_As_Function</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2365_16" TARGET="main">COLS_As_Function</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_554_13" TARGET="main">Columns</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1345_14" TARGET="main">Copy</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1275_16" TARGET="main">Copywin</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_168_13" TARGET="main">Copy_Arg</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_681_16" TARGET="main">Count - terminal_interface-curses-forms.adb:681</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_797_16" TARGET="main">Count - terminal_interface-curses-menus.adb:797</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_49_13" TARGET="main">Create - terminal_interface-curses-forms-field_types-enumeration-ada.ads:49</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_13" TARGET="main">Create - terminal_interface-curses-forms-field_types-enumeration.ads:65</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_295_13" TARGET="main">Create - terminal_interface-curses-forms.ads:295</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_625_13" TARGET="main">Create - terminal_interface-curses-forms.ads:625</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_190_13" TARGET="main">Create - terminal_interface-curses-menus.ads:190</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_637_13" TARGET="main">Create - terminal_interface-curses-menus.ads:637</A> -<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_67_13" TARGET="main">Create - terminal_interface-curses-panels.ads:67</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_740_13" TARGET="main">Create - terminal_interface-curses.ads:740</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_731_13" TARGET="main">Current - terminal_interface-curses-forms.ads:731</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_293_13" TARGET="main">Current - terminal_interface-curses-menus.ads:293</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_917_16" TARGET="main">Current_Fld</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_651_13" TARGET="main">Current_Window</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_261_16" TARGET="main">Curr_Item</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2460_17" TARGET="main">curses_freeall</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2032_14" TARGET="main">Curses_Free_All</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2019_13" TARGET="main">Curses_Version</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2452_16" TARGET="main">curses_versionC</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2334_16" TARGET="main">Curs_Set</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2438_16" TARGET="main">C_Assume_Default_Colors</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_149_13" TARGET="main">C_Builtin_Router</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_150_13" TARGET="main">C_Choice_Router</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_79_13" TARGET="main">C_Generic_Choice</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-user__ads.htm#ref_80_13" TARGET="main">C_Generic_Type</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2426_16" TARGET="main">C_Use_Default_Colors</A> -</UL></BODY></HTML> +</head> +<body> +<h2>Functions - C</h2> +<a href="../funcs.htm" target="_self">[index]</a> +<ul compact type="disc"> +<li><a href="../terminal_interface-curses__adb.htm#ref_2229_16" target="main">Canchangecolor</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1910_13" target="main">Can_Change_Color</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_772_16" target="main">Cbreak</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_384_13" target="main">Changed</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1016_14" target="main">Change_Attributes - terminal_interface-curses.ads:1016</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1025_14" target="main">Change_Attributes - terminal_interface-curses.ads:1025</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1287_14" target="main">Change_Background</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1323_14" target="main">Change_Lines_Status</a> +<li><a href="../terminal_interface-curses-forms-field_types__ads.htm#ref_186_13" target="main">Char_Check_Router</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1251_14" target="main">Clear</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_970_16" target="main">Clear_Ok</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1152_14" target="main">Clear_On_Next_Update</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1704_14" target="main">Clear_Soft_Label_Keys</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1265_14" target="main">Clear_To_End_Of_Line</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1258_14" target="main">Clear_To_End_Of_Screen</a> +<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_99_13" target="main">Col - terminal_interface-curses-text_io.ads:99</a> +<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_100_13" target="main">Col - terminal_interface-curses-text_io.ads:100</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2246_16" target="main">Colorcontent</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2382_16" target="main">COLORS_As_Function</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1915_14" target="main">Color_Content</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2390_16" target="main">COLOR_PAIRS_As_Function</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2365_16" target="main">COLS_As_Function</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_554_13" target="main">Columns</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1345_14" target="main">Copy</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1275_16" target="main">Copywin</a> +<li><a href="../terminal_interface-curses-forms-field_types__ads.htm#ref_168_13" target="main">Copy_Arg</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_681_16" target="main">Count - terminal_interface-curses-forms.adb:681</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_797_16" target="main">Count - terminal_interface-curses-menus.adb:797</a> +<li><a href="../terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_49_13" target="main">Create - terminal_interface-curses-forms-field_types-enumeration-ada.ads:49</a> +<li><a href="../terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_13" target="main">Create - terminal_interface-curses-forms-field_types-enumeration.ads:65</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_295_13" target="main">Create - terminal_interface-curses-forms.ads:295</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_625_13" target="main">Create - terminal_interface-curses-forms.ads:625</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_190_13" target="main">Create - terminal_interface-curses-menus.ads:190</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_637_13" target="main">Create - terminal_interface-curses-menus.ads:637</a> +<li><a href="../terminal_interface-curses-panels__ads.htm#ref_67_13" target="main">Create - terminal_interface-curses-panels.ads:67</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_740_13" target="main">Create - terminal_interface-curses.ads:740</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_731_13" target="main">Current - terminal_interface-curses-forms.ads:731</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_293_13" target="main">Current - terminal_interface-curses-menus.ads:293</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_917_16" target="main">Current_Fld</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_651_13" target="main">Current_Window</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_261_16" target="main">Curr_Item</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2460_17" target="main">curses_freeall</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_2032_14" target="main">Curses_Free_All</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_2019_13" target="main">Curses_Version</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2452_16" target="main">curses_versionC</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2334_16" target="main">Curs_Set</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2438_16" target="main">C_Assume_Default_Colors</a> +<li><a href="../terminal_interface-curses-forms-field_types__ads.htm#ref_149_13" target="main">C_Builtin_Router</a> +<li><a href="../terminal_interface-curses-forms-field_types__ads.htm#ref_150_13" target="main">C_Choice_Router</a> +<li><a href="../terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_79_13" target="main">C_Generic_Choice</a> +<li><a href="../terminal_interface-curses-forms-field_types-user__ads.htm#ref_80_13" target="main">C_Generic_Type</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2426_16" target="main">C_Use_Default_Colors</a> +</ul></body></html> diff --git a/doc/html/ada/funcs/D.htm b/doc/html/ada/funcs/D.htm index d58ec5bdbd23..2c16baa45e9b 100644 --- a/doc/html/ada/funcs/D.htm +++ b/doc/html/ada/funcs/D.htm @@ -1,51 +1,51 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<HTML> -<HEAD> -<TITLE>D</TITLE> +<html> +<head> +<title>D</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</HEAD> -<BODY> -<H2>Functions - D</H2> -<A HREF="../funcs.htm" TARGET="_self">[index]</A> -<UL COMPACT TYPE=DISC> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_694_13" TARGET="main">Data_Ahead</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_699_13" TARGET="main">Data_Behind</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_105_13" TARGET="main">Default_Field_Options</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_127_13" TARGET="main">Default_Form_Options</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_167_13" TARGET="main">Default_Item_Options</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_146_13" TARGET="main">Default_Menu_Options</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1767_14" TARGET="main">Define_Key</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2013_16" TARGET="main">Defkey</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2266_16" TARGET="main">Def_Prog_Mode</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2268_16" TARGET="main">Def_Shell_Mode</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2045_16" TARGET="main">Delayoutput</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1804_14" TARGET="main">Delay_Output</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_317_14" TARGET="main">Delete - terminal_interface-curses-forms.ads:317</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_636_14" TARGET="main">Delete - terminal_interface-curses-forms.ads:636</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_202_14" TARGET="main">Delete - terminal_interface-curses-menus.ads:202</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_644_14" TARGET="main">Delete - terminal_interface-curses-menus.ads:644</A> -<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_139_14" TARGET="main">Delete - terminal_interface-curses-panels.ads:139</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_759_14" TARGET="main">Delete - terminal_interface-curses.ads:759</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1505_14" TARGET="main">Delete_Character - terminal_interface-curses.ads:1505</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1510_14" TARGET="main">Delete_Character - terminal_interface-curses.ads:1510</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1383_14" TARGET="main">Delete_Line</A> -<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_157_16" TARGET="main">Del_Panel</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_775_13" TARGET="main">Derived_Window</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_299_16" TARGET="main">Derwin</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_108_16" TARGET="main">Descname - terminal_interface-curses-menus.adb:108</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_234_16" TARGET="main">Descname - terminal_interface-curses-menus.adb:234</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_242_16" TARGET="main">Descname - terminal_interface-curses-menus.adb:242</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_273_14" TARGET="main">Description - terminal_interface-curses-menus.ads:273</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_277_14" TARGET="main">Description - terminal_interface-curses-menus.ads:277</A> -<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_130_14" TARGET="main">Dispatch_Event</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1062_16" TARGET="main">Do_Update</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_713_13" TARGET="main">Driver - terminal_interface-curses-forms.ads:713</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_659_13" TARGET="main">Driver - terminal_interface-curses-menus.ads:659</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_855_16" TARGET="main">Driver - terminal_interface-curses-menus.adb:855</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_323_13" TARGET="main">Duplicate - terminal_interface-curses-forms.ads:323</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_785_13" TARGET="main">Duplicate - terminal_interface-curses.ads:785</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_322_16" TARGET="main">Dupwin</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_131_16" TARGET="main">Dup_Field</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_495_14" TARGET="main">Dynamic_Info</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_495_16" TARGET="main">Dyn_Info</A> -</UL></BODY></HTML> +</head> +<body> +<h2>Functions - D</h2> +<a href="../funcs.htm" target="_self">[index]</a> +<ul compact type="disc"> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_694_13" target="main">Data_Ahead</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_699_13" target="main">Data_Behind</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_105_13" target="main">Default_Field_Options</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_127_13" target="main">Default_Form_Options</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_167_13" target="main">Default_Item_Options</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_146_13" target="main">Default_Menu_Options</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1767_14" target="main">Define_Key</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2013_16" target="main">Defkey</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2266_16" target="main">Def_Prog_Mode</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2268_16" target="main">Def_Shell_Mode</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2045_16" target="main">Delayoutput</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1804_14" target="main">Delay_Output</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_317_14" target="main">Delete - terminal_interface-curses-forms.ads:317</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_636_14" target="main">Delete - terminal_interface-curses-forms.ads:636</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_202_14" target="main">Delete - terminal_interface-curses-menus.ads:202</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_644_14" target="main">Delete - terminal_interface-curses-menus.ads:644</a> +<li><a href="../terminal_interface-curses-panels__ads.htm#ref_139_14" target="main">Delete - terminal_interface-curses-panels.ads:139</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_759_14" target="main">Delete - terminal_interface-curses.ads:759</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1505_14" target="main">Delete_Character - terminal_interface-curses.ads:1505</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1510_14" target="main">Delete_Character - terminal_interface-curses.ads:1510</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1383_14" target="main">Delete_Line</a> +<li><a href="../terminal_interface-curses-panels__adb.htm#ref_157_16" target="main">Del_Panel</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_775_13" target="main">Derived_Window</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_299_16" target="main">Derwin</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_108_16" target="main">Descname - terminal_interface-curses-menus.adb:108</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_234_16" target="main">Descname - terminal_interface-curses-menus.adb:234</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_242_16" target="main">Descname - terminal_interface-curses-menus.adb:242</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_273_14" target="main">Description - terminal_interface-curses-menus.ads:273</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_277_14" target="main">Description - terminal_interface-curses-menus.ads:277</a> +<li><a href="../terminal_interface-curses-mouse__adb.htm#ref_130_14" target="main">Dispatch_Event</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1062_16" target="main">Do_Update</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_713_13" target="main">Driver - terminal_interface-curses-forms.ads:713</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_659_13" target="main">Driver - terminal_interface-curses-menus.ads:659</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_855_16" target="main">Driver - terminal_interface-curses-menus.adb:855</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_323_13" target="main">Duplicate - terminal_interface-curses-forms.ads:323</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_785_13" target="main">Duplicate - terminal_interface-curses.ads:785</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_322_16" target="main">Dupwin</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_131_16" target="main">Dup_Field</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_495_14" target="main">Dynamic_Info</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_495_16" target="main">Dyn_Info</a> +</ul></body></html> diff --git a/doc/html/ada/funcs/E.htm b/doc/html/ada/funcs/E.htm index 9504d2547503..b161c0646f03 100644 --- a/doc/html/ada/funcs/E.htm +++ b/doc/html/ada/funcs/E.htm @@ -1,22 +1,22 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<HTML> -<HEAD> -<TITLE>E</TITLE> +<html> +<head> +<title>E</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</HEAD> -<BODY> -<H2>Functions - E</H2> -<A HREF="../funcs.htm" TARGET="_self">[index]</A> -<UL COMPACT TYPE=DISC> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_810_16" TARGET="main">Echo</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1757_14" TARGET="main">Enable_Key</A> -<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_147_13" TARGET="main">Enclosed_In_Window</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_113_16" TARGET="main">Endwin</A> -<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_121_14" TARGET="main">End_Mouse</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_668_14" TARGET="main">End_Screen</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_666_14" TARGET="main">End_Windows</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1245_14" TARGET="main">Erase</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2073_16" TARGET="main">Erasechar</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1823_13" TARGET="main">Erase_Character</A> -<LI><A HREF="../terminal_interface-curses-aux__ads.htm#ref_87_14" TARGET="main">Eti_Exception</A> -</UL></BODY></HTML> +</head> +<body> +<h2>Functions - E</h2> +<a href="../funcs.htm" target="_self">[index]</a> +<ul compact type="disc"> +<li><a href="../terminal_interface-curses__adb.htm#ref_810_16" target="main">Echo</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1757_14" target="main">Enable_Key</a> +<li><a href="../terminal_interface-curses-mouse__ads.htm#ref_147_13" target="main">Enclosed_In_Window</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_113_16" target="main">Endwin</a> +<li><a href="../terminal_interface-curses-mouse__ads.htm#ref_121_14" target="main">End_Mouse</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_668_14" target="main">End_Screen</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_666_14" target="main">End_Windows</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1245_14" target="main">Erase</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2073_16" target="main">Erasechar</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1823_13" target="main">Erase_Character</a> +<li><a href="../terminal_interface-curses-aux__ads.htm#ref_87_14" target="main">Eti_Exception</a> +</ul></body></html> diff --git a/doc/html/ada/funcs/F.htm b/doc/html/ada/funcs/F.htm index d1914863be64..9e6bac8f1dd3 100644 --- a/doc/html/ada/funcs/F.htm +++ b/doc/html/ada/funcs/F.htm @@ -1,59 +1,59 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<HTML> -<HEAD> -<TITLE>F</TITLE> +<html> +<head> +<title>F</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</HEAD> -<BODY> -<H2>Functions - F</H2> -<A HREF="../funcs.htm" TARGET="_self">[index]</A> -<UL COMPACT TYPE=DISC> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_603_13" TARGET="main">Fields</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_411_16" TARGET="main">Field_Back - terminal_interface-curses-forms.adb:411</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_421_16" TARGET="main">Field_Back - terminal_interface-curses-forms.adb:421</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_223_16" TARGET="main">Field_Buffer - terminal_interface-curses-forms.adb:223</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_234_16" TARGET="main">Field_Buffer - terminal_interface-curses-forms.adb:234</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_178_13" TARGET="main">Field_Check_Router</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_609_13" TARGET="main">Field_Count</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_372_16" TARGET="main">Field_Fore - terminal_interface-curses-forms.adb:372</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_382_16" TARGET="main">Field_Fore - terminal_interface-curses-forms.adb:382</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_189_16" TARGET="main">Field_Just</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_328_16" TARGET="main">Field_Opts</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_311_16" TARGET="main">Field_Opts_Off</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_308_16" TARGET="main">Field_Opts_On</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_447_16" TARGET="main">Field_Pad</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_260_16" TARGET="main">Field_Status</A> -<LI><A HREF="../terminal_interface-curses-forms-field_user_data__adb.htm#ref_68_16" TARGET="main">Field_Userptr</A> -<LI><A HREF="../terminal_interface-curses-aux__ads.htm#ref_91_14" TARGET="main">Fill_String - terminal_interface-curses-aux.ads:91</A> -<LI><A HREF="../terminal_interface-curses-aux__ads.htm#ref_96_13" TARGET="main">Fill_String - terminal_interface-curses-aux.ads:96</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_762_16" TARGET="main">Flash</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1046_14" TARGET="main">Flash_Screen</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_468_16" TARGET="main">Fld_Info</A> -<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_66_14" TARGET="main">Flush - terminal_interface-curses-text_io.ads:66</A> -<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_67_14" TARGET="main">Flush - terminal_interface-curses-text_io.ads:67</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2055_16" TARGET="main">Flushinp</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1809_14" TARGET="main">Flush_Input</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_436_14" TARGET="main">Foreground - terminal_interface-curses-forms.ads:436</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_441_14" TARGET="main">Foreground - terminal_interface-curses-forms.ads:441</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_430_14" TARGET="main">Foreground - terminal_interface-curses-menus.ads:430</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_435_14" TARGET="main">Foreground - terminal_interface-curses-menus.ads:435</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_550_14" TARGET="main">Format</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_780_16" TARGET="main">Form_Opts</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_763_16" TARGET="main">Form_Opts_Off</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_760_16" TARGET="main">Form_Opts_On</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_68_16" TARGET="main">Form_Request_Name - terminal_interface-curses-forms.adb:68</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_76_16" TARGET="main">Form_Request_Name - terminal_interface-curses-forms.adb:76</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_554_16" TARGET="main">Form_Sub</A> -<LI><A HREF="../terminal_interface-curses-forms-form_user_data__adb.htm#ref_69_16" TARGET="main">Form_Userptr</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_529_16" TARGET="main">Form_Win</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_138_14" TARGET="main">Free - terminal_interface-curses-forms.ads:138</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_179_14" TARGET="main">Free - terminal_interface-curses-menus.ads:179</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_729_16" TARGET="main">Free - terminal_interface-curses-forms.adb:729</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_843_16" TARGET="main">Free - terminal_interface-curses-menus.adb:843</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_113_16" TARGET="main">Freeitem</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_173_14" TARGET="main">Free_Arg</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_117_16" TARGET="main">Free_Field</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_879_16" TARGET="main">Frm_Driver</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_952_13" TARGET="main">Function_Key</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_957_13" TARGET="main">Function_Key_Code</A> -</UL></BODY></HTML> +</head> +<body> +<h2>Functions - F</h2> +<a href="../funcs.htm" target="_self">[index]</a> +<ul compact type="disc"> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_603_13" target="main">Fields</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_411_16" target="main">Field_Back - terminal_interface-curses-forms.adb:411</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_421_16" target="main">Field_Back - terminal_interface-curses-forms.adb:421</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_223_16" target="main">Field_Buffer - terminal_interface-curses-forms.adb:223</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_234_16" target="main">Field_Buffer - terminal_interface-curses-forms.adb:234</a> +<li><a href="../terminal_interface-curses-forms-field_types__ads.htm#ref_178_13" target="main">Field_Check_Router</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_609_13" target="main">Field_Count</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_372_16" target="main">Field_Fore - terminal_interface-curses-forms.adb:372</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_382_16" target="main">Field_Fore - terminal_interface-curses-forms.adb:382</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_189_16" target="main">Field_Just</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_328_16" target="main">Field_Opts</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_311_16" target="main">Field_Opts_Off</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_308_16" target="main">Field_Opts_On</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_447_16" target="main">Field_Pad</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_260_16" target="main">Field_Status</a> +<li><a href="../terminal_interface-curses-forms-field_user_data__adb.htm#ref_68_16" target="main">Field_Userptr</a> +<li><a href="../terminal_interface-curses-aux__ads.htm#ref_91_14" target="main">Fill_String - terminal_interface-curses-aux.ads:91</a> +<li><a href="../terminal_interface-curses-aux__ads.htm#ref_96_13" target="main">Fill_String - terminal_interface-curses-aux.ads:96</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_762_16" target="main">Flash</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1046_14" target="main">Flash_Screen</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_468_16" target="main">Fld_Info</a> +<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_66_14" target="main">Flush - terminal_interface-curses-text_io.ads:66</a> +<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_67_14" target="main">Flush - terminal_interface-curses-text_io.ads:67</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2055_16" target="main">Flushinp</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1809_14" target="main">Flush_Input</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_436_14" target="main">Foreground - terminal_interface-curses-forms.ads:436</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_441_14" target="main">Foreground - terminal_interface-curses-forms.ads:441</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_430_14" target="main">Foreground - terminal_interface-curses-menus.ads:430</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_435_14" target="main">Foreground - terminal_interface-curses-menus.ads:435</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_550_14" target="main">Format</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_780_16" target="main">Form_Opts</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_763_16" target="main">Form_Opts_Off</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_760_16" target="main">Form_Opts_On</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_68_16" target="main">Form_Request_Name - terminal_interface-curses-forms.adb:68</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_76_16" target="main">Form_Request_Name - terminal_interface-curses-forms.adb:76</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_554_16" target="main">Form_Sub</a> +<li><a href="../terminal_interface-curses-forms-form_user_data__adb.htm#ref_69_16" target="main">Form_Userptr</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_529_16" target="main">Form_Win</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_138_14" target="main">Free - terminal_interface-curses-forms.ads:138</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_179_14" target="main">Free - terminal_interface-curses-menus.ads:179</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_729_16" target="main">Free - terminal_interface-curses-forms.adb:729</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_843_16" target="main">Free - terminal_interface-curses-menus.adb:843</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_113_16" target="main">Freeitem</a> +<li><a href="../terminal_interface-curses-forms-field_types__ads.htm#ref_173_14" target="main">Free_Arg</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_117_16" target="main">Free_Field</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_879_16" target="main">Frm_Driver</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_952_13" target="main">Function_Key</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_957_13" target="main">Function_Key_Code</a> +</ul></body></html> diff --git a/doc/html/ada/funcs/G.htm b/doc/html/ada/funcs/G.htm index 2a329f3c3de2..166fbc1a724c 100644 --- a/doc/html/ada/funcs/G.htm +++ b/doc/html/ada/funcs/G.htm @@ -1,100 +1,100 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<HTML> -<HEAD> -<TITLE>G</TITLE> +<html> +<head> +<title>G</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</HEAD> -<BODY> -<H2>Functions - G</H2> -<A HREF="../funcs.htm" TARGET="_self">[index]</A> -<UL COMPACT TYPE=DISC> -<LI><A HREF="../terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_13" TARGET="main">Generic_Char_Check</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_13" TARGET="main">Generic_Field_Check</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_81_13" TARGET="main">Generic_Next</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_88_13" TARGET="main">Generic_Prev</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1634_14" TARGET="main">Get - terminal_interface-curses.ads:1634</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1645_14" TARGET="main">Get - terminal_interface-curses.ads:1645</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1377_16" TARGET="main">GetBegX</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1374_16" TARGET="main">GetBegY</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1395_16" TARGET="main">GetCurX</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1392_16" TARGET="main">GetCurY</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1359_16" TARGET="main">GetMaxX</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1356_16" TARGET="main">GetMaxY</A> -<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_65_16" TARGET="main">Getmouse</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1414_16" TARGET="main">GetParX</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1411_16" TARGET="main">GetParY</A> -<LI><A HREF="../terminal_interface-curses-putwin__adb.htm#ref_66_16" TARGET="main">getwin</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types__adb.htm#ref_62_13" TARGET="main">Get_Arg</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1296_13" TARGET="main">Get_Background</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_364_14" TARGET="main">Get_Buffer - terminal_interface-curses-forms.ads:364</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_370_13" TARGET="main">Get_Buffer - terminal_interface-curses-forms.ads:370</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_997_13" TARGET="main">Get_Character_Attribute - terminal_interface-curses.ads:997</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1003_13" TARGET="main">Get_Character_Attribute - terminal_interface-curses.ads:1003</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1415_14" TARGET="main">Get_Cursor_Position</A> -<LI><A HREF="../terminal_interface-curses-termcap__ads.htm#ref_60_13" TARGET="main">Get_Entry</A> -<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_130_14" TARGET="main">Get_Event</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_958_16" TARGET="main">Get_Fieldindex</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types__adb.htm#ref_59_13" TARGET="main">Get_Fieldtype</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_567_13" TARGET="main">Get_Field_Init_Hook</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_572_13" TARGET="main">Get_Field_Term_Hook</A> -<LI><A HREF="../terminal_interface-curses-termcap__ads.htm#ref_64_13" TARGET="main">Get_Flag - terminal_interface-curses-termcap.ads:64</A> -<LI><A HREF="../terminal_interface-curses-terminfo__ads.htm#ref_65_13" TARGET="main">Get_Flag - terminal_interface-curses-terminfo.ads:65</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_577_13" TARGET="main">Get_Form_Init_Hook</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_582_13" TARGET="main">Get_Form_Term_Hook</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_747_13" TARGET="main">Get_Index - terminal_interface-curses-forms.ads:747</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_309_13" TARGET="main">Get_Index - terminal_interface-curses-menus.ads:309</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_298_16" TARGET="main">Get_Itemindex</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_588_13" TARGET="main">Get_Item_Init_Hook</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_593_13" TARGET="main">Get_Item_Term_Hook</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_347_13" TARGET="main">Get_Justification</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1086_13" TARGET="main">Get_KeyPad_Mode</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_922_13" TARGET="main">Get_Keystroke</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_598_13" TARGET="main">Get_Menu_Init_Hook</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_459_16" TARGET="main">Get_Menu_Mark - terminal_interface-curses-menus.adb:459</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_467_16" TARGET="main">Get_Menu_Mark - terminal_interface-curses-menus.adb:467</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_603_13" TARGET="main">Get_Menu_Term_Hook</A> -<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_126_13" TARGET="main">Get_Mouse</A> -<LI><A HREF="../terminal_interface-curses-termcap__ads.htm#ref_68_14" TARGET="main">Get_Number - terminal_interface-curses-termcap.ads:68</A> -<LI><A HREF="../terminal_interface-curses-terminfo__ads.htm#ref_69_13" TARGET="main">Get_Number - terminal_interface-curses-terminfo.ads:69</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_413_14" TARGET="main">Get_Options - terminal_interface-curses-forms.ads:413</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_418_13" TARGET="main">Get_Options - terminal_interface-curses-forms.ads:418</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_660_14" TARGET="main">Get_Options - terminal_interface-curses-forms.ads:660</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_665_13" TARGET="main">Get_Options - terminal_interface-curses-forms.ads:665</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_250_14" TARGET="main">Get_Options - terminal_interface-curses-menus.ads:250</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_255_13" TARGET="main">Get_Options - terminal_interface-curses-menus.ads:255</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_346_14" TARGET="main">Get_Options - terminal_interface-curses-menus.ads:346</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_351_13" TARGET="main">Get_Options - terminal_interface-curses-menus.ads:351</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1423_14" TARGET="main">Get_Origin_Relative_To_Parent</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_944_16" TARGET="main">Get_Page</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_665_16" TARGET="main">Get_Pattern</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1399_14" TARGET="main">Get_Size</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1693_14" TARGET="main">Get_Soft_Label_Key - terminal_interface-curses.ads:1693</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1698_13" TARGET="main">Get_Soft_Label_Key - terminal_interface-curses.ads:1698</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1734_13" TARGET="main">Get_Soft_Label_Key_Attributes - terminal_interface-curses.ads:1734</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1738_13" TARGET="main">Get_Soft_Label_Key_Attributes - terminal_interface-curses.ads:1738</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_624_16" TARGET="main">Get_Spacing</A> -<LI><A HREF="../terminal_interface-curses-termcap__ads.htm#ref_74_14" TARGET="main">Get_String - terminal_interface-curses-termcap.ads:74</A> -<LI><A HREF="../terminal_interface-curses-termcap__ads.htm#ref_77_13" TARGET="main">Get_String - terminal_interface-curses-termcap.ads:77</A> -<LI><A HREF="../terminal_interface-curses-terminfo__ads.htm#ref_58_14" TARGET="main">Get_String - terminal_interface-curses-terminfo.ads:58</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_524_13" TARGET="main">Get_Sub_Window - terminal_interface-curses-forms.ads:524</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_377_13" TARGET="main">Get_Sub_Window - terminal_interface-curses-menus.ads:377</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_80_13" TARGET="main">Get_Type</A> -<LI><A HREF="../terminal_interface-curses-forms-field_user_data__ads.htm#ref_60_14" TARGET="main">Get_User_Data - terminal_interface-curses-forms-field_user_data.ads:60</A> -<LI><A HREF="../terminal_interface-curses-forms-field_user_data__ads.htm#ref_65_13" TARGET="main">Get_User_Data - terminal_interface-curses-forms-field_user_data.ads:65</A> -<LI><A HREF="../terminal_interface-curses-forms-form_user_data__ads.htm#ref_60_14" TARGET="main">Get_User_Data - terminal_interface-curses-forms-form_user_data.ads:60</A> -<LI><A HREF="../terminal_interface-curses-forms-form_user_data__ads.htm#ref_65_13" TARGET="main">Get_User_Data - terminal_interface-curses-forms-form_user_data.ads:65</A> -<LI><A HREF="../terminal_interface-curses-menus-item_user_data__ads.htm#ref_65_14" TARGET="main">Get_User_Data - terminal_interface-curses-menus-item_user_data.ads:65</A> -<LI><A HREF="../terminal_interface-curses-menus-item_user_data__ads.htm#ref_70_13" TARGET="main">Get_User_Data - terminal_interface-curses-menus-item_user_data.ads:70</A> -<LI><A HREF="../terminal_interface-curses-menus-menu_user_data__ads.htm#ref_60_14" TARGET="main">Get_User_Data - terminal_interface-curses-menus-menu_user_data.ads:60</A> -<LI><A HREF="../terminal_interface-curses-menus-menu_user_data__ads.htm#ref_65_13" TARGET="main">Get_User_Data - terminal_interface-curses-menus-menu_user_data.ads:65</A> -<LI><A HREF="../terminal_interface-curses-panels-user_data__ads.htm#ref_60_14" TARGET="main">Get_User_Data - terminal_interface-curses-panels-user_data.ads:60</A> -<LI><A HREF="../terminal_interface-curses-panels-user_data__ads.htm#ref_65_13" TARGET="main">Get_User_Data - terminal_interface-curses-panels-user_data.ads:65</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_513_13" TARGET="main">Get_Window - terminal_interface-curses-forms.ads:513</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_366_13" TARGET="main">Get_Window - terminal_interface-curses-menus.ads:366</A> -<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_102_13" TARGET="main">Get_Window - terminal_interface-curses-panels.ads:102</A> -<LI><A HREF="../terminal_interface-curses-putwin__ads.htm#ref_49_13" TARGET="main">Get_Window - terminal_interface-curses-putwin.ads:49</A> -<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_63_13" TARGET="main">Get_Window - terminal_interface-curses-text_io.ads:63</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1407_14" TARGET="main">Get_Window_Position</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_470_14" TARGET="main">Grey - terminal_interface-curses-menus.ads:470</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_475_14" TARGET="main">Grey - terminal_interface-curses-menus.ads:475</A> -</UL></BODY></HTML> +</head> +<body> +<h2>Functions - G</h2> +<a href="../funcs.htm" target="_self">[index]</a> +<ul compact type="disc"> +<li><a href="../terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_13" target="main">Generic_Char_Check</a> +<li><a href="../terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_13" target="main">Generic_Field_Check</a> +<li><a href="../terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_81_13" target="main">Generic_Next</a> +<li><a href="../terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_88_13" target="main">Generic_Prev</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1634_14" target="main">Get - terminal_interface-curses.ads:1634</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1645_14" target="main">Get - terminal_interface-curses.ads:1645</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1377_16" target="main">GetBegX</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1374_16" target="main">GetBegY</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1395_16" target="main">GetCurX</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1392_16" target="main">GetCurY</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1359_16" target="main">GetMaxX</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1356_16" target="main">GetMaxY</a> +<li><a href="../terminal_interface-curses-mouse__adb.htm#ref_65_16" target="main">Getmouse</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1414_16" target="main">GetParX</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1411_16" target="main">GetParY</a> +<li><a href="../terminal_interface-curses-putwin__adb.htm#ref_66_16" target="main">getwin</a> +<li><a href="../terminal_interface-curses-forms-field_types__adb.htm#ref_62_13" target="main">Get_Arg</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1296_13" target="main">Get_Background</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_364_14" target="main">Get_Buffer - terminal_interface-curses-forms.ads:364</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_370_13" target="main">Get_Buffer - terminal_interface-curses-forms.ads:370</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_997_13" target="main">Get_Character_Attribute - terminal_interface-curses.ads:997</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1003_13" target="main">Get_Character_Attribute - terminal_interface-curses.ads:1003</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1415_14" target="main">Get_Cursor_Position</a> +<li><a href="../terminal_interface-curses-termcap__ads.htm#ref_60_13" target="main">Get_Entry</a> +<li><a href="../terminal_interface-curses-mouse__ads.htm#ref_130_14" target="main">Get_Event</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_958_16" target="main">Get_Fieldindex</a> +<li><a href="../terminal_interface-curses-forms-field_types__adb.htm#ref_59_13" target="main">Get_Fieldtype</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_567_13" target="main">Get_Field_Init_Hook</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_572_13" target="main">Get_Field_Term_Hook</a> +<li><a href="../terminal_interface-curses-termcap__ads.htm#ref_64_13" target="main">Get_Flag - terminal_interface-curses-termcap.ads:64</a> +<li><a href="../terminal_interface-curses-terminfo__ads.htm#ref_65_13" target="main">Get_Flag - terminal_interface-curses-terminfo.ads:65</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_577_13" target="main">Get_Form_Init_Hook</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_582_13" target="main">Get_Form_Term_Hook</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_747_13" target="main">Get_Index - terminal_interface-curses-forms.ads:747</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_309_13" target="main">Get_Index - terminal_interface-curses-menus.ads:309</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_298_16" target="main">Get_Itemindex</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_588_13" target="main">Get_Item_Init_Hook</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_593_13" target="main">Get_Item_Term_Hook</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_347_13" target="main">Get_Justification</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1086_13" target="main">Get_KeyPad_Mode</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_922_13" target="main">Get_Keystroke</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_598_13" target="main">Get_Menu_Init_Hook</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_459_16" target="main">Get_Menu_Mark - terminal_interface-curses-menus.adb:459</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_467_16" target="main">Get_Menu_Mark - terminal_interface-curses-menus.adb:467</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_603_13" target="main">Get_Menu_Term_Hook</a> +<li><a href="../terminal_interface-curses-mouse__ads.htm#ref_126_13" target="main">Get_Mouse</a> +<li><a href="../terminal_interface-curses-termcap__ads.htm#ref_68_14" target="main">Get_Number - terminal_interface-curses-termcap.ads:68</a> +<li><a href="../terminal_interface-curses-terminfo__ads.htm#ref_69_13" target="main">Get_Number - terminal_interface-curses-terminfo.ads:69</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_413_14" target="main">Get_Options - terminal_interface-curses-forms.ads:413</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_418_13" target="main">Get_Options - terminal_interface-curses-forms.ads:418</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_660_14" target="main">Get_Options - terminal_interface-curses-forms.ads:660</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_665_13" target="main">Get_Options - terminal_interface-curses-forms.ads:665</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_250_14" target="main">Get_Options - terminal_interface-curses-menus.ads:250</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_255_13" target="main">Get_Options - terminal_interface-curses-menus.ads:255</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_346_14" target="main">Get_Options - terminal_interface-curses-menus.ads:346</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_351_13" target="main">Get_Options - terminal_interface-curses-menus.ads:351</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1423_14" target="main">Get_Origin_Relative_To_Parent</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_944_16" target="main">Get_Page</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_665_16" target="main">Get_Pattern</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1399_14" target="main">Get_Size</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1693_14" target="main">Get_Soft_Label_Key - terminal_interface-curses.ads:1693</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1698_13" target="main">Get_Soft_Label_Key - terminal_interface-curses.ads:1698</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1734_13" target="main">Get_Soft_Label_Key_Attributes - terminal_interface-curses.ads:1734</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1738_13" target="main">Get_Soft_Label_Key_Attributes - terminal_interface-curses.ads:1738</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_624_16" target="main">Get_Spacing</a> +<li><a href="../terminal_interface-curses-termcap__ads.htm#ref_74_14" target="main">Get_String - terminal_interface-curses-termcap.ads:74</a> +<li><a href="../terminal_interface-curses-termcap__ads.htm#ref_77_13" target="main">Get_String - terminal_interface-curses-termcap.ads:77</a> +<li><a href="../terminal_interface-curses-terminfo__ads.htm#ref_58_14" target="main">Get_String - terminal_interface-curses-terminfo.ads:58</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_524_13" target="main">Get_Sub_Window - terminal_interface-curses-forms.ads:524</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_377_13" target="main">Get_Sub_Window - terminal_interface-curses-menus.ads:377</a> +<li><a href="../terminal_interface-curses-forms-field_types__ads.htm#ref_80_13" target="main">Get_Type</a> +<li><a href="../terminal_interface-curses-forms-field_user_data__ads.htm#ref_60_14" target="main">Get_User_Data - terminal_interface-curses-forms-field_user_data.ads:60</a> +<li><a href="../terminal_interface-curses-forms-field_user_data__ads.htm#ref_65_13" target="main">Get_User_Data - terminal_interface-curses-forms-field_user_data.ads:65</a> +<li><a href="../terminal_interface-curses-forms-form_user_data__ads.htm#ref_60_14" target="main">Get_User_Data - terminal_interface-curses-forms-form_user_data.ads:60</a> +<li><a href="../terminal_interface-curses-forms-form_user_data__ads.htm#ref_65_13" target="main">Get_User_Data - terminal_interface-curses-forms-form_user_data.ads:65</a> +<li><a href="../terminal_interface-curses-menus-item_user_data__ads.htm#ref_65_14" target="main">Get_User_Data - terminal_interface-curses-menus-item_user_data.ads:65</a> +<li><a href="../terminal_interface-curses-menus-item_user_data__ads.htm#ref_70_13" target="main">Get_User_Data - terminal_interface-curses-menus-item_user_data.ads:70</a> +<li><a href="../terminal_interface-curses-menus-menu_user_data__ads.htm#ref_60_14" target="main">Get_User_Data - terminal_interface-curses-menus-menu_user_data.ads:60</a> +<li><a href="../terminal_interface-curses-menus-menu_user_data__ads.htm#ref_65_13" target="main">Get_User_Data - terminal_interface-curses-menus-menu_user_data.ads:65</a> +<li><a href="../terminal_interface-curses-panels-user_data__ads.htm#ref_60_14" target="main">Get_User_Data - terminal_interface-curses-panels-user_data.ads:60</a> +<li><a href="../terminal_interface-curses-panels-user_data__ads.htm#ref_65_13" target="main">Get_User_Data - terminal_interface-curses-panels-user_data.ads:65</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_513_13" target="main">Get_Window - terminal_interface-curses-forms.ads:513</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_366_13" target="main">Get_Window - terminal_interface-curses-menus.ads:366</a> +<li><a href="../terminal_interface-curses-panels__ads.htm#ref_102_13" target="main">Get_Window - terminal_interface-curses-panels.ads:102</a> +<li><a href="../terminal_interface-curses-putwin__ads.htm#ref_49_13" target="main">Get_Window - terminal_interface-curses-putwin.ads:49</a> +<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_63_13" target="main">Get_Window - terminal_interface-curses-text_io.ads:63</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1407_14" target="main">Get_Window_Position</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_470_14" target="main">Grey - terminal_interface-curses-menus.ads:470</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_475_14" target="main">Grey - terminal_interface-curses-menus.ads:475</a> +</ul></body></html> diff --git a/doc/html/ada/funcs/H.htm b/doc/html/ada/funcs/H.htm index 1809b7b55c8e..c87793746ab8 100644 --- a/doc/html/ada/funcs/H.htm +++ b/doc/html/ada/funcs/H.htm @@ -1,26 +1,26 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<HTML> -<HEAD> -<TITLE>H</TITLE> +<html> +<head> +<title>H</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</HEAD> -<BODY> -<H2>Functions - H</H2> -<A HREF="../funcs.htm" TARGET="_self">[index]</A> -<UL COMPACT TYPE=DISC> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_860_16" TARGET="main">Halfdelay</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1094_14" TARGET="main">Half_Delay</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2199_16" TARGET="main">Hascolors</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_550_16" TARGET="main">Haskey</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1897_13" TARGET="main">Has_Colors</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2089_16" TARGET="main">Has_Ic</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2101_16" TARGET="main">Has_Il</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1833_13" TARGET="main">Has_Insert_Character</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1838_13" TARGET="main">Has_Insert_Line</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_938_13" TARGET="main">Has_Key</A> -<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_91_13" TARGET="main">Has_Mouse</A> -<LI><A HREF="../terminal_interface-curses-terminfo__ads.htm#ref_61_13" TARGET="main">Has_String</A> -<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_97_14" TARGET="main">Hide</A> -<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_96_16" TARGET="main">Hidepanel</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_899_14" TARGET="main">Horizontal_Line</A> -</UL></BODY></HTML> +</head> +<body> +<h2>Functions - H</h2> +<a href="../funcs.htm" target="_self">[index]</a> +<ul compact type="disc"> +<li><a href="../terminal_interface-curses__adb.htm#ref_860_16" target="main">Halfdelay</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1094_14" target="main">Half_Delay</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2199_16" target="main">Hascolors</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_550_16" target="main">Haskey</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1897_13" target="main">Has_Colors</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2089_16" target="main">Has_Ic</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2101_16" target="main">Has_Il</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1833_13" target="main">Has_Insert_Character</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1838_13" target="main">Has_Insert_Line</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_938_13" target="main">Has_Key</a> +<li><a href="../terminal_interface-curses-mouse__ads.htm#ref_91_13" target="main">Has_Mouse</a> +<li><a href="../terminal_interface-curses-terminfo__ads.htm#ref_61_13" target="main">Has_String</a> +<li><a href="../terminal_interface-curses-panels__ads.htm#ref_97_14" target="main">Hide</a> +<li><a href="../terminal_interface-curses-panels__adb.htm#ref_96_16" target="main">Hidepanel</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_899_14" target="main">Horizontal_Line</a> +</ul></body></html> diff --git a/doc/html/ada/funcs/I.htm b/doc/html/ada/funcs/I.htm index e563c5594ca0..97c5e524a67f 100644 --- a/doc/html/ada/funcs/I.htm +++ b/doc/html/ada/funcs/I.htm @@ -1,55 +1,55 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<HTML> -<HEAD> -<TITLE>I</TITLE> +<html> +<head> +<title>I</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</HEAD> -<BODY> -<H2>Functions - I</H2> -<A HREF="../funcs.htm" TARGET="_self">[index]</A> -<UL COMPACT TYPE=DISC> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_994_17" TARGET="main">IDC_Ok</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_982_16" TARGET="main">IDL_Ok</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1180_14" TARGET="main">Immediate_Update_Mode</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1016_17" TARGET="main">Immedok</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_484_14" TARGET="main">Info</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2214_16" TARGET="main">Initcolor</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2157_16" TARGET="main">Initpair</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_100_16" TARGET="main">Initscr</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1902_14" TARGET="main">Init_Color</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1883_14" TARGET="main">Init_Pair</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_657_14" TARGET="main">Init_Screen</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1670_14" TARGET="main">Init_Soft_Label_Keys</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_660_14" TARGET="main">Init_Windows</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1542_14" TARGET="main">Insert - terminal_interface-curses.ads:1542</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1548_14" TARGET="main">Insert - terminal_interface-curses.ads:1548</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1560_14" TARGET="main">Insert - terminal_interface-curses.ads:1560</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1569_14" TARGET="main">Insert - terminal_interface-curses.ads:1569</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1375_14" TARGET="main">Insert_Delete_Lines</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1389_14" TARGET="main">Insert_Line</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_872_16" TARGET="main">Intrflush</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_123_16" TARGET="main">Isendwin</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_673_13" TARGET="main">Is_End_Window</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_945_13" TARGET="main">Is_Function_Key</A> -<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_124_13" TARGET="main">Is_Hidden</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_852_16" TARGET="main">Is_Keypad</A> -<LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_51_13" TARGET="main">Is_MinusOne_Pointer</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_990_16" TARGET="main">Is_New</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_765_13" TARGET="main">Is_New_Page</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1037_16" TARGET="main">Is_Scroll_Ok</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1331_13" TARGET="main">Is_Touched - terminal_interface-curses.ads:1331</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1336_13" TARGET="main">Is_Touched - terminal_interface-curses.ads:1336</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_110_16" TARGET="main">Itemname - terminal_interface-curses-menus.adb:110</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_217_16" TARGET="main">Itemname - terminal_interface-curses-menus.adb:217</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_225_16" TARGET="main">Itemname - terminal_interface-curses-menus.adb:225</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_622_13" TARGET="main">Items</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_628_13" TARGET="main">Item_Count</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_749_16" TARGET="main">Item_Init</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_199_16" TARGET="main">Item_Opts</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_184_16" TARGET="main">Item_Opts_Off</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_181_16" TARGET="main">Item_Opts_On</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_757_16" TARGET="main">Item_Term</A> -<LI><A HREF="../terminal_interface-curses-menus-item_user_data__adb.htm#ref_59_16" TARGET="main">Item_Userptr</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_143_16" TARGET="main">Item_Val</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_156_16" TARGET="main">Item_Vis</A> -</UL></BODY></HTML> +</head> +<body> +<h2>Functions - I</h2> +<a href="../funcs.htm" target="_self">[index]</a> +<ul compact type="disc"> +<li><a href="../terminal_interface-curses__adb.htm#ref_994_17" target="main">IDC_Ok</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_982_16" target="main">IDL_Ok</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1180_14" target="main">Immediate_Update_Mode</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1016_17" target="main">Immedok</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_484_14" target="main">Info</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2214_16" target="main">Initcolor</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2157_16" target="main">Initpair</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_100_16" target="main">Initscr</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1902_14" target="main">Init_Color</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1883_14" target="main">Init_Pair</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_657_14" target="main">Init_Screen</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1670_14" target="main">Init_Soft_Label_Keys</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_660_14" target="main">Init_Windows</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1542_14" target="main">Insert - terminal_interface-curses.ads:1542</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1548_14" target="main">Insert - terminal_interface-curses.ads:1548</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1560_14" target="main">Insert - terminal_interface-curses.ads:1560</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1569_14" target="main">Insert - terminal_interface-curses.ads:1569</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1375_14" target="main">Insert_Delete_Lines</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1389_14" target="main">Insert_Line</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_872_16" target="main">Intrflush</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_123_16" target="main">Isendwin</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_673_13" target="main">Is_End_Window</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_945_13" target="main">Is_Function_Key</a> +<li><a href="../terminal_interface-curses-panels__ads.htm#ref_124_13" target="main">Is_Hidden</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_852_16" target="main">Is_Keypad</a> +<li><a href="../terminal_interface-curses-terminfo__adb.htm#ref_51_13" target="main">Is_MinusOne_Pointer</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_990_16" target="main">Is_New</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_765_13" target="main">Is_New_Page</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1037_16" target="main">Is_Scroll_Ok</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1331_13" target="main">Is_Touched - terminal_interface-curses.ads:1331</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1336_13" target="main">Is_Touched - terminal_interface-curses.ads:1336</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_110_16" target="main">Itemname - terminal_interface-curses-menus.adb:110</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_217_16" target="main">Itemname - terminal_interface-curses-menus.adb:217</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_225_16" target="main">Itemname - terminal_interface-curses-menus.adb:225</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_622_13" target="main">Items</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_628_13" target="main">Item_Count</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_749_16" target="main">Item_Init</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_199_16" target="main">Item_Opts</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_184_16" target="main">Item_Opts_Off</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_181_16" target="main">Item_Opts_On</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_757_16" target="main">Item_Term</a> +<li><a href="../terminal_interface-curses-menus-item_user_data__adb.htm#ref_59_16" target="main">Item_Userptr</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_143_16" target="main">Item_Val</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_156_16" target="main">Item_Vis</a> +</ul></body></html> diff --git a/doc/html/ada/funcs/K.htm b/doc/html/ada/funcs/K.htm index a243874f5a46..47e6835306af 100644 --- a/doc/html/ada/funcs/K.htm +++ b/doc/html/ada/funcs/K.htm @@ -1,18 +1,18 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<HTML> -<HEAD> -<TITLE>K</TITLE> +<html> +<head> +<title>K</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</HEAD> -<BODY> -<H2>Functions - K</H2> -<A HREF="../funcs.htm" TARGET="_self">[index]</A> -<UL COMPACT TYPE=DISC> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_64_16" TARGET="main">Keyname</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1999_16" TARGET="main">Keyok</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_841_16" TARGET="main">Keypad</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1781_14" TARGET="main">Key_Name - terminal_interface-curses.ads:1781</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1787_13" TARGET="main">Key_Name - terminal_interface-curses.ads:1787</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2081_16" TARGET="main">Killchar</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1828_13" TARGET="main">Kill_Character</A> -</UL></BODY></HTML> +</head> +<body> +<h2>Functions - K</h2> +<a href="../funcs.htm" target="_self">[index]</a> +<ul compact type="disc"> +<li><a href="../terminal_interface-curses__adb.htm#ref_64_16" target="main">Keyname</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1999_16" target="main">Keyok</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_841_16" target="main">Keypad</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1781_14" target="main">Key_Name - terminal_interface-curses.ads:1781</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1787_13" target="main">Key_Name - terminal_interface-curses.ads:1787</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2081_16" target="main">Killchar</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1828_13" target="main">Kill_Character</a> +</ul></body></html> diff --git a/doc/html/ada/funcs/L.htm b/doc/html/ada/funcs/L.htm index 2720063c386d..b5929e6b6489 100644 --- a/doc/html/ada/funcs/L.htm +++ b/doc/html/ada/funcs/L.htm @@ -1,25 +1,25 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<HTML> -<HEAD> -<TITLE>L</TITLE> +<html> +<head> +<title>L</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</HEAD> -<BODY> -<H2>Functions - L</H2> -<A HREF="../funcs.htm" TARGET="_self">[index]</A> -<UL COMPACT TYPE=DISC> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1173_14" TARGET="main">Leave_Cursor_After_Update</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1004_16" TARGET="main">Leave_Ok</A> -<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_102_13" TARGET="main">Line - terminal_interface-curses-text_io.ads:102</A> -<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_103_13" TARGET="main">Line - terminal_interface-curses-text_io.ads:103</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_551_13" TARGET="main">Lines</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2357_16" TARGET="main">LINES_As_Function</A> -<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_78_13" TARGET="main">Line_Length - terminal_interface-curses-text_io.ads:78</A> -<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_79_13" TARGET="main">Line_Length - terminal_interface-curses-text_io.ads:79</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_330_13" TARGET="main">Link</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_152_16" TARGET="main">Lnk_Field</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2123_16" TARGET="main">Longname - terminal_interface-curses.adb:2123</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2131_16" TARGET="main">Longname - terminal_interface-curses.adb:2131</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1848_14" TARGET="main">Long_Name - terminal_interface-curses.ads:1848</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1852_13" TARGET="main">Long_Name - terminal_interface-curses.ads:1852</A> -</UL></BODY></HTML> +</head> +<body> +<h2>Functions - L</h2> +<a href="../funcs.htm" target="_self">[index]</a> +<ul compact type="disc"> +<li><a href="../terminal_interface-curses__ads.htm#ref_1173_14" target="main">Leave_Cursor_After_Update</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1004_16" target="main">Leave_Ok</a> +<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_102_13" target="main">Line - terminal_interface-curses-text_io.ads:102</a> +<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_103_13" target="main">Line - terminal_interface-curses-text_io.ads:103</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_551_13" target="main">Lines</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2357_16" target="main">LINES_As_Function</a> +<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_78_13" target="main">Line_Length - terminal_interface-curses-text_io.ads:78</a> +<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_79_13" target="main">Line_Length - terminal_interface-curses-text_io.ads:79</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_330_13" target="main">Link</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_152_16" target="main">Lnk_Field</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2123_16" target="main">Longname - terminal_interface-curses.adb:2123</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2131_16" target="main">Longname - terminal_interface-curses.adb:2131</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1848_14" target="main">Long_Name - terminal_interface-curses.ads:1848</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1852_13" target="main">Long_Name - terminal_interface-curses.ads:1852</a> +</ul></body></html> diff --git a/doc/html/ada/funcs/M.htm b/doc/html/ada/funcs/M.htm index 68b1d5150e7e..00d10119c828 100644 --- a/doc/html/ada/funcs/M.htm +++ b/doc/html/ada/funcs/M.htm @@ -1,55 +1,55 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<HTML> -<HEAD> -<TITLE>M</TITLE> +<html> +<head> +<title>M</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</HEAD> -<BODY> -<H2>Functions - M</H2> -<A HREF="../funcs.htm" TARGET="_self">[index]</A> -<UL COMPACT TYPE=DISC> -<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_163_13" TARGET="main">Make_Arg</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_408_14" TARGET="main">Mark - terminal_interface-curses-menus.ads:408</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_412_14" TARGET="main">Mark - terminal_interface-curses-menus.ads:412</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_529_16" TARGET="main">Menu_Back - terminal_interface-curses-menus.adb:529</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_539_16" TARGET="main">Menu_Back - terminal_interface-curses-menus.adb:539</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_692_16" TARGET="main">Menu_Fmt</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_493_16" TARGET="main">Menu_Fore - terminal_interface-curses-menus.adb:493</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_503_16" TARGET="main">Menu_Fore - terminal_interface-curses-menus.adb:503</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_565_16" TARGET="main">Menu_Grey - terminal_interface-curses-menus.adb:565</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_575_16" TARGET="main">Menu_Grey - terminal_interface-curses-menus.adb:575</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_765_16" TARGET="main">Menu_Init</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_358_16" TARGET="main">Menu_Opts</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_343_16" TARGET="main">Menu_Opts_Off</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_340_16" TARGET="main">Menu_Opts_On</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_596_16" TARGET="main">Menu_Pad</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_407_16" TARGET="main">Menu_Sub</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_773_16" TARGET="main">Menu_Term</A> -<LI><A HREF="../terminal_interface-curses-menus-menu_user_data__adb.htm#ref_60_16" TARGET="main">Menu_Userptr</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_386_16" TARGET="main">Menu_Win</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_830_16" TARGET="main">Meta</A> -<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_109_16" TARGET="main">MMask</A> -<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_212_16" TARGET="main">Mouseinterval</A> -<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_51_16" TARGET="main">Mouse_Avail</A> -<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_154_13" TARGET="main">Mouse_Interval</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_614_14" TARGET="main">Move - terminal_interface-curses-forms.ads:614</A> -<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_117_14" TARGET="main">Move - terminal_interface-curses-panels.ads:117</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_693_16" TARGET="main">Move - terminal_interface-curses-forms.adb:693</A> -<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_133_16" TARGET="main">Move - terminal_interface-curses-panels.adb:133</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_682_14" TARGET="main">Move_Cursor</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_797_14" TARGET="main">Move_Derived_Window</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_790_14" TARGET="main">Move_Window</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_351_16" TARGET="main">Mvderwin</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_176_16" TARGET="main">mvwaddch</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1589_16" TARGET="main">Mvwdelch</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_337_16" TARGET="main">Mvwin</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1613_16" TARGET="main">Mvwinch</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1638_16" TARGET="main">Mvwinsch</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1678_16" TARGET="main">Mvwinsnstr</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_806_16" TARGET="main">M_Post - terminal_interface-curses-forms.adb:806</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_312_16" TARGET="main">M_Post - terminal_interface-curses-menus.adb:312</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_569_16" TARGET="main">M_Scale - terminal_interface-curses-forms.adb:569</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_420_16" TARGET="main">M_Scale - terminal_interface-curses-menus.adb:420</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_808_16" TARGET="main">M_Unpost - terminal_interface-curses-forms.adb:808</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_314_16" TARGET="main">M_Unpost - terminal_interface-curses-menus.adb:314</A> -</UL></BODY></HTML> +</head> +<body> +<h2>Functions - M</h2> +<a href="../funcs.htm" target="_self">[index]</a> +<ul compact type="disc"> +<li><a href="../terminal_interface-curses-forms-field_types__ads.htm#ref_163_13" target="main">Make_Arg</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_408_14" target="main">Mark - terminal_interface-curses-menus.ads:408</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_412_14" target="main">Mark - terminal_interface-curses-menus.ads:412</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_529_16" target="main">Menu_Back - terminal_interface-curses-menus.adb:529</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_539_16" target="main">Menu_Back - terminal_interface-curses-menus.adb:539</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_692_16" target="main">Menu_Fmt</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_493_16" target="main">Menu_Fore - terminal_interface-curses-menus.adb:493</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_503_16" target="main">Menu_Fore - terminal_interface-curses-menus.adb:503</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_565_16" target="main">Menu_Grey - terminal_interface-curses-menus.adb:565</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_575_16" target="main">Menu_Grey - terminal_interface-curses-menus.adb:575</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_765_16" target="main">Menu_Init</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_358_16" target="main">Menu_Opts</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_343_16" target="main">Menu_Opts_Off</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_340_16" target="main">Menu_Opts_On</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_596_16" target="main">Menu_Pad</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_407_16" target="main">Menu_Sub</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_773_16" target="main">Menu_Term</a> +<li><a href="../terminal_interface-curses-menus-menu_user_data__adb.htm#ref_60_16" target="main">Menu_Userptr</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_386_16" target="main">Menu_Win</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_830_16" target="main">Meta</a> +<li><a href="../terminal_interface-curses-mouse__adb.htm#ref_109_16" target="main">MMask</a> +<li><a href="../terminal_interface-curses-mouse__adb.htm#ref_212_16" target="main">Mouseinterval</a> +<li><a href="../terminal_interface-curses-mouse__adb.htm#ref_51_16" target="main">Mouse_Avail</a> +<li><a href="../terminal_interface-curses-mouse__ads.htm#ref_154_13" target="main">Mouse_Interval</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_614_14" target="main">Move - terminal_interface-curses-forms.ads:614</a> +<li><a href="../terminal_interface-curses-panels__ads.htm#ref_117_14" target="main">Move - terminal_interface-curses-panels.ads:117</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_693_16" target="main">Move - terminal_interface-curses-forms.adb:693</a> +<li><a href="../terminal_interface-curses-panels__adb.htm#ref_133_16" target="main">Move - terminal_interface-curses-panels.adb:133</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_682_14" target="main">Move_Cursor</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_797_14" target="main">Move_Derived_Window</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_790_14" target="main">Move_Window</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_351_16" target="main">Mvderwin</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_176_16" target="main">mvwaddch</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1589_16" target="main">Mvwdelch</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_337_16" target="main">Mvwin</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1613_16" target="main">Mvwinch</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1638_16" target="main">Mvwinsch</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1678_16" target="main">Mvwinsnstr</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_806_16" target="main">M_Post - terminal_interface-curses-forms.adb:806</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_312_16" target="main">M_Post - terminal_interface-curses-menus.adb:312</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_569_16" target="main">M_Scale - terminal_interface-curses-forms.adb:569</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_420_16" target="main">M_Scale - terminal_interface-curses-menus.adb:420</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_808_16" target="main">M_Unpost - terminal_interface-curses-forms.adb:808</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_314_16" target="main">M_Unpost - terminal_interface-curses-menus.adb:314</a> +</ul></body></html> diff --git a/doc/html/ada/funcs/N.htm b/doc/html/ada/funcs/N.htm index 861f17a2e00b..cf1300605805 100644 --- a/doc/html/ada/funcs/N.htm +++ b/doc/html/ada/funcs/N.htm @@ -1,39 +1,39 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<HTML> -<HEAD> -<TITLE>N</TITLE> +<html> +<head> +<title>N</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</HEAD> -<BODY> -<H2>Functions - N</H2> -<A HREF="../funcs.htm" TARGET="_self">[index]</A> -<UL COMPACT TYPE=DISC> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_264_14" TARGET="main">Name - terminal_interface-curses-menus.ads:264</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_267_14" TARGET="main">Name - terminal_interface-curses-menus.ads:267</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2347_16" TARGET="main">Napms</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1977_14" TARGET="main">Nap_Milli_Seconds</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_100_16" TARGET="main">Newfield</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_708_16" TARGET="main">NewForm</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_80_16" TARGET="main">Newitem</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_824_16" TARGET="main">Newmenu</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1434_16" TARGET="main">Newpad</A> -<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_52_16" TARGET="main">Newpanel</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_235_16" TARGET="main">Newwin</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_223_13" TARGET="main">New_Fieldtype</A> -<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_87_14" TARGET="main">New_Line - terminal_interface-curses-text_io.ads:87</A> -<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_88_14" TARGET="main">New_Line - terminal_interface-curses-text_io.ads:88</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1438_13" TARGET="main">New_Pad</A> -<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_90_14" TARGET="main">New_Page - terminal_interface-curses-text_io.ads:90</A> -<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_91_14" TARGET="main">New_Page - terminal_interface-curses-text_io.ads:91</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_194_13" TARGET="main">Next_Router</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_949_16" TARGET="main">NL</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_774_16" TARGET="main">NoCbreak</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_903_16" TARGET="main">Nodelay</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_812_16" TARGET="main">NoEcho</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_951_16" TARGET="main">NoNL</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_793_16" TARGET="main">NoRaw</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_936_16" TARGET="main">Notimeout</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_886_17" TARGET="main">No_Qiflush</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_560_13" TARGET="main">Number_Of_Colors</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_563_13" TARGET="main">Number_Of_Color_Pairs</A> -</UL></BODY></HTML> +</head> +<body> +<h2>Functions - N</h2> +<a href="../funcs.htm" target="_self">[index]</a> +<ul compact type="disc"> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_264_14" target="main">Name - terminal_interface-curses-menus.ads:264</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_267_14" target="main">Name - terminal_interface-curses-menus.ads:267</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2347_16" target="main">Napms</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1977_14" target="main">Nap_Milli_Seconds</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_100_16" target="main">Newfield</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_708_16" target="main">NewForm</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_80_16" target="main">Newitem</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_824_16" target="main">Newmenu</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1434_16" target="main">Newpad</a> +<li><a href="../terminal_interface-curses-panels__adb.htm#ref_52_16" target="main">Newpanel</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_235_16" target="main">Newwin</a> +<li><a href="../terminal_interface-curses-forms-field_types__ads.htm#ref_223_13" target="main">New_Fieldtype</a> +<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_87_14" target="main">New_Line - terminal_interface-curses-text_io.ads:87</a> +<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_88_14" target="main">New_Line - terminal_interface-curses-text_io.ads:88</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1438_13" target="main">New_Pad</a> +<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_90_14" target="main">New_Page - terminal_interface-curses-text_io.ads:90</a> +<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_91_14" target="main">New_Page - terminal_interface-curses-text_io.ads:91</a> +<li><a href="../terminal_interface-curses-forms-field_types__ads.htm#ref_194_13" target="main">Next_Router</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_949_16" target="main">NL</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_774_16" target="main">NoCbreak</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_903_16" target="main">Nodelay</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_812_16" target="main">NoEcho</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_951_16" target="main">NoNL</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_793_16" target="main">NoRaw</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_936_16" target="main">Notimeout</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_886_17" target="main">No_Qiflush</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_560_13" target="main">Number_Of_Colors</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_563_13" target="main">Number_Of_Color_Pairs</a> +</ul></body></html> diff --git a/doc/html/ada/funcs/O.htm b/doc/html/ada/funcs/O.htm index 77311503b391..6ade14a5de83 100644 --- a/doc/html/ada/funcs/O.htm +++ b/doc/html/ada/funcs/O.htm @@ -1,16 +1,16 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<HTML> -<HEAD> -<TITLE>O</TITLE> +<html> +<head> +<title>O</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</HEAD> -<BODY> -<H2>Functions - O</H2> -<A HREF="../funcs.htm" TARGET="_self">[index]</A> -<UL COMPACT TYPE=DISC> -<LI><A HREF="../terminal_interface-curses-text_io-aux__adb.htm#ref_60_17" TARGET="main">Output</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1365_14" TARGET="main">Overlay - terminal_interface-curses.ads:1365</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1317_16" TARGET="main">Overlay - terminal_interface-curses.adb:1317</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1359_14" TARGET="main">Overwrite - terminal_interface-curses.ads:1359</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1305_16" TARGET="main">Overwrite - terminal_interface-curses.adb:1305</A> -</UL></BODY></HTML> +</head> +<body> +<h2>Functions - O</h2> +<a href="../funcs.htm" target="_self">[index]</a> +<ul compact type="disc"> +<li><a href="../terminal_interface-curses-text_io-aux__adb.htm#ref_60_17" target="main">Output</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1365_14" target="main">Overlay - terminal_interface-curses.ads:1365</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1317_16" target="main">Overlay - terminal_interface-curses.adb:1317</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1359_14" target="main">Overwrite - terminal_interface-curses.ads:1359</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1305_16" target="main">Overwrite - terminal_interface-curses.adb:1305</a> +</ul></body></html> diff --git a/doc/html/ada/funcs/P.htm b/doc/html/ada/funcs/P.htm index f34fe5a93683..d52c66dc003c 100644 --- a/doc/html/ada/funcs/P.htm +++ b/doc/html/ada/funcs/P.htm @@ -1,63 +1,63 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<HTML> -<HEAD> -<TITLE>P</TITLE> +<html> +<head> +<title>P</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</HEAD> -<BODY> -<H2>Functions - P</H2> -<A HREF="../funcs.htm" TARGET="_self">[index]</A> -<UL COMPACT TYPE=DISC> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_474_14" TARGET="main">Pad_Character - terminal_interface-curses-forms.ads:474</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_489_14" TARGET="main">Pad_Character - terminal_interface-curses-menus.ads:489</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_742_13" TARGET="main">Page</A> -<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_81_13" TARGET="main">Page_Length - terminal_interface-curses-text_io.ads:81</A> -<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_82_13" TARGET="main">Page_Length - terminal_interface-curses-text_io.ads:82</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2182_16" TARGET="main">Paircontent</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1890_14" TARGET="main">Pair_Content</A> -<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_145_16" TARGET="main">Panel_Hidden</A> -<LI><A HREF="../terminal_interface-curses-panels-user_data__adb.htm#ref_66_16" TARGET="main">Panel_Userptr</A> -<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_106_16" TARGET="main">Panel_Win</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_526_14" TARGET="main">Pattern</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1540_16" TARGET="main">Pechochar</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1523_13" TARGET="main">Peek - terminal_interface-curses.ads:1523</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1529_13" TARGET="main">Peek - terminal_interface-curses.ads:1529</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1585_14" TARGET="main">Peek - terminal_interface-curses.ads:1585</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1594_14" TARGET="main">Peek - terminal_interface-curses.ads:1594</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1609_14" TARGET="main">Peek - terminal_interface-curses.ads:1609</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1618_14" TARGET="main">Peek - terminal_interface-curses.ads:1618</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1514_16" TARGET="main">Pnoutrefresh</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_685_14" TARGET="main">Position_Cursor - terminal_interface-curses-forms.ads:685</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_393_14" TARGET="main">Position_Cursor - terminal_interface-curses-menus.ads:393</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_674_14" TARGET="main">Post - terminal_interface-curses-forms.ads:674</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_321_14" TARGET="main">Post - terminal_interface-curses-menus.ads:321</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_827_16" TARGET="main">Pos_Form_Cursor</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_433_16" TARGET="main">Pos_Menu_Cursor</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1483_16" TARGET="main">Prefresh</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_202_13" TARGET="main">Prev_Router</A> -<LI><A HREF="../terminal_interface-curses-text_io-complex_io__ads.htm#ref_55_14" TARGET="main">Put - terminal_interface-curses-text_io-complex_io.ads:55</A> -<LI><A HREF="../terminal_interface-curses-text_io-complex_io__ads.htm#ref_62_14" TARGET="main">Put - terminal_interface-curses-text_io-complex_io.ads:62</A> -<LI><A HREF="../terminal_interface-curses-text_io-decimal_io__ads.htm#ref_51_14" TARGET="main">Put - terminal_interface-curses-text_io-decimal_io.ads:51</A> -<LI><A HREF="../terminal_interface-curses-text_io-decimal_io__ads.htm#ref_58_14" TARGET="main">Put - terminal_interface-curses-text_io-decimal_io.ads:58</A> -<LI><A HREF="../terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_50_14" TARGET="main">Put - terminal_interface-curses-text_io-enumeration_io.ads:50</A> -<LI><A HREF="../terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_56_14" TARGET="main">Put - terminal_interface-curses-text_io-enumeration_io.ads:56</A> -<LI><A HREF="../terminal_interface-curses-text_io-fixed_io__ads.htm#ref_51_14" TARGET="main">Put - terminal_interface-curses-text_io-fixed_io.ads:51</A> -<LI><A HREF="../terminal_interface-curses-text_io-fixed_io__ads.htm#ref_58_14" TARGET="main">Put - terminal_interface-curses-text_io-fixed_io.ads:58</A> -<LI><A HREF="../terminal_interface-curses-text_io-float_io__ads.htm#ref_51_14" TARGET="main">Put - terminal_interface-curses-text_io-float_io.ads:51</A> -<LI><A HREF="../terminal_interface-curses-text_io-float_io__ads.htm#ref_58_14" TARGET="main">Put - terminal_interface-curses-text_io-float_io.ads:58</A> -<LI><A HREF="../terminal_interface-curses-text_io-integer_io__ads.htm#ref_50_14" TARGET="main">Put - terminal_interface-curses-text_io-integer_io.ads:50</A> -<LI><A HREF="../terminal_interface-curses-text_io-integer_io__ads.htm#ref_56_14" TARGET="main">Put - terminal_interface-curses-text_io-integer_io.ads:56</A> -<LI><A HREF="../terminal_interface-curses-text_io-modular_io__ads.htm#ref_50_14" TARGET="main">Put - terminal_interface-curses-text_io-modular_io.ads:50</A> -<LI><A HREF="../terminal_interface-curses-text_io-modular_io__ads.htm#ref_56_14" TARGET="main">Put - terminal_interface-curses-text_io-modular_io.ads:56</A> -<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_109_14" TARGET="main">Put - terminal_interface-curses-text_io.ads:109</A> -<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_110_14" TARGET="main">Put - terminal_interface-curses-text_io.ads:110</A> -<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_116_14" TARGET="main">Put - terminal_interface-curses-text_io.ads:116</A> -<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_117_14" TARGET="main">Put - terminal_interface-curses-text_io.ads:117</A> -<LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_144_16" TARGET="main">putp</A> -<LI><A HREF="../terminal_interface-curses-putwin__adb.htm#ref_54_16" TARGET="main">putwin</A> -<LI><A HREF="../terminal_interface-curses-text_io-aux__ads.htm#ref_49_14" TARGET="main">Put_Buf</A> -<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_119_14" TARGET="main">Put_Line - terminal_interface-curses-text_io.ads:119</A> -<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_123_14" TARGET="main">Put_Line - terminal_interface-curses-text_io.ads:123</A> -<LI><A HREF="../terminal_interface-curses-terminfo__ads.htm#ref_77_14" TARGET="main">Put_String</A> -<LI><A HREF="../terminal_interface-curses-putwin__ads.htm#ref_46_14" TARGET="main">Put_Window</A> -</UL></BODY></HTML> +</head> +<body> +<h2>Functions - P</h2> +<a href="../funcs.htm" target="_self">[index]</a> +<ul compact type="disc"> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_474_14" target="main">Pad_Character - terminal_interface-curses-forms.ads:474</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_489_14" target="main">Pad_Character - terminal_interface-curses-menus.ads:489</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_742_13" target="main">Page</a> +<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_81_13" target="main">Page_Length - terminal_interface-curses-text_io.ads:81</a> +<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_82_13" target="main">Page_Length - terminal_interface-curses-text_io.ads:82</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2182_16" target="main">Paircontent</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1890_14" target="main">Pair_Content</a> +<li><a href="../terminal_interface-curses-panels__adb.htm#ref_145_16" target="main">Panel_Hidden</a> +<li><a href="../terminal_interface-curses-panels-user_data__adb.htm#ref_66_16" target="main">Panel_Userptr</a> +<li><a href="../terminal_interface-curses-panels__adb.htm#ref_106_16" target="main">Panel_Win</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_526_14" target="main">Pattern</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1540_16" target="main">Pechochar</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1523_13" target="main">Peek - terminal_interface-curses.ads:1523</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1529_13" target="main">Peek - terminal_interface-curses.ads:1529</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1585_14" target="main">Peek - terminal_interface-curses.ads:1585</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1594_14" target="main">Peek - terminal_interface-curses.ads:1594</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1609_14" target="main">Peek - terminal_interface-curses.ads:1609</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1618_14" target="main">Peek - terminal_interface-curses.ads:1618</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1514_16" target="main">Pnoutrefresh</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_685_14" target="main">Position_Cursor - terminal_interface-curses-forms.ads:685</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_393_14" target="main">Position_Cursor - terminal_interface-curses-menus.ads:393</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_674_14" target="main">Post - terminal_interface-curses-forms.ads:674</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_321_14" target="main">Post - terminal_interface-curses-menus.ads:321</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_827_16" target="main">Pos_Form_Cursor</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_433_16" target="main">Pos_Menu_Cursor</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1483_16" target="main">Prefresh</a> +<li><a href="../terminal_interface-curses-forms-field_types__ads.htm#ref_202_13" target="main">Prev_Router</a> +<li><a href="../terminal_interface-curses-text_io-complex_io__ads.htm#ref_55_14" target="main">Put - terminal_interface-curses-text_io-complex_io.ads:55</a> +<li><a href="../terminal_interface-curses-text_io-complex_io__ads.htm#ref_62_14" target="main">Put - terminal_interface-curses-text_io-complex_io.ads:62</a> +<li><a href="../terminal_interface-curses-text_io-decimal_io__ads.htm#ref_51_14" target="main">Put - terminal_interface-curses-text_io-decimal_io.ads:51</a> +<li><a href="../terminal_interface-curses-text_io-decimal_io__ads.htm#ref_58_14" target="main">Put - terminal_interface-curses-text_io-decimal_io.ads:58</a> +<li><a href="../terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_50_14" target="main">Put - terminal_interface-curses-text_io-enumeration_io.ads:50</a> +<li><a href="../terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_56_14" target="main">Put - terminal_interface-curses-text_io-enumeration_io.ads:56</a> +<li><a href="../terminal_interface-curses-text_io-fixed_io__ads.htm#ref_51_14" target="main">Put - terminal_interface-curses-text_io-fixed_io.ads:51</a> +<li><a href="../terminal_interface-curses-text_io-fixed_io__ads.htm#ref_58_14" target="main">Put - terminal_interface-curses-text_io-fixed_io.ads:58</a> +<li><a href="../terminal_interface-curses-text_io-float_io__ads.htm#ref_51_14" target="main">Put - terminal_interface-curses-text_io-float_io.ads:51</a> +<li><a href="../terminal_interface-curses-text_io-float_io__ads.htm#ref_58_14" target="main">Put - terminal_interface-curses-text_io-float_io.ads:58</a> +<li><a href="../terminal_interface-curses-text_io-integer_io__ads.htm#ref_50_14" target="main">Put - terminal_interface-curses-text_io-integer_io.ads:50</a> +<li><a href="../terminal_interface-curses-text_io-integer_io__ads.htm#ref_56_14" target="main">Put - terminal_interface-curses-text_io-integer_io.ads:56</a> +<li><a href="../terminal_interface-curses-text_io-modular_io__ads.htm#ref_50_14" target="main">Put - terminal_interface-curses-text_io-modular_io.ads:50</a> +<li><a href="../terminal_interface-curses-text_io-modular_io__ads.htm#ref_56_14" target="main">Put - terminal_interface-curses-text_io-modular_io.ads:56</a> +<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_109_14" target="main">Put - terminal_interface-curses-text_io.ads:109</a> +<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_110_14" target="main">Put - terminal_interface-curses-text_io.ads:110</a> +<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_116_14" target="main">Put - terminal_interface-curses-text_io.ads:116</a> +<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_117_14" target="main">Put - terminal_interface-curses-text_io.ads:117</a> +<li><a href="../terminal_interface-curses-terminfo__adb.htm#ref_144_16" target="main">putp</a> +<li><a href="../terminal_interface-curses-putwin__adb.htm#ref_54_16" target="main">putwin</a> +<li><a href="../terminal_interface-curses-text_io-aux__ads.htm#ref_49_14" target="main">Put_Buf</a> +<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_119_14" target="main">Put_Line - terminal_interface-curses-text_io.ads:119</a> +<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_123_14" target="main">Put_Line - terminal_interface-curses-text_io.ads:123</a> +<li><a href="../terminal_interface-curses-terminfo__ads.htm#ref_77_14" target="main">Put_String</a> +<li><a href="../terminal_interface-curses-putwin__ads.htm#ref_46_14" target="main">Put_Window</a> +</ul></body></html> diff --git a/doc/html/ada/funcs/Q.htm b/doc/html/ada/funcs/Q.htm index 7810b95938b4..bcfee70d90ca 100644 --- a/doc/html/ada/funcs/Q.htm +++ b/doc/html/ada/funcs/Q.htm @@ -1,12 +1,12 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<HTML> -<HEAD> -<TITLE>Q</TITLE> +<html> +<head> +<title>Q</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</HEAD> -<BODY> -<H2>Functions - Q</H2> -<A HREF="../funcs.htm" TARGET="_self">[index]</A> -<UL COMPACT TYPE=DISC> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_884_17" TARGET="main">Qiflush</A> -</UL></BODY></HTML> +</head> +<body> +<h2>Functions - Q</h2> +<a href="../funcs.htm" target="_self">[index]</a> +<ul compact type="disc"> +<li><a href="../terminal_interface-curses__adb.htm#ref_884_17" target="main">Qiflush</a> +</ul></body></html> diff --git a/doc/html/ada/funcs/R.htm b/doc/html/ada/funcs/R.htm index 128f8e254ada..b4af87ecf9c6 100644 --- a/doc/html/ada/funcs/R.htm +++ b/doc/html/ada/funcs/R.htm @@ -1,43 +1,43 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<HTML> -<HEAD> -<TITLE>R</TITLE> +<html> +<head> +<title>R</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</HEAD> -<BODY> -<H2>Functions - R</H2> -<A HREF="../funcs.htm" TARGET="_self">[index]</A> -<UL COMPACT TYPE=DISC> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_791_16" TARGET="main">Raw</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_591_14" TARGET="main">Redefine - terminal_interface-curses-forms.ads:591</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_612_14" TARGET="main">Redefine - terminal_interface-curses-menus.ads:612</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1230_14" TARGET="main">Redraw - terminal_interface-curses.ads:1230</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1234_14" TARGET="main">Redraw - terminal_interface-curses.ads:1234</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1093_16" TARGET="main">Redrawwin</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1216_14" TARGET="main">Refresh - terminal_interface-curses.ads:1216</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1454_14" TARGET="main">Refresh - terminal_interface-curses.ads:1454</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1683_14" TARGET="main">Refresh_Soft_Label_Keys</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1688_14" TARGET="main">Refresh_Soft_Label_Keys_Without_Update</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1223_14" TARGET="main">Refresh_Without_Update - terminal_interface-curses.ads:1223</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1466_14" TARGET="main">Refresh_Without_Update - terminal_interface-curses.ads:1466</A> -<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_94_14" TARGET="main">Register_Reportable_Event</A> -<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_103_14" TARGET="main">Register_Reportable_Events</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_78_14" TARGET="main">Release</A> -<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_111_14" TARGET="main">Replace</A> -<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_120_16" TARGET="main">Replace_Pan</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_278_14" TARGET="main">Request_Name - terminal_interface-curses-forms.ads:278</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_281_14" TARGET="main">Request_Name - terminal_interface-curses-forms.ads:281</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_102_14" TARGET="main">Request_Name - terminal_interface-curses-menus.ads:102</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_105_14" TARGET="main">Request_Name - terminal_interface-curses-menus.ads:105</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_62_16" TARGET="main">Request_Name - terminal_interface-curses-menus.adb:62</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_70_16" TARGET="main">Request_Name - terminal_interface-curses-menus.adb:70</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2312_16" TARGET="main">Resetty</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1936_14" TARGET="main">Reset_Curses_Mode</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2284_16" TARGET="main">Reset_Prog_Mode</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2286_16" TARGET="main">Reset_Shell_Mode</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1947_14" TARGET="main">Reset_Terminal_State</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2084_14" TARGET="main">Resize</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1709_14" TARGET="main">Restore_Soft_Label_Keys</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2323_16" TARGET="main">Ripoffline</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1960_14" TARGET="main">Rip_Off_Lines</A> -</UL></BODY></HTML> +</head> +<body> +<h2>Functions - R</h2> +<a href="../funcs.htm" target="_self">[index]</a> +<ul compact type="disc"> +<li><a href="../terminal_interface-curses__adb.htm#ref_791_16" target="main">Raw</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_591_14" target="main">Redefine - terminal_interface-curses-forms.ads:591</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_612_14" target="main">Redefine - terminal_interface-curses-menus.ads:612</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1230_14" target="main">Redraw - terminal_interface-curses.ads:1230</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1234_14" target="main">Redraw - terminal_interface-curses.ads:1234</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1093_16" target="main">Redrawwin</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1216_14" target="main">Refresh - terminal_interface-curses.ads:1216</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1454_14" target="main">Refresh - terminal_interface-curses.ads:1454</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1683_14" target="main">Refresh_Soft_Label_Keys</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1688_14" target="main">Refresh_Soft_Label_Keys_Without_Update</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1223_14" target="main">Refresh_Without_Update - terminal_interface-curses.ads:1223</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1466_14" target="main">Refresh_Without_Update - terminal_interface-curses.ads:1466</a> +<li><a href="../terminal_interface-curses-mouse__ads.htm#ref_94_14" target="main">Register_Reportable_Event</a> +<li><a href="../terminal_interface-curses-mouse__ads.htm#ref_103_14" target="main">Register_Reportable_Events</a> +<li><a href="../terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_78_14" target="main">Release</a> +<li><a href="../terminal_interface-curses-panels__ads.htm#ref_111_14" target="main">Replace</a> +<li><a href="../terminal_interface-curses-panels__adb.htm#ref_120_16" target="main">Replace_Pan</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_278_14" target="main">Request_Name - terminal_interface-curses-forms.ads:278</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_281_14" target="main">Request_Name - terminal_interface-curses-forms.ads:281</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_102_14" target="main">Request_Name - terminal_interface-curses-menus.ads:102</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_105_14" target="main">Request_Name - terminal_interface-curses-menus.ads:105</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_62_16" target="main">Request_Name - terminal_interface-curses-menus.adb:62</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_70_16" target="main">Request_Name - terminal_interface-curses-menus.adb:70</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2312_16" target="main">Resetty</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1936_14" target="main">Reset_Curses_Mode</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2284_16" target="main">Reset_Prog_Mode</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2286_16" target="main">Reset_Shell_Mode</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1947_14" target="main">Reset_Terminal_State</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_2084_14" target="main">Resize</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1709_14" target="main">Restore_Soft_Label_Keys</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2323_16" target="main">Ripoffline</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1960_14" target="main">Rip_Off_Lines</a> +</ul></body></html> diff --git a/doc/html/ada/funcs/S.htm b/doc/html/ada/funcs/S.htm index 937584d6879e..86dad7f4eabd 100644 --- a/doc/html/ada/funcs/S.htm +++ b/doc/html/ada/funcs/S.htm @@ -1,195 +1,195 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<HTML> -<HEAD> -<TITLE>S</TITLE> +<html> +<head> +<title>S</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</HEAD> -<BODY> -<H2>Functions - S</H2> -<A HREF="../funcs.htm" TARGET="_self">[index]</A> -<UL COMPACT TYPE=DISC> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2302_16" TARGET="main">Savetty</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1930_14" TARGET="main">Save_Curses_Mode</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1942_14" TARGET="main">Save_Terminal_State</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_529_14" TARGET="main">Scale - terminal_interface-curses-forms.ads:529</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_382_14" TARGET="main">Scale - terminal_interface-curses-menus.ads:382</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2040_14" TARGET="main">Screen_Dump_To_File</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2048_14" TARGET="main">Screen_Init_From_File</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2044_14" TARGET="main">Screen_Restore_From_File</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2052_14" TARGET="main">Screen_Set_File</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1493_14" TARGET="main">Scroll</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1193_13" TARGET="main">Scrolling_Allowed</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1026_16" TARGET="main">Scrollok</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2490_16" TARGET="main">scr_dump</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2516_16" TARGET="main">scr_init</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2503_16" TARGET="main">scr_restore</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2529_16" TARGET="main">scr_set</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_448_14" TARGET="main">Set_Background - terminal_interface-curses-forms.ads:448</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_442_14" TARGET="main">Set_Background - terminal_interface-curses-menus.ads:442</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1279_14" TARGET="main">Set_Background - terminal_interface-curses.ads:1279</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_356_14" TARGET="main">Set_Buffer</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1057_14" TARGET="main">Set_Cbreak_Mode</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_988_14" TARGET="main">Set_Character_Attributes</A> -<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_93_14" TARGET="main">Set_Col - terminal_interface-curses-text_io.ads:93</A> -<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_94_14" TARGET="main">Set_Col - terminal_interface-curses-text_io.ads:94</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1009_14" TARGET="main">Set_Color</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_725_14" TARGET="main">Set_Current - terminal_interface-curses-forms.ads:725</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_287_14" TARGET="main">Set_Current - terminal_interface-curses-menus.ads:287</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_906_16" TARGET="main">Set_Current_Fld</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_251_16" TARGET="main">Set_Curr_Item</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1972_14" TARGET="main">Set_Cursor_Visibility</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1069_14" TARGET="main">Set_Echo_Mode</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1135_14" TARGET="main">Set_Escape_Timer_Mode</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_597_14" TARGET="main">Set_Fields</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_228_13" TARGET="main">Set_Fieldtype_Arg</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_235_13" TARGET="main">Set_Fieldtype_Choice</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_396_16" TARGET="main">Set_Field_Back</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_357_16" TARGET="main">Set_Field_Fore</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_588_16" TARGET="main">Set_Field_Init</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_543_14" TARGET="main">Set_Field_Init_Hook</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_176_16" TARGET="main">Set_Field_Just</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_277_16" TARGET="main">Set_Field_Max</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_294_16" TARGET="main">Set_Field_Opts</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_433_16" TARGET="main">Set_Field_Pad</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_601_16" TARGET="main">Set_Field_Term</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_549_14" TARGET="main">Set_Field_Term_Hook</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_50_14" TARGET="main">Set_Field_Type - terminal_interface-curses-forms-field_types-alpha.ads:50</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_51_14" TARGET="main">Set_Field_Type - terminal_interface-curses-forms-field_types-alphanumeric.ads:51</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_14" TARGET="main">Set_Field_Type - terminal_interface-curses-forms-field_types-enumeration.ads:85</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_14" TARGET="main">Set_Field_Type - terminal_interface-curses-forms-field_types-intfield.ads:52</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_48_14" TARGET="main">Set_Field_Type - terminal_interface-curses-forms-field_types-ipv4_address.ads:48</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_14" TARGET="main">Set_Field_Type - terminal_interface-curses-forms-field_types-numeric.ads:52</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_52_14" TARGET="main">Set_Field_Type - terminal_interface-curses-forms-field_types-regexp.ads:52</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-user__ads.htm#ref_71_14" TARGET="main">Set_Field_Type - terminal_interface-curses-forms-field_types-user.ads:71</A> -<LI><A HREF="../terminal_interface-curses-forms-field_user_data__adb.htm#ref_56_16" TARGET="main">Set_Field_Userptr</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_206_16" TARGET="main">Set_Fld_Buffer</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_246_16" TARGET="main">Set_Fld_Status</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_50_16" TARGET="main">Set_Fld_Type - terminal_interface-curses-forms-field_types-alpha.adb:50</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_50_16" TARGET="main">Set_Fld_Type - terminal_interface-curses-forms-field_types-alphanumeric.adb:50</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_95_16" TARGET="main">Set_Fld_Type - terminal_interface-curses-forms-field_types-enumeration.adb:95</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_50_16" TARGET="main">Set_Fld_Type - terminal_interface-curses-forms-field_types-intfield.adb:50</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_50_16" TARGET="main">Set_Fld_Type - terminal_interface-curses-forms-field_types-ipv4_address.adb:50</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_53_16" TARGET="main">Set_Fld_Type - terminal_interface-curses-forms-field_types-numeric.adb:53</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-user__adb.htm#ref_54_16" TARGET="main">Set_Fld_Type - terminal_interface-curses-forms-field_types-user.adb:54</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types__adb.htm#ref_135_16" TARGET="main">Set_Fld_Type - terminal_interface-curses-forms-field_types.adb:135</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1099_14" TARGET="main">Set_Flush_On_Interrupt_Mode</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_428_14" TARGET="main">Set_Foreground - terminal_interface-curses-forms.ads:428</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_422_14" TARGET="main">Set_Foreground - terminal_interface-curses-menus.ads:422</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_536_14" TARGET="main">Set_Format</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_614_16" TARGET="main">Set_Form_Init</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_555_14" TARGET="main">Set_Form_Init_Hook</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_746_16" TARGET="main">Set_Form_Opts</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_542_16" TARGET="main">Set_Form_Sub</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_627_16" TARGET="main">Set_Form_Term</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_561_14" TARGET="main">Set_Form_Term_Hook</A> -<LI><A HREF="../terminal_interface-curses-forms-form_user_data__adb.htm#ref_57_16" TARGET="main">Set_Form_Userptr</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_517_16" TARGET="main">Set_Form_Win</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_644_16" TARGET="main">Set_Frm_Fields</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_933_16" TARGET="main">Set_Frm_Page</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_50_16" TARGET="main">Set_Ftyp</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_462_14" TARGET="main">Set_Grey</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_617_14" TARGET="main">Set_Items - terminal_interface-curses-menus.ads:617</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_782_16" TARGET="main">Set_Items - terminal_interface-curses-menus.adb:782</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_706_16" TARGET="main">Set_Item_Init</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_564_14" TARGET="main">Set_Item_Init_Hook</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_169_16" TARGET="main">Set_Item_Opts</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_717_16" TARGET="main">Set_Item_Term</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_570_14" TARGET="main">Set_Item_Term_Hook</A> -<LI><A HREF="../terminal_interface-curses-menus-item_user_data__adb.htm#ref_49_16" TARGET="main">Set_Item_Userptr</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_133_16" TARGET="main">Set_Item_Val</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_341_14" TARGET="main">Set_Justification</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1081_14" TARGET="main">Set_KeyPad_Mode</A> -<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_96_14" TARGET="main">Set_Line - terminal_interface-curses-text_io.ads:96</A> -<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_97_14" TARGET="main">Set_Line - terminal_interface-curses-text_io.ads:97</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_402_14" TARGET="main">Set_Mark - terminal_interface-curses-menus.ads:402</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_445_16" TARGET="main">Set_Mark - terminal_interface-curses-menus.adb:445</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_389_14" TARGET="main">Set_Maximum_Size</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_515_16" TARGET="main">Set_Menu_Back</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_675_16" TARGET="main">Set_Menu_Fmt</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_479_16" TARGET="main">Set_Menu_Fore</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_550_16" TARGET="main">Set_Menu_Grey</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_728_16" TARGET="main">Set_Menu_Init</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_576_14" TARGET="main">Set_Menu_Init_Hook</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_328_16" TARGET="main">Set_Menu_Opts</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_585_16" TARGET="main">Set_Menu_Pad</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_397_16" TARGET="main">Set_Menu_Sub</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_739_16" TARGET="main">Set_Menu_Term</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_582_14" TARGET="main">Set_Menu_Term_Hook</A> -<LI><A HREF="../terminal_interface-curses-menus-menu_user_data__adb.htm#ref_49_16" TARGET="main">Set_Menu_Userptr</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_376_16" TARGET="main">Set_Menu_Win</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1075_14" TARGET="main">Set_Meta_Mode</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_759_14" TARGET="main">Set_New_Page</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1146_14" TARGET="main">Set_NL_Mode</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1114_14" TARGET="main">Set_NoDelay_Mode</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_399_14" TARGET="main">Set_Options - terminal_interface-curses-forms.ads:399</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_646_14" TARGET="main">Set_Options - terminal_interface-curses-forms.ads:646</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_235_14" TARGET="main">Set_Options - terminal_interface-curses-menus.ads:235</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_332_14" TARGET="main">Set_Options - terminal_interface-curses-menus.ads:332</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_468_14" TARGET="main">Set_Pad_Character - terminal_interface-curses-forms.ads:468</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_483_14" TARGET="main">Set_Pad_Character - terminal_interface-curses-menus.ads:483</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_736_14" TARGET="main">Set_Page - terminal_interface-curses-forms.ads:736</A> -<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_979_16" TARGET="main">Set_Page - terminal_interface-curses-forms.adb:979</A> -<LI><A HREF="../terminal_interface-curses-panels-user_data__adb.htm#ref_55_16" TARGET="main">Set_Panel_Userptr</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_519_13" TARGET="main">Set_Pattern - terminal_interface-curses-menus.ads:519</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_643_16" TARGET="main">Set_Pattern - terminal_interface-curses-menus.adb:643</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1106_14" TARGET="main">Set_Queue_Interrupt_Mode</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1063_14" TARGET="main">Set_Raw_Mode</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1198_14" TARGET="main">Set_Scroll_Region</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1676_14" TARGET="main">Set_Soft_Label_Key</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1727_14" TARGET="main">Set_Soft_Label_Key_Attributes</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1743_14" TARGET="main">Set_Soft_Label_Key_Color</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_499_14" TARGET="main">Set_Spacing - terminal_interface-curses-menus.ads:499</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_607_16" TARGET="main">Set_Spacing - terminal_interface-curses-menus.adb:607</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_378_14" TARGET="main">Set_Status</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_518_14" TARGET="main">Set_Sub_Window - terminal_interface-curses-forms.ads:518</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_371_14" TARGET="main">Set_Sub_Window - terminal_interface-curses-menus.ads:371</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_814_14" TARGET="main">Set_Synch_Mode</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1123_14" TARGET="main">Set_Timeout_Mode</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_275_16" TARGET="main">Set_Toprow</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_298_14" TARGET="main">Set_Top_Row</A> -<LI><A HREF="../terminal_interface-curses-forms-field_user_data__ads.htm#ref_54_14" TARGET="main">Set_User_Data - terminal_interface-curses-forms-field_user_data.ads:54</A> -<LI><A HREF="../terminal_interface-curses-forms-form_user_data__ads.htm#ref_54_14" TARGET="main">Set_User_Data - terminal_interface-curses-forms-form_user_data.ads:54</A> -<LI><A HREF="../terminal_interface-curses-menus-item_user_data__ads.htm#ref_59_14" TARGET="main">Set_User_Data - terminal_interface-curses-menus-item_user_data.ads:59</A> -<LI><A HREF="../terminal_interface-curses-menus-menu_user_data__ads.htm#ref_54_14" TARGET="main">Set_User_Data - terminal_interface-curses-menus-menu_user_data.ads:54</A> -<LI><A HREF="../terminal_interface-curses-panels-user_data__ads.htm#ref_54_14" TARGET="main">Set_User_Data - terminal_interface-curses-panels-user_data.ads:54</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_211_14" TARGET="main">Set_Value</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_507_14" TARGET="main">Set_Window - terminal_interface-curses-forms.ads:507</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_360_14" TARGET="main">Set_Window - terminal_interface-curses-menus.ads:360</A> -<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_60_14" TARGET="main">Set_Window - terminal_interface-curses-text_io.ads:60</A> -<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_87_14" TARGET="main">Show</A> -<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_86_16" TARGET="main">Showpanel</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1967_16" TARGET="main">Slk_Attr - terminal_interface-curses.adb:1967</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1977_16" TARGET="main">Slk_Attr - terminal_interface-curses.adb:1977</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1931_16" TARGET="main">Slk_Attroff</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1929_16" TARGET="main">Slk_Attron</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1953_16" TARGET="main">Slk_Attrset</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1897_16" TARGET="main">Slk_Clear</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1987_16" TARGET="main">Slk_Color</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1830_16" TARGET="main">Slk_Init</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1881_16" TARGET="main">Slk_Label - terminal_interface-curses.adb:1881</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1889_16" TARGET="main">Slk_Label - terminal_interface-curses.adb:1889</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1870_16" TARGET="main">Slk_Noutrefresh</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1860_16" TARGET="main">Slk_Refresh</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1907_16" TARGET="main">Slk_Restore</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1842_16" TARGET="main">Slk_Set</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1917_16" TARGET="main">Slk_Touch</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_507_14" TARGET="main">Spacing</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_645_13" TARGET="main">Standard_Window</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_971_14" TARGET="main">Standout</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1878_14" TARGET="main">Start_Color</A> -<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_116_13" TARGET="main">Start_Mouse</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1453_16" TARGET="main">Subpad</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_271_16" TARGET="main">Subwin</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1444_13" TARGET="main">Sub_Pad</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_765_13" TARGET="main">Sub_Window</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1843_13" TARGET="main">Supported_Attributes</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_977_14" TARGET="main">Switch_Character_Attribute</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_405_14" TARGET="main">Switch_Options - terminal_interface-curses-forms.ads:405</A> -<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_652_14" TARGET="main">Switch_Options - terminal_interface-curses-forms.ads:652</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_241_14" TARGET="main">Switch_Options - terminal_interface-curses-menus.ads:241</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_338_14" TARGET="main">Switch_Options - terminal_interface-curses-menus.ads:338</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1719_14" TARGET="main">Switch_Soft_Label_Key_Attributes</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_809_14" TARGET="main">Synchronize_Downwards</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_804_14" TARGET="main">Synchronize_Upwards</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_364_16" TARGET="main">Syncok</A> -</UL></BODY></HTML> +</head> +<body> +<h2>Functions - S</h2> +<a href="../funcs.htm" target="_self">[index]</a> +<ul compact type="disc"> +<li><a href="../terminal_interface-curses__adb.htm#ref_2302_16" target="main">Savetty</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1930_14" target="main">Save_Curses_Mode</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1942_14" target="main">Save_Terminal_State</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_529_14" target="main">Scale - terminal_interface-curses-forms.ads:529</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_382_14" target="main">Scale - terminal_interface-curses-menus.ads:382</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_2040_14" target="main">Screen_Dump_To_File</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_2048_14" target="main">Screen_Init_From_File</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_2044_14" target="main">Screen_Restore_From_File</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_2052_14" target="main">Screen_Set_File</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1493_14" target="main">Scroll</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1193_13" target="main">Scrolling_Allowed</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1026_16" target="main">Scrollok</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2490_16" target="main">scr_dump</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2516_16" target="main">scr_init</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2503_16" target="main">scr_restore</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2529_16" target="main">scr_set</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_448_14" target="main">Set_Background - terminal_interface-curses-forms.ads:448</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_442_14" target="main">Set_Background - terminal_interface-curses-menus.ads:442</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1279_14" target="main">Set_Background - terminal_interface-curses.ads:1279</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_356_14" target="main">Set_Buffer</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1057_14" target="main">Set_Cbreak_Mode</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_988_14" target="main">Set_Character_Attributes</a> +<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_93_14" target="main">Set_Col - terminal_interface-curses-text_io.ads:93</a> +<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_94_14" target="main">Set_Col - terminal_interface-curses-text_io.ads:94</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1009_14" target="main">Set_Color</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_725_14" target="main">Set_Current - terminal_interface-curses-forms.ads:725</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_287_14" target="main">Set_Current - terminal_interface-curses-menus.ads:287</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_906_16" target="main">Set_Current_Fld</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_251_16" target="main">Set_Curr_Item</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1972_14" target="main">Set_Cursor_Visibility</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1069_14" target="main">Set_Echo_Mode</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1135_14" target="main">Set_Escape_Timer_Mode</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_597_14" target="main">Set_Fields</a> +<li><a href="../terminal_interface-curses-forms-field_types__ads.htm#ref_228_13" target="main">Set_Fieldtype_Arg</a> +<li><a href="../terminal_interface-curses-forms-field_types__ads.htm#ref_235_13" target="main">Set_Fieldtype_Choice</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_396_16" target="main">Set_Field_Back</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_357_16" target="main">Set_Field_Fore</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_588_16" target="main">Set_Field_Init</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_543_14" target="main">Set_Field_Init_Hook</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_176_16" target="main">Set_Field_Just</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_277_16" target="main">Set_Field_Max</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_294_16" target="main">Set_Field_Opts</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_433_16" target="main">Set_Field_Pad</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_601_16" target="main">Set_Field_Term</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_549_14" target="main">Set_Field_Term_Hook</a> +<li><a href="../terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_50_14" target="main">Set_Field_Type - terminal_interface-curses-forms-field_types-alpha.ads:50</a> +<li><a href="../terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_51_14" target="main">Set_Field_Type - terminal_interface-curses-forms-field_types-alphanumeric.ads:51</a> +<li><a href="../terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_14" target="main">Set_Field_Type - terminal_interface-curses-forms-field_types-enumeration.ads:85</a> +<li><a href="../terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_14" target="main">Set_Field_Type - terminal_interface-curses-forms-field_types-intfield.ads:52</a> +<li><a href="../terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_48_14" target="main">Set_Field_Type - terminal_interface-curses-forms-field_types-ipv4_address.ads:48</a> +<li><a href="../terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_14" target="main">Set_Field_Type - terminal_interface-curses-forms-field_types-numeric.ads:52</a> +<li><a href="../terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_52_14" target="main">Set_Field_Type - terminal_interface-curses-forms-field_types-regexp.ads:52</a> +<li><a href="../terminal_interface-curses-forms-field_types-user__ads.htm#ref_71_14" target="main">Set_Field_Type - terminal_interface-curses-forms-field_types-user.ads:71</a> +<li><a href="../terminal_interface-curses-forms-field_user_data__adb.htm#ref_56_16" target="main">Set_Field_Userptr</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_206_16" target="main">Set_Fld_Buffer</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_246_16" target="main">Set_Fld_Status</a> +<li><a href="../terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_50_16" target="main">Set_Fld_Type - terminal_interface-curses-forms-field_types-alpha.adb:50</a> +<li><a href="../terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_50_16" target="main">Set_Fld_Type - terminal_interface-curses-forms-field_types-alphanumeric.adb:50</a> +<li><a href="../terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_95_16" target="main">Set_Fld_Type - terminal_interface-curses-forms-field_types-enumeration.adb:95</a> +<li><a href="../terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_50_16" target="main">Set_Fld_Type - terminal_interface-curses-forms-field_types-intfield.adb:50</a> +<li><a href="../terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_50_16" target="main">Set_Fld_Type - terminal_interface-curses-forms-field_types-ipv4_address.adb:50</a> +<li><a href="../terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_53_16" target="main">Set_Fld_Type - terminal_interface-curses-forms-field_types-numeric.adb:53</a> +<li><a href="../terminal_interface-curses-forms-field_types-user__adb.htm#ref_54_16" target="main">Set_Fld_Type - terminal_interface-curses-forms-field_types-user.adb:54</a> +<li><a href="../terminal_interface-curses-forms-field_types__adb.htm#ref_135_16" target="main">Set_Fld_Type - terminal_interface-curses-forms-field_types.adb:135</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1099_14" target="main">Set_Flush_On_Interrupt_Mode</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_428_14" target="main">Set_Foreground - terminal_interface-curses-forms.ads:428</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_422_14" target="main">Set_Foreground - terminal_interface-curses-menus.ads:422</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_536_14" target="main">Set_Format</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_614_16" target="main">Set_Form_Init</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_555_14" target="main">Set_Form_Init_Hook</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_746_16" target="main">Set_Form_Opts</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_542_16" target="main">Set_Form_Sub</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_627_16" target="main">Set_Form_Term</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_561_14" target="main">Set_Form_Term_Hook</a> +<li><a href="../terminal_interface-curses-forms-form_user_data__adb.htm#ref_57_16" target="main">Set_Form_Userptr</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_517_16" target="main">Set_Form_Win</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_644_16" target="main">Set_Frm_Fields</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_933_16" target="main">Set_Frm_Page</a> +<li><a href="../terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_50_16" target="main">Set_Ftyp</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_462_14" target="main">Set_Grey</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_617_14" target="main">Set_Items - terminal_interface-curses-menus.ads:617</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_782_16" target="main">Set_Items - terminal_interface-curses-menus.adb:782</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_706_16" target="main">Set_Item_Init</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_564_14" target="main">Set_Item_Init_Hook</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_169_16" target="main">Set_Item_Opts</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_717_16" target="main">Set_Item_Term</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_570_14" target="main">Set_Item_Term_Hook</a> +<li><a href="../terminal_interface-curses-menus-item_user_data__adb.htm#ref_49_16" target="main">Set_Item_Userptr</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_133_16" target="main">Set_Item_Val</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_341_14" target="main">Set_Justification</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1081_14" target="main">Set_KeyPad_Mode</a> +<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_96_14" target="main">Set_Line - terminal_interface-curses-text_io.ads:96</a> +<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_97_14" target="main">Set_Line - terminal_interface-curses-text_io.ads:97</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_402_14" target="main">Set_Mark - terminal_interface-curses-menus.ads:402</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_445_16" target="main">Set_Mark - terminal_interface-curses-menus.adb:445</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_389_14" target="main">Set_Maximum_Size</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_515_16" target="main">Set_Menu_Back</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_675_16" target="main">Set_Menu_Fmt</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_479_16" target="main">Set_Menu_Fore</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_550_16" target="main">Set_Menu_Grey</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_728_16" target="main">Set_Menu_Init</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_576_14" target="main">Set_Menu_Init_Hook</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_328_16" target="main">Set_Menu_Opts</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_585_16" target="main">Set_Menu_Pad</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_397_16" target="main">Set_Menu_Sub</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_739_16" target="main">Set_Menu_Term</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_582_14" target="main">Set_Menu_Term_Hook</a> +<li><a href="../terminal_interface-curses-menus-menu_user_data__adb.htm#ref_49_16" target="main">Set_Menu_Userptr</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_376_16" target="main">Set_Menu_Win</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1075_14" target="main">Set_Meta_Mode</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_759_14" target="main">Set_New_Page</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1146_14" target="main">Set_NL_Mode</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1114_14" target="main">Set_NoDelay_Mode</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_399_14" target="main">Set_Options - terminal_interface-curses-forms.ads:399</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_646_14" target="main">Set_Options - terminal_interface-curses-forms.ads:646</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_235_14" target="main">Set_Options - terminal_interface-curses-menus.ads:235</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_332_14" target="main">Set_Options - terminal_interface-curses-menus.ads:332</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_468_14" target="main">Set_Pad_Character - terminal_interface-curses-forms.ads:468</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_483_14" target="main">Set_Pad_Character - terminal_interface-curses-menus.ads:483</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_736_14" target="main">Set_Page - terminal_interface-curses-forms.ads:736</a> +<li><a href="../terminal_interface-curses-forms__adb.htm#ref_979_16" target="main">Set_Page - terminal_interface-curses-forms.adb:979</a> +<li><a href="../terminal_interface-curses-panels-user_data__adb.htm#ref_55_16" target="main">Set_Panel_Userptr</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_519_13" target="main">Set_Pattern - terminal_interface-curses-menus.ads:519</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_643_16" target="main">Set_Pattern - terminal_interface-curses-menus.adb:643</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1106_14" target="main">Set_Queue_Interrupt_Mode</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1063_14" target="main">Set_Raw_Mode</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1198_14" target="main">Set_Scroll_Region</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1676_14" target="main">Set_Soft_Label_Key</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1727_14" target="main">Set_Soft_Label_Key_Attributes</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1743_14" target="main">Set_Soft_Label_Key_Color</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_499_14" target="main">Set_Spacing - terminal_interface-curses-menus.ads:499</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_607_16" target="main">Set_Spacing - terminal_interface-curses-menus.adb:607</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_378_14" target="main">Set_Status</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_518_14" target="main">Set_Sub_Window - terminal_interface-curses-forms.ads:518</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_371_14" target="main">Set_Sub_Window - terminal_interface-curses-menus.ads:371</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_814_14" target="main">Set_Synch_Mode</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1123_14" target="main">Set_Timeout_Mode</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_275_16" target="main">Set_Toprow</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_298_14" target="main">Set_Top_Row</a> +<li><a href="../terminal_interface-curses-forms-field_user_data__ads.htm#ref_54_14" target="main">Set_User_Data - terminal_interface-curses-forms-field_user_data.ads:54</a> +<li><a href="../terminal_interface-curses-forms-form_user_data__ads.htm#ref_54_14" target="main">Set_User_Data - terminal_interface-curses-forms-form_user_data.ads:54</a> +<li><a href="../terminal_interface-curses-menus-item_user_data__ads.htm#ref_59_14" target="main">Set_User_Data - terminal_interface-curses-menus-item_user_data.ads:59</a> +<li><a href="../terminal_interface-curses-menus-menu_user_data__ads.htm#ref_54_14" target="main">Set_User_Data - terminal_interface-curses-menus-menu_user_data.ads:54</a> +<li><a href="../terminal_interface-curses-panels-user_data__ads.htm#ref_54_14" target="main">Set_User_Data - terminal_interface-curses-panels-user_data.ads:54</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_211_14" target="main">Set_Value</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_507_14" target="main">Set_Window - terminal_interface-curses-forms.ads:507</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_360_14" target="main">Set_Window - terminal_interface-curses-menus.ads:360</a> +<li><a href="../terminal_interface-curses-text_io__ads.htm#ref_60_14" target="main">Set_Window - terminal_interface-curses-text_io.ads:60</a> +<li><a href="../terminal_interface-curses-panels__ads.htm#ref_87_14" target="main">Show</a> +<li><a href="../terminal_interface-curses-panels__adb.htm#ref_86_16" target="main">Showpanel</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1967_16" target="main">Slk_Attr - terminal_interface-curses.adb:1967</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1977_16" target="main">Slk_Attr - terminal_interface-curses.adb:1977</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1931_16" target="main">Slk_Attroff</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1929_16" target="main">Slk_Attron</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1953_16" target="main">Slk_Attrset</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1897_16" target="main">Slk_Clear</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1987_16" target="main">Slk_Color</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1830_16" target="main">Slk_Init</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1881_16" target="main">Slk_Label - terminal_interface-curses.adb:1881</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1889_16" target="main">Slk_Label - terminal_interface-curses.adb:1889</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1870_16" target="main">Slk_Noutrefresh</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1860_16" target="main">Slk_Refresh</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1907_16" target="main">Slk_Restore</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1842_16" target="main">Slk_Set</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1917_16" target="main">Slk_Touch</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_507_14" target="main">Spacing</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_645_13" target="main">Standard_Window</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_971_14" target="main">Standout</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1878_14" target="main">Start_Color</a> +<li><a href="../terminal_interface-curses-mouse__ads.htm#ref_116_13" target="main">Start_Mouse</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1453_16" target="main">Subpad</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_271_16" target="main">Subwin</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1444_13" target="main">Sub_Pad</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_765_13" target="main">Sub_Window</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1843_13" target="main">Supported_Attributes</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_977_14" target="main">Switch_Character_Attribute</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_405_14" target="main">Switch_Options - terminal_interface-curses-forms.ads:405</a> +<li><a href="../terminal_interface-curses-forms__ads.htm#ref_652_14" target="main">Switch_Options - terminal_interface-curses-forms.ads:652</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_241_14" target="main">Switch_Options - terminal_interface-curses-menus.ads:241</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_338_14" target="main">Switch_Options - terminal_interface-curses-menus.ads:338</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1719_14" target="main">Switch_Soft_Label_Key_Attributes</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_809_14" target="main">Synchronize_Downwards</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_804_14" target="main">Synchronize_Upwards</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_364_16" target="main">Syncok</a> +</ul></body></html> diff --git a/doc/html/ada/funcs/T.htm b/doc/html/ada/funcs/T.htm index 9cb76d779d05..2534502a5360 100644 --- a/doc/html/ada/funcs/T.htm +++ b/doc/html/ada/funcs/T.htm @@ -1,43 +1,43 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<HTML> -<HEAD> -<TITLE>T</TITLE> +<html> +<head> +<title>T</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</HEAD> -<BODY> -<H2>Functions - T</H2> -<A HREF="../funcs.htm" TARGET="_self">[index]</A> -<UL COMPACT TYPE=DISC> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2373_16" TARGET="main">TABSIZE_As_Function</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_557_13" TARGET="main">Tab_Size</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2113_16" TARGET="main">Termattrs</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1858_14" TARGET="main">Terminal_Name - terminal_interface-curses.ads:1858</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1862_13" TARGET="main">Terminal_Name - terminal_interface-curses.ads:1862</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2139_16" TARGET="main">Termname - terminal_interface-curses.adb:2139</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2147_16" TARGET="main">Termname - terminal_interface-curses.adb:2147</A> -<LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_52_16" TARGET="main">tgetent</A> -<LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_72_16" TARGET="main">tgetflag</A> -<LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_90_16" TARGET="main">tgetnum</A> -<LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_109_16" TARGET="main">tgetstr - terminal_interface-curses-termcap.adb:109</A> -<LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_130_16" TARGET="main">tgetstr - terminal_interface-curses-termcap.adb:130</A> -<LI><A HREF="../terminal_interface-curses-termcap__ads.htm#ref_54_13" TARGET="main">TGoto</A> -<LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_152_16" TARGET="main">tgoto</A> -<LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_70_16" TARGET="main">tigetflag</A> -<LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_88_16" TARGET="main">tigetstr - terminal_interface-curses-terminfo.adb:88</A> -<LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_109_16" TARGET="main">tigetstr - terminal_interface-curses-terminfo.adb:109</A> -<LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_128_16" TARGET="main">tigetstr - terminal_interface-curses-terminfo.adb:128</A> -<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_82_14" TARGET="main">Top</A> -<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_76_16" TARGET="main">Toppanel</A> -<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_285_16" TARGET="main">Toprow</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_304_13" TARGET="main">Top_Row</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1312_14" TARGET="main">Touch - terminal_interface-curses.ads:1312</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1316_14" TARGET="main">Touch - terminal_interface-curses.ads:1316</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1714_14" TARGET="main">Touch_Soft_Label_Keys</A> -<LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_141_16" TARGET="main">tputs</A> -<LI><A HREF="../terminal_interface-curses-trace__adb.htm#ref_47_17" TARGET="main">traceC</A> -<LI><A HREF="../terminal_interface-curses-trace__adb.htm#ref_54_17" TARGET="main">tracef</A> -<LI><A HREF="../terminal_interface-curses-trace__ads.htm#ref_115_14" TARGET="main">Trace_On</A> -<LI><A HREF="../terminal_interface-curses-trace__ads.htm#ref_119_14" TARGET="main">Trace_Put</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2403_16" TARGET="main">Transform</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1985_14" TARGET="main">Transform_Coordinates</A> -</UL></BODY></HTML> +</head> +<body> +<h2>Functions - T</h2> +<a href="../funcs.htm" target="_self">[index]</a> +<ul compact type="disc"> +<li><a href="../terminal_interface-curses__adb.htm#ref_2373_16" target="main">TABSIZE_As_Function</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_557_13" target="main">Tab_Size</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2113_16" target="main">Termattrs</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1858_14" target="main">Terminal_Name - terminal_interface-curses.ads:1858</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1862_13" target="main">Terminal_Name - terminal_interface-curses.ads:1862</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2139_16" target="main">Termname - terminal_interface-curses.adb:2139</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2147_16" target="main">Termname - terminal_interface-curses.adb:2147</a> +<li><a href="../terminal_interface-curses-termcap__adb.htm#ref_52_16" target="main">tgetent</a> +<li><a href="../terminal_interface-curses-termcap__adb.htm#ref_72_16" target="main">tgetflag</a> +<li><a href="../terminal_interface-curses-termcap__adb.htm#ref_90_16" target="main">tgetnum</a> +<li><a href="../terminal_interface-curses-termcap__adb.htm#ref_109_16" target="main">tgetstr - terminal_interface-curses-termcap.adb:109</a> +<li><a href="../terminal_interface-curses-termcap__adb.htm#ref_130_16" target="main">tgetstr - terminal_interface-curses-termcap.adb:130</a> +<li><a href="../terminal_interface-curses-termcap__ads.htm#ref_54_13" target="main">TGoto</a> +<li><a href="../terminal_interface-curses-termcap__adb.htm#ref_152_16" target="main">tgoto</a> +<li><a href="../terminal_interface-curses-terminfo__adb.htm#ref_70_16" target="main">tigetflag</a> +<li><a href="../terminal_interface-curses-terminfo__adb.htm#ref_88_16" target="main">tigetstr - terminal_interface-curses-terminfo.adb:88</a> +<li><a href="../terminal_interface-curses-terminfo__adb.htm#ref_109_16" target="main">tigetstr - terminal_interface-curses-terminfo.adb:109</a> +<li><a href="../terminal_interface-curses-terminfo__adb.htm#ref_128_16" target="main">tigetstr - terminal_interface-curses-terminfo.adb:128</a> +<li><a href="../terminal_interface-curses-panels__ads.htm#ref_82_14" target="main">Top</a> +<li><a href="../terminal_interface-curses-panels__adb.htm#ref_76_16" target="main">Toppanel</a> +<li><a href="../terminal_interface-curses-menus__adb.htm#ref_285_16" target="main">Toprow</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_304_13" target="main">Top_Row</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1312_14" target="main">Touch - terminal_interface-curses.ads:1312</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1316_14" target="main">Touch - terminal_interface-curses.ads:1316</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1714_14" target="main">Touch_Soft_Label_Keys</a> +<li><a href="../terminal_interface-curses-terminfo__adb.htm#ref_141_16" target="main">tputs</a> +<li><a href="../terminal_interface-curses-trace__adb.htm#ref_47_17" target="main">traceC</a> +<li><a href="../terminal_interface-curses-trace__adb.htm#ref_54_17" target="main">tracef</a> +<li><a href="../terminal_interface-curses-trace__ads.htm#ref_115_14" target="main">Trace_On</a> +<li><a href="../terminal_interface-curses-trace__ads.htm#ref_119_14" target="main">Trace_Put</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2403_16" target="main">Transform</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1985_14" target="main">Transform_Coordinates</a> +</ul></body></html> diff --git a/doc/html/ada/funcs/U.htm b/doc/html/ada/funcs/U.htm index 6c5a5fe61d98..8a6d40de352f 100644 --- a/doc/html/ada/funcs/U.htm +++ b/doc/html/ada/funcs/U.htm @@ -1,27 +1,27 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<HTML> -<HEAD> -<TITLE>U</TITLE> +<html> +<head> +<title>U</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</HEAD> -<BODY> -<H2>Functions - U</H2> -<A HREF="../funcs.htm" TARGET="_self">[index]</A> -<UL COMPACT TYPE=DISC> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2029_16" TARGET="main">Unctrl - terminal_interface-curses.adb:2029</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2037_16" TARGET="main">Unctrl - terminal_interface-curses.adb:2037</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_933_14" TARGET="main">Undo_Keystroke</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_540_16" TARGET="main">Ungetch</A> -<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_186_16" TARGET="main">Ungetmouse</A> -<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_142_14" TARGET="main">Unget_Mouse</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1307_14" TARGET="main">Untouch</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1793_14" TARGET="main">Un_Control - terminal_interface-curses.ads:1793</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1798_13" TARGET="main">Un_Control - terminal_interface-curses.ads:1798</A> -<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_92_14" TARGET="main">Update_Panels</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1211_14" TARGET="main">Update_Screen</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2004_14" TARGET="main">Use_Default_Colors</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2024_13" TARGET="main">Use_Extended_Names</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2475_16" TARGET="main">use_extended_namesC</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1166_14" TARGET="main">Use_Insert_Delete_Character</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1159_14" TARGET="main">Use_Insert_Delete_Line</A> -</UL></BODY></HTML> +</head> +<body> +<h2>Functions - U</h2> +<a href="../funcs.htm" target="_self">[index]</a> +<ul compact type="disc"> +<li><a href="../terminal_interface-curses__adb.htm#ref_2029_16" target="main">Unctrl - terminal_interface-curses.adb:2029</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2037_16" target="main">Unctrl - terminal_interface-curses.adb:2037</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_933_14" target="main">Undo_Keystroke</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_540_16" target="main">Ungetch</a> +<li><a href="../terminal_interface-curses-mouse__adb.htm#ref_186_16" target="main">Ungetmouse</a> +<li><a href="../terminal_interface-curses-mouse__ads.htm#ref_142_14" target="main">Unget_Mouse</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1307_14" target="main">Untouch</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1793_14" target="main">Un_Control - terminal_interface-curses.ads:1793</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1798_13" target="main">Un_Control - terminal_interface-curses.ads:1798</a> +<li><a href="../terminal_interface-curses-panels__ads.htm#ref_92_14" target="main">Update_Panels</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1211_14" target="main">Update_Screen</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_2004_14" target="main">Use_Default_Colors</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_2024_13" target="main">Use_Extended_Names</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2475_16" target="main">use_extended_namesC</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1166_14" target="main">Use_Insert_Delete_Character</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_1159_14" target="main">Use_Insert_Delete_Line</a> +</ul></body></html> diff --git a/doc/html/ada/funcs/V.htm b/doc/html/ada/funcs/V.htm index 45edc6ae1d2a..260997340dc9 100644 --- a/doc/html/ada/funcs/V.htm +++ b/doc/html/ada/funcs/V.htm @@ -1,15 +1,15 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<HTML> -<HEAD> -<TITLE>V</TITLE> +<html> +<head> +<title>V</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</HEAD> -<BODY> -<H2>Functions - V</H2> -<A HREF="../funcs.htm" TARGET="_self">[index]</A> -<UL COMPACT TYPE=DISC> -<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_54_13" TARGET="main">Value - terminal_interface-curses-forms-field_types-enumeration-ada.ads:54</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_217_13" TARGET="main">Value - terminal_interface-curses-menus.ads:217</A> -<LI><A HREF="../terminal_interface-curses__ads.htm#ref_908_14" TARGET="main">Vertical_Line</A> -<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_226_13" TARGET="main">Visible</A> -</UL></BODY></HTML> +</head> +<body> +<h2>Functions - V</h2> +<a href="../funcs.htm" target="_self">[index]</a> +<ul compact type="disc"> +<li><a href="../terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_54_13" target="main">Value - terminal_interface-curses-forms-field_types-enumeration-ada.ads:54</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_217_13" target="main">Value - terminal_interface-curses-menus.ads:217</a> +<li><a href="../terminal_interface-curses__ads.htm#ref_908_14" target="main">Vertical_Line</a> +<li><a href="../terminal_interface-curses-menus__ads.htm#ref_226_13" target="main">Visible</a> +</ul></body></html> diff --git a/doc/html/ada/funcs/W.htm b/doc/html/ada/funcs/W.htm index 926ec196bf32..8bf0c83fce43 100644 --- a/doc/html/ada/funcs/W.htm +++ b/doc/html/ada/funcs/W.htm @@ -1,57 +1,57 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<HTML> -<HEAD> -<TITLE>W</TITLE> +<html> +<head> +<title>W</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</HEAD> -<BODY> -<H2>Functions - W</H2> -<A HREF="../funcs.htm" TARGET="_self">[index]</A> -<UL COMPACT TYPE=DISC> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_151_16" TARGET="main">Waddch</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_408_16" TARGET="main">Waddchnstr</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_377_16" TARGET="main">Waddnstr</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_657_16" TARGET="main">Wattrget - terminal_interface-curses.adb:657</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_678_16" TARGET="main">Wattrget - terminal_interface-curses.adb:678</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_617_16" TARGET="main">Wattroff</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_614_16" TARGET="main">Wattron</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_642_16" TARGET="main">Wattrset</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1163_17" TARGET="main">WBackground</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_450_16" TARGET="main">Wborder</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1173_16" TARGET="main">WChangeBkgd</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_718_16" TARGET="main">Wchgat</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1131_16" TARGET="main">Wclear</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1141_16" TARGET="main">Wclearbot</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1151_16" TARGET="main">Wcleareol</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1576_16" TARGET="main">Wdelch</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_255_16" TARGET="main">Wdelwin</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_209_16" TARGET="main">Wechochar</A> -<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_197_16" TARGET="main">Wenclose</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1121_16" TARGET="main">Werase</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1185_16" TARGET="main">Wgetbkgd</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_526_16" TARGET="main">Wgetch</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1790_16" TARGET="main">Wgetnstr</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_491_16" TARGET="main">Whline</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1602_16" TARGET="main">Winch</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1742_16" TARGET="main">Winchnstr</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1700_16" TARGET="main">Winnstr</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1624_16" TARGET="main">Winsch</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1330_16" TARGET="main">Winsdelln</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1657_16" TARGET="main">Winsnstr</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1241_16" TARGET="main">WLineTouched</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_137_16" TARGET="main">Wmove</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1083_16" TARGET="main">Wnoutrefresh</A> -<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_152_14" TARGET="main">Wrap_Builtin</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1106_16" TARGET="main">Wredrawln</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1072_16" TARGET="main">Wrefresh</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2543_16" TARGET="main">wresize</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1564_16" TARGET="main">Wscrl</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1048_16" TARGET="main">Wsetscrreg</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_699_16" TARGET="main">Wset_Color</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_594_16" TARGET="main">wstandend</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_592_16" TARGET="main">wstandout</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_915_17" TARGET="main">Wtimeout</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1196_16" TARGET="main">Wtouchln</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_509_16" TARGET="main">Wvline</A> -<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1254_16" TARGET="main">WWinTouched</A> -</UL></BODY></HTML> +</head> +<body> +<h2>Functions - W</h2> +<a href="../funcs.htm" target="_self">[index]</a> +<ul compact type="disc"> +<li><a href="../terminal_interface-curses__adb.htm#ref_151_16" target="main">Waddch</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_408_16" target="main">Waddchnstr</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_377_16" target="main">Waddnstr</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_657_16" target="main">Wattrget - terminal_interface-curses.adb:657</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_678_16" target="main">Wattrget - terminal_interface-curses.adb:678</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_617_16" target="main">Wattroff</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_614_16" target="main">Wattron</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_642_16" target="main">Wattrset</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1163_17" target="main">WBackground</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_450_16" target="main">Wborder</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1173_16" target="main">WChangeBkgd</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_718_16" target="main">Wchgat</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1131_16" target="main">Wclear</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1141_16" target="main">Wclearbot</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1151_16" target="main">Wcleareol</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1576_16" target="main">Wdelch</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_255_16" target="main">Wdelwin</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_209_16" target="main">Wechochar</a> +<li><a href="../terminal_interface-curses-mouse__adb.htm#ref_197_16" target="main">Wenclose</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1121_16" target="main">Werase</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1185_16" target="main">Wgetbkgd</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_526_16" target="main">Wgetch</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1790_16" target="main">Wgetnstr</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_491_16" target="main">Whline</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1602_16" target="main">Winch</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1742_16" target="main">Winchnstr</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1700_16" target="main">Winnstr</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1624_16" target="main">Winsch</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1330_16" target="main">Winsdelln</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1657_16" target="main">Winsnstr</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1241_16" target="main">WLineTouched</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_137_16" target="main">Wmove</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1083_16" target="main">Wnoutrefresh</a> +<li><a href="../terminal_interface-curses-forms-field_types__ads.htm#ref_152_14" target="main">Wrap_Builtin</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1106_16" target="main">Wredrawln</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1072_16" target="main">Wrefresh</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_2543_16" target="main">wresize</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1564_16" target="main">Wscrl</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1048_16" target="main">Wsetscrreg</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_699_16" target="main">Wset_Color</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_594_16" target="main">wstandend</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_592_16" target="main">wstandout</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_915_17" target="main">Wtimeout</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1196_16" target="main">Wtouchln</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_509_16" target="main">Wvline</a> +<li><a href="../terminal_interface-curses__adb.htm#ref_1254_16" target="main">WWinTouched</a> +</ul></body></html> diff --git a/doc/html/ada/index.htm b/doc/html/ada/index.htm index b0a6a84e90de..2f7801ef51fc 100644 --- a/doc/html/ada/index.htm +++ b/doc/html/ada/index.htm @@ -1,42 +1,42 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"> -<HTML> -<HEAD> -<TITLE>Source Browser</TITLE> +<html> +<head> +<title>Source Browser</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</HEAD> -<FRAMESET COLS="250,*"> -<NOFRAMES> -<H2 ALIGN=CENTER>Files</H2> -<A HREF="files/T.htm">[T]</A> -<HR> -<H2 ALIGN=CENTER>Functions/Procedures</H2> -<A HREF="funcs/A.htm">[A]</A> -<A HREF="funcs/B.htm">[B]</A> -<A HREF="funcs/C.htm">[C]</A> -<A HREF="funcs/D.htm">[D]</A> -<A HREF="funcs/E.htm">[E]</A> -<A HREF="funcs/F.htm">[F]</A> -<A HREF="funcs/G.htm">[G]</A> -<A HREF="funcs/H.htm">[H]</A> -<A HREF="funcs/I.htm">[I]</A> -<A HREF="funcs/K.htm">[K]</A> -<A HREF="funcs/L.htm">[L]</A> -<A HREF="funcs/M.htm">[M]</A> -<A HREF="funcs/N.htm">[N]</A> -<A HREF="funcs/O.htm">[O]</A> -<A HREF="funcs/P.htm">[P]</A> -<A HREF="funcs/Q.htm">[Q]</A> -<A HREF="funcs/R.htm">[R]</A> -<A HREF="funcs/S.htm">[S]</A> -<A HREF="funcs/T.htm">[T]</A> -<A HREF="funcs/U.htm">[U]</A> -<A HREF="funcs/V.htm">[V]</A> -<A HREF="funcs/W.htm">[W]</A> -</NOFRAMES> -<FRAMESET ROWS="50%,50%"> -<FRAME NAME=files SRC=files.htm> -<FRAME NAME=funcs SRC=funcs.htm> -</FRAMESET> -<FRAME NAME=main SRC=main.htm> -</FRAMESET> -</HTML> +</head> +<frameset cols="250,*"> +<noframes> +<h2 align="center">Files</h2> +<a href="files/T.htm">[T]</a> +<hr> +<h2 align="center">Functions/Procedures</h2> +<a href="funcs/A.htm">[A]</a> +<a href="funcs/B.htm">[B]</a> +<a href="funcs/C.htm">[C]</a> +<a href="funcs/D.htm">[D]</a> +<a href="funcs/E.htm">[E]</a> +<a href="funcs/F.htm">[F]</a> +<a href="funcs/G.htm">[G]</a> +<a href="funcs/H.htm">[H]</a> +<a href="funcs/I.htm">[I]</a> +<a href="funcs/K.htm">[K]</a> +<a href="funcs/L.htm">[L]</a> +<a href="funcs/M.htm">[M]</a> +<a href="funcs/N.htm">[N]</a> +<a href="funcs/O.htm">[O]</a> +<a href="funcs/P.htm">[P]</a> +<a href="funcs/Q.htm">[Q]</a> +<a href="funcs/R.htm">[R]</a> +<a href="funcs/S.htm">[S]</a> +<a href="funcs/T.htm">[T]</a> +<a href="funcs/U.htm">[U]</a> +<a href="funcs/V.htm">[V]</a> +<a href="funcs/W.htm">[W]</a> +</noframes> +<frameset rows="50%,50%"> +<frame name="files" src="files.htm"> +<frame name="funcs" src="funcs.htm"> +</frameset> +<frame name="main" src="main.htm"> +</frameset> +</html> diff --git a/doc/html/ada/main.htm b/doc/html/ada/main.htm index e4475a566848..430871228f8e 100644 --- a/doc/html/ada/main.htm +++ b/doc/html/ada/main.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE></TITLE> +<html> +<head> +<title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,72 +11,72 @@ color: red; } </style> -</HEAD> -<BODY> -<P ALIGN=right><A HREF="main.htm" TARGET="_top">[No frame version is here]</A><P><H2 ALIGN=CENTER>Files</H2> -<A HREF="files/T.htm">[T]</A> -<HR><H2 ALIGN=CENTER>Functions/Procedures</H2> -<A HREF="funcs/A.htm">[A]</A> -<A HREF="funcs/B.htm">[B]</A> -<A HREF="funcs/C.htm">[C]</A> -<A HREF="funcs/D.htm">[D]</A> -<A HREF="funcs/E.htm">[E]</A> -<A HREF="funcs/F.htm">[F]</A> -<A HREF="funcs/G.htm">[G]</A> -<A HREF="funcs/H.htm">[H]</A> -<A HREF="funcs/I.htm">[I]</A> -<A HREF="funcs/K.htm">[K]</A> -<A HREF="funcs/L.htm">[L]</A> -<A HREF="funcs/M.htm">[M]</A> -<A HREF="funcs/N.htm">[N]</A> -<A HREF="funcs/O.htm">[O]</A> -<A HREF="funcs/P.htm">[P]</A> -<A HREF="funcs/Q.htm">[Q]</A> -<A HREF="funcs/R.htm">[R]</A> -<A HREF="funcs/S.htm">[S]</A> -<A HREF="funcs/T.htm">[T]</A> -<A HREF="funcs/U.htm">[U]</A> -<A HREF="funcs/V.htm">[V]</A> -<A HREF="funcs/W.htm">[W]</A> -<HR> +</head> +<body> +<p align="right"><a href="main.htm" target="_top">[No frame version is here]</a><p><h2 align="center">Files</h2> +<a href="files/T.htm">[T]</a> +<hr><h2 align="center">Functions/Procedures</h2> +<a href="funcs/A.htm">[A]</a> +<a href="funcs/B.htm">[B]</a> +<a href="funcs/C.htm">[C]</a> +<a href="funcs/D.htm">[D]</a> +<a href="funcs/E.htm">[E]</a> +<a href="funcs/F.htm">[F]</a> +<a href="funcs/G.htm">[G]</a> +<a href="funcs/H.htm">[H]</a> +<a href="funcs/I.htm">[I]</a> +<a href="funcs/K.htm">[K]</a> +<a href="funcs/L.htm">[L]</a> +<a href="funcs/M.htm">[M]</a> +<a href="funcs/N.htm">[N]</a> +<a href="funcs/O.htm">[O]</a> +<a href="funcs/P.htm">[P]</a> +<a href="funcs/Q.htm">[Q]</a> +<a href="funcs/R.htm">[R]</a> +<a href="funcs/S.htm">[S]</a> +<a href="funcs/T.htm">[T]</a> +<a href="funcs/U.htm">[U]</a> +<a href="funcs/V.htm">[V]</a> +<a href="funcs/W.htm">[W]</a> +<hr> You should start your browsing with one of these files: -<UL> -<LI><A HREF="terminal_interface-curses-aux__ads.htm">terminal_interface-curses-aux.ads</A> -<LI><A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm">terminal_interface-curses-forms-field_types-alpha.ads</A> -<LI><A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm">terminal_interface-curses-forms-field_types-alphanumeric.ads</A> -<LI><A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm">terminal_interface-curses-forms-field_types-enumeration-ada.ads</A> -<LI><A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm">terminal_interface-curses-forms-field_types-enumeration.ads</A> -<LI><A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm">terminal_interface-curses-forms-field_types-intfield.ads</A> -<LI><A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm">terminal_interface-curses-forms-field_types-ipv4_address.ads</A> -<LI><A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm">terminal_interface-curses-forms-field_types-numeric.ads</A> -<LI><A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm">terminal_interface-curses-forms-field_types-regexp.ads</A> -<LI><A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm">terminal_interface-curses-forms-field_types-user-choice.ads</A> -<LI><A HREF="terminal_interface-curses-forms-field_types-user__ads.htm">terminal_interface-curses-forms-field_types-user.ads</A> -<LI><A HREF="terminal_interface-curses-forms-field_types__ads.htm">terminal_interface-curses-forms-field_types.ads</A> -<LI><A HREF="terminal_interface-curses-forms-field_user_data__ads.htm">terminal_interface-curses-forms-field_user_data.ads</A> -<LI><A HREF="terminal_interface-curses-forms-form_user_data__ads.htm">terminal_interface-curses-forms-form_user_data.ads</A> -<LI><A HREF="terminal_interface-curses-forms__ads.htm">terminal_interface-curses-forms.ads</A> -<LI><A HREF="terminal_interface-curses-menus-item_user_data__ads.htm">terminal_interface-curses-menus-item_user_data.ads</A> -<LI><A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm">terminal_interface-curses-menus-menu_user_data.ads</A> -<LI><A HREF="terminal_interface-curses-menus__ads.htm">terminal_interface-curses-menus.ads</A> -<LI><A HREF="terminal_interface-curses-mouse__ads.htm">terminal_interface-curses-mouse.ads</A> -<LI><A HREF="terminal_interface-curses-panels-user_data__ads.htm">terminal_interface-curses-panels-user_data.ads</A> -<LI><A HREF="terminal_interface-curses-panels__ads.htm">terminal_interface-curses-panels.ads</A> -<LI><A HREF="terminal_interface-curses-putwin__ads.htm">terminal_interface-curses-putwin.ads</A> -<LI><A HREF="terminal_interface-curses-termcap__ads.htm">terminal_interface-curses-termcap.ads</A> -<LI><A HREF="terminal_interface-curses-terminfo__ads.htm">terminal_interface-curses-terminfo.ads</A> -<LI><A HREF="terminal_interface-curses-text_io-aux__ads.htm">terminal_interface-curses-text_io-aux.ads</A> -<LI><A HREF="terminal_interface-curses-text_io-complex_io__ads.htm">terminal_interface-curses-text_io-complex_io.ads</A> -<LI><A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm">terminal_interface-curses-text_io-decimal_io.ads</A> -<LI><A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm">terminal_interface-curses-text_io-enumeration_io.ads</A> -<LI><A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm">terminal_interface-curses-text_io-fixed_io.ads</A> -<LI><A HREF="terminal_interface-curses-text_io-float_io__ads.htm">terminal_interface-curses-text_io-float_io.ads</A> -<LI><A HREF="terminal_interface-curses-text_io-integer_io__ads.htm">terminal_interface-curses-text_io-integer_io.ads</A> -<LI><A HREF="terminal_interface-curses-text_io-modular_io__ads.htm">terminal_interface-curses-text_io-modular_io.ads</A> -<LI><A HREF="terminal_interface-curses-text_io__ads.htm">terminal_interface-curses-text_io.ads</A> -<LI><A HREF="terminal_interface-curses-trace__ads.htm">terminal_interface-curses-trace.ads</A> -<LI><A HREF="terminal_interface-curses__ads.htm">terminal_interface-curses.ads</A> -<LI><A HREF="terminal_interface-curses_constants__ads.htm">terminal_interface-curses_constants.ads</A> -<LI><A HREF="terminal_interface__ads.htm">terminal_interface.ads</A> -</UL> -</BODY></HTML> +<ul> +<li><a href="terminal_interface-curses-aux__ads.htm">terminal_interface-curses-aux.ads</a> +<li><a href="terminal_interface-curses-forms-field_types-alpha__ads.htm">terminal_interface-curses-forms-field_types-alpha.ads</a> +<li><a href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm">terminal_interface-curses-forms-field_types-alphanumeric.ads</a> +<li><a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm">terminal_interface-curses-forms-field_types-enumeration-ada.ads</a> +<li><a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm">terminal_interface-curses-forms-field_types-enumeration.ads</a> +<li><a href="terminal_interface-curses-forms-field_types-intfield__ads.htm">terminal_interface-curses-forms-field_types-intfield.ads</a> +<li><a href="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm">terminal_interface-curses-forms-field_types-ipv4_address.ads</a> +<li><a href="terminal_interface-curses-forms-field_types-numeric__ads.htm">terminal_interface-curses-forms-field_types-numeric.ads</a> +<li><a href="terminal_interface-curses-forms-field_types-regexp__ads.htm">terminal_interface-curses-forms-field_types-regexp.ads</a> +<li><a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm">terminal_interface-curses-forms-field_types-user-choice.ads</a> +<li><a href="terminal_interface-curses-forms-field_types-user__ads.htm">terminal_interface-curses-forms-field_types-user.ads</a> +<li><a href="terminal_interface-curses-forms-field_types__ads.htm">terminal_interface-curses-forms-field_types.ads</a> +<li><a href="terminal_interface-curses-forms-field_user_data__ads.htm">terminal_interface-curses-forms-field_user_data.ads</a> +<li><a href="terminal_interface-curses-forms-form_user_data__ads.htm">terminal_interface-curses-forms-form_user_data.ads</a> +<li><a href="terminal_interface-curses-forms__ads.htm">terminal_interface-curses-forms.ads</a> +<li><a href="terminal_interface-curses-menus-item_user_data__ads.htm">terminal_interface-curses-menus-item_user_data.ads</a> +<li><a href="terminal_interface-curses-menus-menu_user_data__ads.htm">terminal_interface-curses-menus-menu_user_data.ads</a> +<li><a href="terminal_interface-curses-menus__ads.htm">terminal_interface-curses-menus.ads</a> +<li><a href="terminal_interface-curses-mouse__ads.htm">terminal_interface-curses-mouse.ads</a> +<li><a href="terminal_interface-curses-panels-user_data__ads.htm">terminal_interface-curses-panels-user_data.ads</a> +<li><a href="terminal_interface-curses-panels__ads.htm">terminal_interface-curses-panels.ads</a> +<li><a href="terminal_interface-curses-putwin__ads.htm">terminal_interface-curses-putwin.ads</a> +<li><a href="terminal_interface-curses-termcap__ads.htm">terminal_interface-curses-termcap.ads</a> +<li><a href="terminal_interface-curses-terminfo__ads.htm">terminal_interface-curses-terminfo.ads</a> +<li><a href="terminal_interface-curses-text_io-aux__ads.htm">terminal_interface-curses-text_io-aux.ads</a> +<li><a href="terminal_interface-curses-text_io-complex_io__ads.htm">terminal_interface-curses-text_io-complex_io.ads</a> +<li><a href="terminal_interface-curses-text_io-decimal_io__ads.htm">terminal_interface-curses-text_io-decimal_io.ads</a> +<li><a href="terminal_interface-curses-text_io-enumeration_io__ads.htm">terminal_interface-curses-text_io-enumeration_io.ads</a> +<li><a href="terminal_interface-curses-text_io-fixed_io__ads.htm">terminal_interface-curses-text_io-fixed_io.ads</a> +<li><a href="terminal_interface-curses-text_io-float_io__ads.htm">terminal_interface-curses-text_io-float_io.ads</a> +<li><a href="terminal_interface-curses-text_io-integer_io__ads.htm">terminal_interface-curses-text_io-integer_io.ads</a> +<li><a href="terminal_interface-curses-text_io-modular_io__ads.htm">terminal_interface-curses-text_io-modular_io.ads</a> +<li><a href="terminal_interface-curses-text_io__ads.htm">terminal_interface-curses-text_io.ads</a> +<li><a href="terminal_interface-curses-trace__ads.htm">terminal_interface-curses-trace.ads</a> +<li><a href="terminal_interface-curses__ads.htm">terminal_interface-curses.ads</a> +<li><a href="terminal_interface-curses_constants__ads.htm">terminal_interface-curses_constants.ads</a> +<li><a href="terminal_interface__ads.htm">terminal_interface.ads</a> +</ul> +</body></html> diff --git a/doc/html/ada/table.html b/doc/html/ada/table.html index ff6d0bd404b1..7635427b3ee4 100644 --- a/doc/html/ada/table.html +++ b/doc/html/ada/table.html @@ -1,15 +1,14 @@ -<!DOCTYPE HTML -PUBLIC "-//IETF//DTD HTML 3.0//EN"> -<HTML> -<HEAD> -<TITLE>Correspondence between ncurses C and Ada functions</TITLE> -</HEAD> -<BODY> -<H1>Correspondence between ncurses C and Ada functions</H1> -<H2>Sorted by C function name</H2> -<TABLE ALIGN=CENTER BORDER> -<TR ALIGN=LEFT> -<TH>C name</TH><TH>Ada name</TH><TH>man page</TH></TR> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> +<html> +<head> +<title>Correspondence between ncurses C and Ada functions</title> +</head> +<body> +<h1>Correspondence between ncurses C and Ada functions</h1> +<h2>Sorted by C function name</h2> +<table align="center" border summary="Correspondence between ncurses C and Ada functions"> +<tr align="left"> +<th>C name</th><th>Ada name</th><th>man page</th></tr> <TR><TD>assume_default_colors()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_156">Assume_Default_Colors</A></TD><TD><A HREF="../man/default_colors.3x.html">default_colors.3x</A></TD></TR> <TR><TD>baudrate()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_131">Baudrate</A></TD><TD><A HREF="../man/curs_termattrs.3x.html">curs_termattrs.3x</A></TD></TR> <TR><TD>beep()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_40">Beep</A></TD><TD><A HREF="../man/curs_beep.3x.html">curs_beep.3x</A></TD></TR> @@ -338,4 +337,4 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN"> <TR><TD>wtimeout()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_51">Set_Timeout_Mode</A></TD><TD><A HREF="../man/curs_inopts.3x.html">curs_inopts.3x</A></TD></TR> <TR><TD>wtouchln()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_76">Change_Line_Status</A></TD><TD><A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></TD></TR> <TR><TD>wvline()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_28">Vertical_Line</A></TD><TD><A HREF="../man/curs_border.3x.html">curs_border.3x</A></TD></TR> -</TABLE></BODY></HTML> +</table></body></html> diff --git a/doc/html/ada/terminal_interface-curses-aux__adb.htm b/doc/html/ada/terminal_interface-curses-aux__adb.htm index 9e2272bd0234..61ea3de60b2f 100644 --- a/doc/html/ada/terminal_interface-curses-aux__adb.htm +++ b/doc/html/ada/terminal_interface-curses-aux__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-aux.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-aux.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,125 +11,125 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-aux.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Aux --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.12 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<span class="symbol"><A NAME="ref_42_40" HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A></span> <b>is</b> - <span class="comment"><EM>--</EM></span> - <span class="comment"><EM>-- Some helpers</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_45_14" HREF="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</A></span> (<span class="symbol"><A NAME="ref_45_27" HREF="terminal_interface-curses-aux__ads.htm#ref_91_27">Cp</A></span> : chars_ptr; - <span class="symbol"><A NAME="ref_46_27" HREF="terminal_interface-curses-aux__ads.htm#ref_92_27">Str</A></span> : <b>out</b> String) +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-aux.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Aux --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.12 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_42_40" href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a></span> <b>is</b> + <span class="comment"><em>--</em></span> + <span class="comment"><em>-- Some helpers</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_45_14" href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a></span> (<span class="symbol"><a name="ref_45_27" href="terminal_interface-curses-aux__ads.htm#ref_91_27">Cp</a></span> : chars_ptr; + <span class="symbol"><a name="ref_46_27" href="terminal_interface-curses-aux__ads.htm#ref_92_27">Str</a></span> : <b>out</b> String) <b>is</b> - <span class="comment"><EM>-- Fill the string with the characters referenced by the</EM></span> - <span class="comment"><EM>-- chars_ptr.</EM></span> - <span class="comment"><EM>--</EM></span> - <span class="symbol"><A NAME="ref_51_7">Len</A></span> : Natural; + <span class="comment"><em>-- Fill the string with the characters referenced by the</em></span> + <span class="comment"><em>-- chars_ptr.</em></span> + <span class="comment"><em>--</em></span> + <span class="symbol"><a name="ref_51_7">Len</a></span> : Natural; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_91_27">Cp</A> /= Null_Ptr <b>then</b> - <A HREF="terminal_interface-curses-aux__adb.htm#ref_51_7">Len</A> := Natural (Strlen (<A HREF="terminal_interface-curses-aux__ads.htm#ref_91_27">Cp</A>)); - <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_92_27">Str</A>'Length < <A HREF="terminal_interface-curses-aux__adb.htm#ref_51_7">Len</A> <b>then</b> + <b>if</b> <a href="terminal_interface-curses-aux__ads.htm#ref_91_27">Cp</a> /= Null_Ptr <b>then</b> + <a href="terminal_interface-curses-aux__adb.htm#ref_51_7">Len</a> := Natural (Strlen (<a href="terminal_interface-curses-aux__ads.htm#ref_91_27">Cp</a>)); + <b>if</b> <a href="terminal_interface-curses-aux__ads.htm#ref_92_27">Str</a>'Length < <a href="terminal_interface-curses-aux__adb.htm#ref_51_7">Len</a> <b>then</b> <b>raise</b> Constraint_Error; <b>end</b> <b>if</b>; <b>declare</b> - <span class="symbol"><A NAME="ref_59_13">S</A></span> : String (1 .. <A HREF="terminal_interface-curses-aux__adb.htm#ref_51_7">Len</A>); + <span class="symbol"><a name="ref_59_13">S</a></span> : String (1 .. <a href="terminal_interface-curses-aux__adb.htm#ref_51_7">Len</a>); <b>begin</b> - <A HREF="terminal_interface-curses-aux__adb.htm#ref_59_13">S</A> := Value (<A HREF="terminal_interface-curses-aux__ads.htm#ref_91_27">Cp</A>); - <A HREF="terminal_interface-curses-aux__ads.htm#ref_92_27">Str</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_92_27">Str</A>'First .. (<A HREF="terminal_interface-curses-aux__ads.htm#ref_92_27">Str</A>'First + <A HREF="terminal_interface-curses-aux__adb.htm#ref_51_7">Len</A> - 1)) := <A HREF="terminal_interface-curses-aux__adb.htm#ref_59_13">S</A> (<A HREF="terminal_interface-curses-aux__adb.htm#ref_59_13">S</A>'<b>Range</b>); + <a href="terminal_interface-curses-aux__adb.htm#ref_59_13">S</a> := Value (<a href="terminal_interface-curses-aux__ads.htm#ref_91_27">Cp</a>); + <a href="terminal_interface-curses-aux__ads.htm#ref_92_27">Str</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_92_27">Str</a>'First .. (<a href="terminal_interface-curses-aux__ads.htm#ref_92_27">Str</a>'First + <a href="terminal_interface-curses-aux__adb.htm#ref_51_7">Len</a> - 1)) := <a href="terminal_interface-curses-aux__adb.htm#ref_59_13">S</a> (<a href="terminal_interface-curses-aux__adb.htm#ref_59_13">S</a>'<b>Range</b>); <b>end</b>; <b>else</b> - <A HREF="terminal_interface-curses-aux__adb.htm#ref_51_7">Len</A> := 0; + <a href="terminal_interface-curses-aux__adb.htm#ref_51_7">Len</a> := 0; <b>end</b> <b>if</b>; - <b>if</b> <A HREF="terminal_interface-curses-aux__adb.htm#ref_51_7">Len</A> < <A HREF="terminal_interface-curses-aux__ads.htm#ref_92_27">Str</A>'Length <b>then</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_92_27">Str</A> ((<A HREF="terminal_interface-curses-aux__ads.htm#ref_92_27">Str</A>'First + <A HREF="terminal_interface-curses-aux__adb.htm#ref_51_7">Len</A>) .. <A HREF="terminal_interface-curses-aux__ads.htm#ref_92_27">Str</A>'Last) := (<b>others</b> => ' '); + <b>if</b> <a href="terminal_interface-curses-aux__adb.htm#ref_51_7">Len</a> < <a href="terminal_interface-curses-aux__ads.htm#ref_92_27">Str</a>'Length <b>then</b> + <a href="terminal_interface-curses-aux__ads.htm#ref_92_27">Str</a> ((<a href="terminal_interface-curses-aux__ads.htm#ref_92_27">Str</a>'First + <a href="terminal_interface-curses-aux__adb.htm#ref_51_7">Len</a>) .. <a href="terminal_interface-curses-aux__ads.htm#ref_92_27">Str</a>'Last) := (<b>others</b> => ' '); <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</A>; + <b>end</b> <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a>; - <b>function</b> <span class="symbol"><A NAME="ref_74_13" HREF="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</A></span> (<span class="symbol"><A NAME="ref_74_26" HREF="terminal_interface-curses-aux__ads.htm#ref_96_26">Cp</A></span> : chars_ptr) <b>return</b> String + <b>function</b> <span class="symbol"><a name="ref_74_13" href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a></span> (<span class="symbol"><a name="ref_74_26" href="terminal_interface-curses-aux__ads.htm#ref_96_26">Cp</a></span> : chars_ptr) <b>return</b> String <b>is</b> - <span class="symbol"><A NAME="ref_76_7">Len</A></span> : Natural; + <span class="symbol"><a name="ref_76_7">Len</a></span> : Natural; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_26">Cp</A> /= Null_Ptr <b>then</b> - <A HREF="terminal_interface-curses-aux__adb.htm#ref_76_7">Len</A> := Natural (Strlen (<A HREF="terminal_interface-curses-aux__ads.htm#ref_96_26">Cp</A>)); - <b>if</b> <A HREF="terminal_interface-curses-aux__adb.htm#ref_76_7">Len</A> = 0 <b>then</b> + <b>if</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_26">Cp</a> /= Null_Ptr <b>then</b> + <a href="terminal_interface-curses-aux__adb.htm#ref_76_7">Len</a> := Natural (Strlen (<a href="terminal_interface-curses-aux__ads.htm#ref_96_26">Cp</a>)); + <b>if</b> <a href="terminal_interface-curses-aux__adb.htm#ref_76_7">Len</a> = 0 <b>then</b> <b>return</b> ""; <b>else</b> <b>declare</b> - <span class="symbol"><A NAME="ref_84_16">S</A></span> : String (1 .. <A HREF="terminal_interface-curses-aux__adb.htm#ref_76_7">Len</A>); + <span class="symbol"><a name="ref_84_16">S</a></span> : String (1 .. <a href="terminal_interface-curses-aux__adb.htm#ref_76_7">Len</a>); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_96_26">Cp</A>, <A HREF="terminal_interface-curses-aux__adb.htm#ref_84_16">S</A>); - <b>return</b> <A HREF="terminal_interface-curses-aux__adb.htm#ref_84_16">S</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_96_26">Cp</a>, <a href="terminal_interface-curses-aux__adb.htm#ref_84_16">S</a>); + <b>return</b> <a href="terminal_interface-curses-aux__adb.htm#ref_84_16">S</a>; <b>end</b>; <b>end</b> <b>if</b>; <b>else</b> <b>return</b> ""; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</A>; + <b>end</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_95_14" HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A></span> (<span class="symbol"><A NAME="ref_95_29" HREF="terminal_interface-curses-aux__ads.htm#ref_87_29">Code</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>) + <b>procedure</b> <span class="symbol"><a name="ref_95_14" href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a></span> (<span class="symbol"><a name="ref_95_29" href="terminal_interface-curses-aux__ads.htm#ref_87_29">Code</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>) <b>is</b> <b>begin</b> - <b>case</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_29">Code</A> <b>is</b> - <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_85_7">E_Ok</A> => <b>null</b>; - <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_84_7">E_System_Error</A> => <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_528_4">Eti_System_Error</A>; - <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_83_7">E_Bad_Argument</A> => <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_529_4">Eti_Bad_Argument</A>; - <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_82_7">E_Posted</A> => <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_530_4">Eti_Posted</A>; - <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_81_7">E_Connected</A> => <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_531_4">Eti_Connected</A>; - <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_7">E_Bad_State</A> => <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_532_4">Eti_Bad_State</A>; - <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_79_7">E_No_Room</A> => <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_533_4">Eti_No_Room</A>; - <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_7">E_Not_Posted</A> => <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_534_4">Eti_Not_Posted</A>; - <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_77_7">E_Unknown_Command</A> => <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_535_4">Eti_Unknown_Command</A>; - <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_76_7">E_No_Match</A> => <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_536_4">Eti_No_Match</A>; - <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_7">E_Not_Selectable</A> => <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_537_4">Eti_Not_Selectable</A>; - <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_74_7">E_Not_Connected</A> => <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_538_4">Eti_Not_Connected</A>; - <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_73_7">E_Request_Denied</A> => <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_539_4">Eti_Request_Denied</A>; - <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_7">E_Invalid_Field</A> => <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_540_4">Eti_Invalid_Field</A>; - <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_7">E_Current</A> => <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_541_4">Eti_Current</A>; + <b>case</b> <a href="terminal_interface-curses-aux__ads.htm#ref_87_29">Code</a> <b>is</b> + <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_85_7">E_Ok</a> => <b>null</b>; + <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_84_7">E_System_Error</a> => <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_528_4">Eti_System_Error</a>; + <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_83_7">E_Bad_Argument</a> => <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_529_4">Eti_Bad_Argument</a>; + <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_82_7">E_Posted</a> => <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_530_4">Eti_Posted</a>; + <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_81_7">E_Connected</a> => <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_531_4">Eti_Connected</a>; + <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_80_7">E_Bad_State</a> => <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_532_4">Eti_Bad_State</a>; + <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_79_7">E_No_Room</a> => <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_533_4">Eti_No_Room</a>; + <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_78_7">E_Not_Posted</a> => <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_534_4">Eti_Not_Posted</a>; + <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_77_7">E_Unknown_Command</a> => <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_535_4">Eti_Unknown_Command</a>; + <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_76_7">E_No_Match</a> => <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_536_4">Eti_No_Match</a>; + <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_75_7">E_Not_Selectable</a> => <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_537_4">Eti_Not_Selectable</a>; + <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_74_7">E_Not_Connected</a> => <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_538_4">Eti_Not_Connected</a>; + <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_73_7">E_Request_Denied</a> => <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_539_4">Eti_Request_Denied</a>; + <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_72_7">E_Invalid_Field</a> => <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_540_4">Eti_Invalid_Field</a>; + <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_71_7">E_Current</a> => <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_541_4">Eti_Current</a>; <b>end</b> <b>case</b>; - <b>end</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A>; + <b>end</b> <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-aux__ads.htm b/doc/html/ada/terminal_interface-curses-aux__ads.htm index 3022236c5a9c..b53971961445 100644 --- a/doc/html/ada/terminal_interface-curses-aux__ads.htm +++ b/doc/html/ada/terminal_interface-curses-aux__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-aux.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-aux.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,126 +11,126 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-aux.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Aux --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2018,2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1998-2011,2014 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.25 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-aux.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Aux --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2018,2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1998-2011,2014 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.25 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>with</b> System; -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings; +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings; -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<span class="symbol"><A NAME="ref_46_35" HREF="terminal_interface-curses-aux__adb.htm#ref_42_40">Aux</A></span> <b>is</b> - <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>); +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_46_35" href="terminal_interface-curses-aux__adb.htm#ref_42_40">Aux</a></span> <b>is</b> + <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>); - <b>subtype</b> <span class="symbol"><A NAME="ref_49_12">C_Int</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int; - <b>subtype</b> <span class="symbol"><A NAME="ref_50_12">C_Short</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.short; - <b>subtype</b> <span class="symbol"><A NAME="ref_51_12">C_Long_Int</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.long; - <b>subtype</b> <span class="symbol"><A NAME="ref_52_12">C_Size_T</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.size_t; - <b>subtype</b> <span class="symbol"><A NAME="ref_53_12">C_UInt</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.unsigned; - <b>subtype</b> <span class="symbol"><A NAME="ref_54_12">C_ULong</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.unsigned_long; - <b>subtype</b> <span class="symbol"><A NAME="ref_55_12">C_Char_Ptr</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings.chars_ptr; - <b>type</b> <span class="symbol"><A NAME="ref_56_12">C_Void_Ptr</A></span> <b>is</b> <b>new</b> System.Address; + <b>subtype</b> <span class="symbol"><a name="ref_49_12">C_Int</a></span> <b>is</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int; + <b>subtype</b> <span class="symbol"><a name="ref_50_12">C_Short</a></span> <b>is</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.short; + <b>subtype</b> <span class="symbol"><a name="ref_51_12">C_Long_Int</a></span> <b>is</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.long; + <b>subtype</b> <span class="symbol"><a name="ref_52_12">C_Size_T</a></span> <b>is</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.size_t; + <b>subtype</b> <span class="symbol"><a name="ref_53_12">C_UInt</a></span> <b>is</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.unsigned; + <b>subtype</b> <span class="symbol"><a name="ref_54_12">C_ULong</a></span> <b>is</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.unsigned_long; + <b>subtype</b> <span class="symbol"><a name="ref_55_12">C_Char_Ptr</a></span> <b>is</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings.chars_ptr; + <b>type</b> <span class="symbol"><a name="ref_56_12">C_Void_Ptr</a></span> <b>is</b> <b>new</b> System.Address; - <span class="comment"><EM>-- This is how those constants are defined in ncurses. I see them also</EM></span> - <span class="comment"><EM>-- exactly like this in all ETI implementations I ever tested. So it</EM></span> - <span class="comment"><EM>-- could be that this is quite general, but please check with your curses.</EM></span> - <span class="comment"><EM>-- This is critical, because curses sometime mixes Boolean returns with</EM></span> - <span class="comment"><EM>-- returning an error status.</EM></span> - <span class="symbol"><A NAME="ref_63_4">Curses_Ok</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_12_4">OK</A>; - <span class="symbol"><A NAME="ref_64_4">Curses_Err</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_13_4">ERR</A>; + <span class="comment"><em>-- This is how those constants are defined in ncurses. I see them also</em></span> + <span class="comment"><em>-- exactly like this in all ETI implementations I ever tested. So it</em></span> + <span class="comment"><em>-- could be that this is quite general, but please check with your curses.</em></span> + <span class="comment"><em>-- This is critical, because curses sometime mixes Boolean returns with</em></span> + <span class="comment"><em>-- returning an error status.</em></span> + <span class="symbol"><a name="ref_63_4">Curses_Ok</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_12_4">OK</a>; + <span class="symbol"><a name="ref_64_4">Curses_Err</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_13_4">ERR</a>; - <span class="symbol"><A NAME="ref_66_4">Curses_True</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_15_4">TRUE</A>; - <span class="symbol"><A NAME="ref_67_4">Curses_False</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_16_4">FALSE</A>; + <span class="symbol"><a name="ref_66_4">Curses_True</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_15_4">TRUE</a>; + <span class="symbol"><a name="ref_67_4">Curses_False</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_16_4">FALSE</a>; - <span class="comment"><EM>-- Eti_Error: type for error codes returned by the menu and form subsystem</EM></span> - <b>type</b> <span class="symbol"><A NAME="ref_70_9" HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Eti_Error</A></span> <b>is</b> - (<span class="symbol"><A NAME="ref_71_7">E_Current</A></span>, - <span class="symbol"><A NAME="ref_72_7">E_Invalid_Field</A></span>, - <span class="symbol"><A NAME="ref_73_7">E_Request_Denied</A></span>, - <span class="symbol"><A NAME="ref_74_7">E_Not_Connected</A></span>, - <span class="symbol"><A NAME="ref_75_7">E_Not_Selectable</A></span>, - <span class="symbol"><A NAME="ref_76_7">E_No_Match</A></span>, - <span class="symbol"><A NAME="ref_77_7">E_Unknown_Command</A></span>, - <span class="symbol"><A NAME="ref_78_7">E_Not_Posted</A></span>, - <span class="symbol"><A NAME="ref_79_7">E_No_Room</A></span>, - <span class="symbol"><A NAME="ref_80_7">E_Bad_State</A></span>, - <span class="symbol"><A NAME="ref_81_7">E_Connected</A></span>, - <span class="symbol"><A NAME="ref_82_7">E_Posted</A></span>, - <span class="symbol"><A NAME="ref_83_7">E_Bad_Argument</A></span>, - <span class="symbol"><A NAME="ref_84_7">E_System_Error</A></span>, - <span class="symbol"><A NAME="ref_85_7">E_Ok</A></span>); + <span class="comment"><em>-- Eti_Error: type for error codes returned by the menu and form subsystem</em></span> + <b>type</b> <span class="symbol"><a name="ref_70_9" href="terminal_interface-curses-aux__ads.htm#ref_46_35">Eti_Error</a></span> <b>is</b> + (<span class="symbol"><a name="ref_71_7">E_Current</a></span>, + <span class="symbol"><a name="ref_72_7">E_Invalid_Field</a></span>, + <span class="symbol"><a name="ref_73_7">E_Request_Denied</a></span>, + <span class="symbol"><a name="ref_74_7">E_Not_Connected</a></span>, + <span class="symbol"><a name="ref_75_7">E_Not_Selectable</a></span>, + <span class="symbol"><a name="ref_76_7">E_No_Match</a></span>, + <span class="symbol"><a name="ref_77_7">E_Unknown_Command</a></span>, + <span class="symbol"><a name="ref_78_7">E_Not_Posted</a></span>, + <span class="symbol"><a name="ref_79_7">E_No_Room</a></span>, + <span class="symbol"><a name="ref_80_7">E_Bad_State</a></span>, + <span class="symbol"><a name="ref_81_7">E_Connected</a></span>, + <span class="symbol"><a name="ref_82_7">E_Posted</a></span>, + <span class="symbol"><a name="ref_83_7">E_Bad_Argument</a></span>, + <span class="symbol"><a name="ref_84_7">E_System_Error</a></span>, + <span class="symbol"><a name="ref_85_7">E_Ok</a></span>); - <b>procedure</b> <span class="symbol"><A NAME="ref_87_14" HREF="terminal_interface-curses-aux__adb.htm#ref_95_14">Eti_Exception</A></span> (<span class="symbol"><A NAME="ref_87_29" HREF="terminal_interface-curses-aux__adb.htm#ref_95_29">Code</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>); - <span class="comment"><EM>-- Do nothing if Code = E_Ok.</EM></span> - <span class="comment"><EM>-- Else dispatch the error code and raise the appropriate exception.</EM></span> + <b>procedure</b> <span class="symbol"><a name="ref_87_14" href="terminal_interface-curses-aux__adb.htm#ref_95_14">Eti_Exception</a></span> (<span class="symbol"><a name="ref_87_29" href="terminal_interface-curses-aux__adb.htm#ref_95_29">Code</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>); + <span class="comment"><em>-- Do nothing if Code = E_Ok.</em></span> + <span class="comment"><em>-- Else dispatch the error code and raise the appropriate exception.</em></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_91_14" HREF="terminal_interface-curses-aux__adb.htm#ref_45_14">Fill_String</A></span> (<span class="symbol"><A NAME="ref_91_27" HREF="terminal_interface-curses-aux__adb.htm#ref_45_27">Cp</A></span> : chars_ptr; - <span class="symbol"><A NAME="ref_92_27" HREF="terminal_interface-curses-aux__adb.htm#ref_46_27">Str</A></span> : <b>out</b> String); - <span class="comment"><EM>-- Fill the Str parameter with the string denoted by the chars_ptr</EM></span> - <span class="comment"><EM>-- C-Style string.</EM></span> + <b>procedure</b> <span class="symbol"><a name="ref_91_14" href="terminal_interface-curses-aux__adb.htm#ref_45_14">Fill_String</a></span> (<span class="symbol"><a name="ref_91_27" href="terminal_interface-curses-aux__adb.htm#ref_45_27">Cp</a></span> : chars_ptr; + <span class="symbol"><a name="ref_92_27" href="terminal_interface-curses-aux__adb.htm#ref_46_27">Str</a></span> : <b>out</b> String); + <span class="comment"><em>-- Fill the Str parameter with the string denoted by the chars_ptr</em></span> + <span class="comment"><em>-- C-Style string.</em></span> - <b>function</b> <span class="symbol"><A NAME="ref_96_13" HREF="terminal_interface-curses-aux__adb.htm#ref_74_13">Fill_String</A></span> (<span class="symbol"><A NAME="ref_96_26" HREF="terminal_interface-curses-aux__adb.htm#ref_74_26">Cp</A></span> : chars_ptr) <b>return</b> String; - <span class="comment"><EM>-- Same but as function.</EM></span> + <b>function</b> <span class="symbol"><a name="ref_96_13" href="terminal_interface-curses-aux__adb.htm#ref_74_13">Fill_String</a></span> (<span class="symbol"><a name="ref_96_26" href="terminal_interface-curses-aux__adb.htm#ref_74_26">Cp</a></span> : chars_ptr) <b>return</b> String; + <span class="comment"><em>-- Same but as function.</em></span> <b>private</b> - <b>for</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>'Size <b>use</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>'Size; - <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>); - <b>for</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A> <b>use</b> - (<A HREF="terminal_interface-curses-aux__ads.htm#ref_71_7">E_Current</A> => <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_94_4">E_CURRENT</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_7">E_Invalid_Field</A> => <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_93_4">E_INVALID_FIELD</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_73_7">E_Request_Denied</A> => <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_92_4">E_REQUEST_DENIED</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_74_7">E_Not_Connected</A> => <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_91_4">E_NOT_CONNECTED</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_7">E_Not_Selectable</A> => <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_90_4">E_NOT_SELECTABLE</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_76_7">E_No_Match</A> => <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_89_4">E_NO_MATCH</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_77_7">E_Unknown_Command</A> => <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_88_4">E_UNKNOWN_COMMAND</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_7">E_Not_Posted</A> => <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_87_4">E_NOT_POSTED</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_79_7">E_No_Room</A> => <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_86_4">E_NO_ROOM</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_7">E_Bad_State</A> => <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_85_4">E_BAD_STATE</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_81_7">E_Connected</A> => <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_84_4">E_CONNECTED</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_82_7">E_Posted</A> => <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_83_4">E_POSTED</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_83_7">E_Bad_Argument</A> => <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_82_4">E_BAD_ARGUMENT</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_84_7">E_System_Error</A> => <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_81_4">E_SYSTEM_ERROR</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_85_7">E_Ok</A> => <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_80_4">E_OK</A>); -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; -</PRE></BODY></HTML> + <b>for</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>'Size <b>use</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>'Size; + <b>pragma</b> Convention (C, <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>); + <b>for</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a> <b>use</b> + (<a href="terminal_interface-curses-aux__ads.htm#ref_71_7">E_Current</a> => <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_94_4">E_CURRENT</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_72_7">E_Invalid_Field</a> => <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_93_4">E_INVALID_FIELD</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_73_7">E_Request_Denied</a> => <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_92_4">E_REQUEST_DENIED</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_74_7">E_Not_Connected</a> => <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_91_4">E_NOT_CONNECTED</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_75_7">E_Not_Selectable</a> => <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_90_4">E_NOT_SELECTABLE</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_76_7">E_No_Match</a> => <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_89_4">E_NO_MATCH</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_77_7">E_Unknown_Command</a> => <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_88_4">E_UNKNOWN_COMMAND</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_78_7">E_Not_Posted</a> => <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_87_4">E_NOT_POSTED</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_79_7">E_No_Room</a> => <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_86_4">E_NO_ROOM</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_80_7">E_Bad_State</a> => <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_85_4">E_BAD_STATE</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_81_7">E_Connected</a> => <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_84_4">E_CONNECTED</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_82_7">E_Posted</a> => <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_83_4">E_POSTED</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_83_7">E_Bad_Argument</a> => <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_82_4">E_BAD_ARGUMENT</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_84_7">E_System_Error</a> => <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_81_4">E_SYSTEM_ERROR</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_85_7">E_Ok</a> => <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_80_4">E_OK</a>); +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__adb.htm index f7952f6fae64..6c51ab7d9259 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__adb.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-forms-field_types-alpha.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-forms-field_types-alpha.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,67 +11,67 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-alpha.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Forms.Field_Types.Alpha --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.14 @</EM></span> -<span class="comment"><EM>-- @Date: 2020/02/02 23:34:34 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-alpha.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Forms.Field_Types.Alpha --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.14 @</em></span> +<span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<span class="symbol"><A NAME="ref_45_58" HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_42_53">Alpha</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_45_58" href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_42_53">Alpha</a></span> <b>is</b> - <b>procedure</b> <span class="symbol"><A NAME="ref_47_14" HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_50_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_50_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_48_30" HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_51_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_45_9">Alpha_Field</A>) + <b>procedure</b> <span class="symbol"><a name="ref_47_14" href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_50_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_47_30" href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_50_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_48_30" href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_51_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_45_9">Alpha_Field</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_50_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_50_30" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_50_16">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_50_30">Fld</A>; - <span class="symbol"><A NAME="ref_51_30" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_50_16">Arg1</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_50_16">Set_Fld_Type</a></span> (<span class="symbol"><a name="ref_50_30">F</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_50_30">Fld</a>; + <span class="symbol"><a name="ref_51_30">Arg1</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Fld_Type, "set_field_type_alpha"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_50_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_51_30">Arg1</A> => <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A> (<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_51_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_47_9">Minimum_Field_Width</A>))); - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</A> (<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_50_30">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_51_30">Typ</A>); - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_50_14">Set_Field_Type</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_50_16">Set_Fld_Type</a> (<a href="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_51_30">Arg1</a> => <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a> (<a href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_51_30">Typ</a>.<a href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_47_9">Minimum_Field_Width</a>))); + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</a> (<a href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_50_30">Fld</a>, <a href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_51_30">Typ</a>); + <b>end</b> <a href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_50_14">Set_Field_Type</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_42_53">Alpha</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_42_53">Alpha</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__ads.htm index f2d18975bffa..88ad718cdd93 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__ads.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-forms-field_types-alpha.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-forms-field_types-alpha.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,62 +11,62 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-alpha.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Forms.Field_Types.Alpha --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.13 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<span class="symbol"><A NAME="ref_42_53" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_45_58">Alpha</A></span> <b>is</b> - <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_42_53">Alpha</A>); +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-alpha.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Forms.Field_Types.Alpha --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.13 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_42_53" href="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_45_58">Alpha</a></span> <b>is</b> + <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_42_53">Alpha</a>); - <b>type</b> <span class="symbol"><A NAME="ref_45_9">Alpha_Field</A></span> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A> + <b>type</b> <span class="symbol"><a name="ref_45_9">Alpha_Field</a></span> <b>is</b> <b>new</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a> <b>with</b> <b>record</b> - <span class="symbol"><A NAME="ref_47_9">Minimum_Field_Width</A></span> : Natural := 0; + <span class="symbol"><a name="ref_47_9">Minimum_Field_Width</a></span> : Natural := 0; <b>end</b> <b>record</b>; - <b>procedure</b> <span class="symbol"><A NAME="ref_50_14" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_47_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_50_30" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_47_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_51_30" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_48_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_45_9">Alpha_Field</A>); + <b>procedure</b> <span class="symbol"><a name="ref_50_14" href="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_47_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_50_30" href="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_47_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_51_30" href="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_48_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_45_9">Alpha_Field</a>); <b>pragma</b> Inline (Set_Field_Type); -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_42_53">Alpha</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_42_53">Alpha</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__adb.htm index ac3a10cc5e56..7e759e6c994a 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__adb.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-forms-field_types-alphanumeric.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-forms-field_types-alphanumeric.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,67 +11,67 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-alphanumeric.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Forms.Field_Types.AlphaNumeric --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.14 @</EM></span> -<span class="comment"><EM>-- @Date: 2020/02/02 23:34:34 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-alphanumeric.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Forms.Field_Types.AlphaNumeric --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.14 @</em></span> +<span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<span class="symbol"><A NAME="ref_45_58" HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_42_53">AlphaNumeric</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_45_58" href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_42_53">AlphaNumeric</a></span> <b>is</b> - <b>procedure</b> <span class="symbol"><A NAME="ref_47_14" HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_51_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_51_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_48_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_52_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_46_9">AlphaNumeric_Field</A>) + <b>procedure</b> <span class="symbol"><a name="ref_47_14" href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_51_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_47_30" href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_51_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_48_30" href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_52_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_46_9">AlphaNumeric_Field</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_50_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_50_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_50_16">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_51_30">Fld</A>; - <span class="symbol"><A NAME="ref_51_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_50_16">Arg1</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_50_16">Set_Fld_Type</a></span> (<span class="symbol"><a name="ref_50_30">F</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_51_30">Fld</a>; + <span class="symbol"><a name="ref_51_30">Arg1</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Fld_Type, "set_field_type_alnum"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_50_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_51_30">Arg1</A> => <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A> (<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_52_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_48_9">Minimum_Field_Width</A>))); - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</A> (<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_51_30">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_52_30">Typ</A>); - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_51_14">Set_Field_Type</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_50_16">Set_Fld_Type</a> (<a href="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_51_30">Arg1</a> => <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a> (<a href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_52_30">Typ</a>.<a href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_48_9">Minimum_Field_Width</a>))); + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</a> (<a href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_51_30">Fld</a>, <a href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_52_30">Typ</a>); + <b>end</b> <a href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_51_14">Set_Field_Type</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_42_53">AlphaNumeric</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_42_53">AlphaNumeric</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__ads.htm index 4c398efe1947..73cdb40ef0e9 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__ads.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-forms-field_types-alphanumeric.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-forms-field_types-alphanumeric.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,63 +11,63 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-alphanumeric.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Forms.Field_Types.AlphaNumeric --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.13 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<span class="symbol"><A NAME="ref_42_53" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_45_58">AlphaNumeric</A></span> <b>is</b> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-alphanumeric.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Forms.Field_Types.AlphaNumeric --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.13 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_42_53" href="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_45_58">AlphaNumeric</a></span> <b>is</b> <b>pragma</b> Preelaborate - (<A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_42_53">AlphaNumeric</A>); + (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_42_53">AlphaNumeric</a>); - <b>type</b> <span class="symbol"><A NAME="ref_46_9">AlphaNumeric_Field</A></span> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A> + <b>type</b> <span class="symbol"><a name="ref_46_9">AlphaNumeric_Field</a></span> <b>is</b> <b>new</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a> <b>with</b> <b>record</b> - <span class="symbol"><A NAME="ref_48_9">Minimum_Field_Width</A></span> : Natural := 0; + <span class="symbol"><a name="ref_48_9">Minimum_Field_Width</a></span> : Natural := 0; <b>end</b> <b>record</b>; - <b>procedure</b> <span class="symbol"><A NAME="ref_51_14" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_47_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_51_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_47_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_52_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_48_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_46_9">AlphaNumeric_Field</A>); + <b>procedure</b> <span class="symbol"><a name="ref_51_14" href="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_47_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_51_30" href="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_47_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_52_30" href="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_48_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_46_9">AlphaNumeric_Field</a>); <b>pragma</b> Inline (Set_Field_Type); -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_42_53">AlphaNumeric</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_42_53">AlphaNumeric</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm index 96d61f667f73..acd17292623c 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-forms-field_types-enumeration-ada.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-forms-field_types-enumeration-ada.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,90 +11,90 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-enumeration-ada.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Forms.Field_Types.Enumeration.Ada --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2004,2011 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.12 @</EM></span> -<span class="comment"><EM>-- @Date: 2020/02/02 23:34:34 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-enumeration-ada.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Forms.Field_Types.Enumeration.Ada --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2004,2011 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.12 @</em></span> +<span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>with</b> Ada.Characters.Handling; <b>use</b> Ada.Characters.Handling; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">Enumeration</A>.<span class="symbol"><A NAME="ref_45_70" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_45_65">Ada</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">Enumeration</a>.<span class="symbol"><a name="ref_45_70" href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_45_65">Ada</a></span> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_47_13" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_49_13">Create</A></span> (<span class="symbol"><A NAME="ref_47_21" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_49_21">Set</A></span> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_51_9">Type_Set</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_51_46">Mixed_Case</A>; - <span class="symbol"><A NAME="ref_48_21" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_50_21">Case_Sensitive</A></span> : Boolean := False; - <span class="symbol"><A NAME="ref_49_21" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_51_21">Must_Be_Unique</A></span> : Boolean := False) - <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</A> + <b>function</b> <span class="symbol"><a name="ref_47_13" href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_49_13">Create</a></span> (<span class="symbol"><a name="ref_47_21" href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_49_21">Set</a></span> : <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_51_9">Type_Set</a> := <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_51_46">Mixed_Case</a>; + <span class="symbol"><a name="ref_48_21" href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_50_21">Case_Sensitive</a></span> : Boolean := False; + <span class="symbol"><a name="ref_49_21" href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_51_21">Must_Be_Unique</a></span> : Boolean := False) + <b>return</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</a> <b>is</b> - <span class="symbol"><A NAME="ref_52_7">I</A></span> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_56_9">Enumeration_Info</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_43_9">T</A>'Pos (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_43_9">T</A>'Last) - <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_43_9">T</A>'Pos (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_43_9">T</A>'First) + 1); - <span class="symbol"><A NAME="ref_53_7">J</A></span> : Positive := 1; + <span class="symbol"><a name="ref_52_7">I</a></span> : <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_56_9">Enumeration_Info</a> (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_43_9">T</a>'Pos (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_43_9">T</a>'Last) - <a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_43_9">T</a>'Pos (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_43_9">T</a>'First) + 1); + <span class="symbol"><a name="ref_53_7">J</a></span> : Positive := 1; <b>begin</b> - <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_58_10">Case_Sensitive</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_50_21">Case_Sensitive</A>; - <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_59_10">Match_Must_Be_Unique</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_51_21">Must_Be_Unique</A>; + <a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_58_10">Case_Sensitive</a> := <a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_50_21">Case_Sensitive</a>; + <a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_59_10">Match_Must_Be_Unique</a> := <a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_51_21">Must_Be_Unique</a>; - <b>for</b> <span class="symbol"><A NAME="ref_58_11">E</A></span> <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_43_9">T</A>'<b>Range</b> <b>loop</b> - <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_53_7">J</A>) := <b>new</b> String'(<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_43_9">T</A>'Image (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_58_11">E</A>)); - <span class="comment"><EM>-- The Image attribute defaults to upper case, so we have to handle</EM></span> - <span class="comment"><EM>-- only the other ones...</EM></span> - <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_49_21">Set</A> /= <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_51_34">Upper_Case</A> <b>then</b> - <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_53_7">J</A>).<b>all</b> := To_Lower (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_53_7">J</A>).<b>all</b>); - <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_49_21">Set</A> = <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_51_46">Mixed_Case</A> <b>then</b> - <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_53_7">J</A>).<b>all</b> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_53_7">J</A>).<b>all</b>'First) := - To_Upper (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_53_7">J</A>).<b>all</b> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_53_7">J</A>).<b>all</b>'First)); + <b>for</b> <span class="symbol"><a name="ref_58_11">E</a></span> <b>in</b> <a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_43_9">T</a>'<b>Range</b> <b>loop</b> + <a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</a> (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_53_7">J</a>) := <b>new</b> String'(<a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_43_9">T</a>'Image (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_58_11">E</a>)); + <span class="comment"><em>-- The Image attribute defaults to upper case, so we have to handle</em></span> + <span class="comment"><em>-- only the other ones...</em></span> + <b>if</b> <a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_49_21">Set</a> /= <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_51_34">Upper_Case</a> <b>then</b> + <a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</a> (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_53_7">J</a>).<b>all</b> := To_Lower (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</a> (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_53_7">J</a>).<b>all</b>); + <b>if</b> <a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_49_21">Set</a> = <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_51_46">Mixed_Case</a> <b>then</b> + <a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</a> (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_53_7">J</a>).<b>all</b> (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</a> (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_53_7">J</a>).<b>all</b>'First) := + To_Upper (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</a> (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_53_7">J</a>).<b>all</b> (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</a> (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_53_7">J</a>).<b>all</b>'First)); <b>end</b> <b>if</b>; <b>end</b> <b>if</b>; - <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_53_7">J</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_53_7">J</A> + 1; + <a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_53_7">J</a> := <a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_53_7">J</a> + 1; <b>end</b> <b>loop</b>; - <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_13">Create</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</A>, True); - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_49_13">Create</A>; + <b>return</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_13">Create</a> (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">I</a>, True); + <b>end</b> <a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_49_13">Create</a>; - <b>function</b> <span class="symbol"><A NAME="ref_75_13" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_54_13">Value</A></span> (<span class="symbol"><A NAME="ref_75_20" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_54_20">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_76_20" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_55_20">Buf</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A>'First) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_43_9">T</A> + <b>function</b> <span class="symbol"><a name="ref_75_13" href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_54_13">Value</a></span> (<span class="symbol"><a name="ref_75_20" href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_54_20">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_76_20" href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_55_20">Buf</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>'First) <b>return</b> <a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_43_9">T</a> <b>is</b> <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_43_9">T</A>'Value (<A HREF="terminal_interface-curses-forms__ads.htm#ref_370_13">Get_Buffer</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_54_20">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_55_20">Buf</A>)); - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_54_13">Value</A>; + <b>return</b> <a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_43_9">T</a>'Value (<a href="terminal_interface-curses-forms__ads.htm#ref_370_13">Get_Buffer</a> (<a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_54_20">Fld</a>, <a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_55_20">Buf</a>)); + <b>end</b> <a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_54_13">Value</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">Enumeration</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_45_65">Ada</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">Enumeration</a>.<a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_45_65">Ada</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm index 07d746053635..9ec8c2659f75 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-forms-field_types-enumeration-ada.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-forms-field_types-enumeration-ada.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,68 +11,68 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-enumeration-ada.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Forms.Field_Types.Enumeration.Ada --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2002,2003 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.12 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-enumeration-ada.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Forms.Field_Types.Enumeration.Ada --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2002,2003 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.12 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>generic</b> - <b>type</b> <span class="symbol"><A NAME="ref_43_9" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_45_65">T</A></span> <b>is</b> (<>); + <b>type</b> <span class="symbol"><a name="ref_43_9">T</a></span> <b>is</b> (<>); -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">Enumeration</A>.<span class="symbol"><A NAME="ref_45_65" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_45_70">Ada</A></span> <b>is</b> +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">Enumeration</a>.<span class="symbol"><a name="ref_45_65" href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_45_70">Ada</a></span> <b>is</b> <b>pragma</b> Preelaborate - (<A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">Enumeration</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_45_65">Ada</A>); + (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">Enumeration</a>.<a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_45_65">Ada</a>); - <b>function</b> <span class="symbol"><A NAME="ref_49_13" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_47_13">Create</A></span> (<span class="symbol"><A NAME="ref_49_21" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_47_21">Set</A></span> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_51_9">Type_Set</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_51_46">Mixed_Case</A>; - <span class="symbol"><A NAME="ref_50_21" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_48_21">Case_Sensitive</A></span> : Boolean := False; - <span class="symbol"><A NAME="ref_51_21" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_49_21">Must_Be_Unique</A></span> : Boolean := False) - <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</A>; + <b>function</b> <span class="symbol"><a name="ref_49_13" href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_47_13">Create</a></span> (<span class="symbol"><a name="ref_49_21" href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_47_21">Set</a></span> : <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_51_9">Type_Set</a> := <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_51_46">Mixed_Case</a>; + <span class="symbol"><a name="ref_50_21" href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_48_21">Case_Sensitive</a></span> : Boolean := False; + <span class="symbol"><a name="ref_51_21" href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_49_21">Must_Be_Unique</a></span> : Boolean := False) + <b>return</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</a>; - <b>function</b> <span class="symbol"><A NAME="ref_54_13" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_75_13">Value</A></span> (<span class="symbol"><A NAME="ref_54_20" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_75_20">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_55_20" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_76_20">Buf</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A>'First) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_43_9">T</A>; - <span class="comment"><EM>-- Translate the content of the fields buffer - indicated by the</EM></span> - <span class="comment"><EM>-- buffer number - into an enumeration value. If the buffer is empty</EM></span> - <span class="comment"><EM>-- or the content is invalid, a Constraint_Error is raises.</EM></span> + <b>function</b> <span class="symbol"><a name="ref_54_13" href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_75_13">Value</a></span> (<span class="symbol"><a name="ref_54_20" href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_75_20">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_55_20" href="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_76_20">Buf</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>'First) <b>return</b> <a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_43_9">T</a>; + <span class="comment"><em>-- Translate the content of the fields buffer - indicated by the</em></span> + <span class="comment"><em>-- buffer number - into an enumeration value. If the buffer is empty</em></span> + <span class="comment"><em>-- or the content is invalid, a Constraint_Error is raises.</em></span> -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">Enumeration</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_45_65">Ada</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">Enumeration</a>.<a href="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_45_65">Ada</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__adb.htm index e2881d97745c..1747221a4af8 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__adb.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-forms-field_types-enumeration.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-forms-field_types-enumeration.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,121 +11,121 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-enumeration.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Forms.Field_Types.Enumeration --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.13 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-enumeration.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Forms.Field_Types.Enumeration --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.13 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>with</b> Ada.Unchecked_Deallocation; -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings; -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings; +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<span class="symbol"><A NAME="ref_47_58" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">Enumeration</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_47_58" href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">Enumeration</a></span> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_49_13" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_13">Create</A></span> (<span class="symbol"><A NAME="ref_49_21" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_21">Info</A></span> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_56_9">Enumeration_Info</A>; - <span class="symbol"><A NAME="ref_50_21" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_66_21">Auto_Release_Names</A></span> : Boolean := False) - <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</A> + <b>function</b> <span class="symbol"><a name="ref_49_13" href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_13">Create</a></span> (<span class="symbol"><a name="ref_49_21" href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_21">Info</a></span> : <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_56_9">Enumeration_Info</a>; + <span class="symbol"><a name="ref_50_21" href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_66_21">Auto_Release_Names</a></span> : Boolean := False) + <b>return</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</a> <b>is</b> <b>procedure</b> Release_String <b>is</b> <b>new</b> Ada.Unchecked_Deallocation (String, - <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_48_9">String_Access</A>); - <span class="symbol"><A NAME="ref_56_7">E</A></span> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</A>; - <span class="symbol"><A NAME="ref_57_7">L</A></span> : <b>constant</b> size_t := 1 + size_t (<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_21">Info</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_56_27">C</A>); - <span class="symbol"><A NAME="ref_58_7">S</A></span> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_48_9">String_Access</A>; + <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_48_9">String_Access</a>); + <span class="symbol"><a name="ref_56_7">E</a></span> : <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</a>; + <span class="symbol"><a name="ref_57_7">L</a></span> : <b>constant</b> size_t := 1 + size_t (<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_21">Info</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_56_27">C</a>); + <span class="symbol"><a name="ref_58_7">S</a></span> : <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_48_9">String_Access</a>; <b>begin</b> - <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_56_7">E</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_94_10">Case_Sensitive</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_21">Info</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_58_10">Case_Sensitive</A>; - <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_56_7">E</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Match_Must_Be_Unique</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_21">Info</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_59_10">Match_Must_Be_Unique</A>; - <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_56_7">E</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_96_10">Arr</A> := <b>new</b> chars_ptr_array (size_t (1) .. <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_57_7">L</A>); - <b>for</b> <span class="symbol"><A NAME="ref_63_11">I</A></span> <b>in</b> 1 .. Positive (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_57_7">L</A> - 1) <b>loop</b> - <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_21">Info</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_63_11">I</A>) = <b>null</b> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>; + <a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_56_7">E</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_94_10">Case_Sensitive</a> := <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_21">Info</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_58_10">Case_Sensitive</a>; + <a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_56_7">E</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Match_Must_Be_Unique</a> := <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_21">Info</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_59_10">Match_Must_Be_Unique</a>; + <a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_56_7">E</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_96_10">Arr</a> := <b>new</b> chars_ptr_array (size_t (1) .. <a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_57_7">L</a>); + <b>for</b> <span class="symbol"><a name="ref_63_11">I</a></span> <b>in</b> 1 .. Positive (<a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_57_7">L</a> - 1) <b>loop</b> + <b>if</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_21">Info</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</a> (<a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_63_11">I</a>) = <b>null</b> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>; <b>end</b> <b>if</b>; - <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_56_7">E</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_96_10">Arr</A>.<b>all</b> (size_t (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_63_11">I</A>)) := New_String (<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_21">Info</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_63_11">I</A>).<b>all</b>); - <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_66_21">Auto_Release_Names</A> <b>then</b> - <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_58_7">S</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_21">Info</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_63_11">I</A>); - Release_String (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_58_7">S</A>); + <a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_56_7">E</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_96_10">Arr</a>.<b>all</b> (size_t (<a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_63_11">I</a>)) := New_String (<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_21">Info</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</a> (<a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_63_11">I</a>).<b>all</b>); + <b>if</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_66_21">Auto_Release_Names</a> <b>then</b> + <a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_58_7">S</a> := <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_21">Info</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_60_10">Names</a> (<a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_63_11">I</a>); + Release_String (<a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_58_7">S</a>); <b>end</b> <b>if</b>; <b>end</b> <b>loop</b>; - <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_56_7">E</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_96_10">Arr</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_57_7">L</A>) := Null_Ptr; - <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_56_7">E</A>; - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_13">Create</A>; + <a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_56_7">E</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_96_10">Arr</a>.<b>all</b> (<a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_57_7">L</a>) := Null_Ptr; + <b>return</b> <a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_56_7">E</a>; + <b>end</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_13">Create</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_77_14" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_78_14">Release</A></span> (<span class="symbol"><A NAME="ref_77_23" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_78_23">Enum</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</A>) + <b>procedure</b> <span class="symbol"><a name="ref_77_14" href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_78_14">Release</a></span> (<span class="symbol"><a name="ref_77_23" href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_78_23">Enum</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</a>) <b>is</b> - <span class="symbol"><A NAME="ref_79_7">I</A></span> : size_t := 0; - <span class="symbol"><A NAME="ref_80_7">P</A></span> : chars_ptr; + <span class="symbol"><a name="ref_79_7">I</a></span> : size_t := 0; + <span class="symbol"><a name="ref_80_7">P</a></span> : chars_ptr; <b>begin</b> <b>loop</b> - <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_80_7">P</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_78_23">Enum</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_96_10">Arr</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_79_7">I</A>); - <b>exit</b> <b>when</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_80_7">P</A> = Null_Ptr; - Free (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_80_7">P</A>); - <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_78_23">Enum</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_96_10">Arr</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_79_7">I</A>) := Null_Ptr; - <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_79_7">I</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_79_7">I</A> + 1; + <a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_80_7">P</a> := <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_78_23">Enum</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_96_10">Arr</a>.<b>all</b> (<a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_79_7">I</a>); + <b>exit</b> <b>when</b> <a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_80_7">P</a> = Null_Ptr; + Free (<a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_80_7">P</a>); + <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_78_23">Enum</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_96_10">Arr</a>.<b>all</b> (<a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_79_7">I</a>) := Null_Ptr; + <a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_79_7">I</a> := <a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_79_7">I</a> + 1; <b>end</b> <b>loop</b>; - <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_78_23">Enum</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_96_10">Arr</A> := <b>null</b>; - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_78_14">Release</A>; + <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_78_23">Enum</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_96_10">Arr</a> := <b>null</b>; + <b>end</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_78_14">Release</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_92_14" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_92_30" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_93_30" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_86_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</A>) + <b>procedure</b> <span class="symbol"><a name="ref_92_14" href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_92_30" href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_93_30" href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_86_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_95_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_95_30" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_95_16">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Fld</A>; - <span class="symbol"><A NAME="ref_96_30" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_95_16">Arg1</A></span> : chars_ptr_array; - <span class="symbol"><A NAME="ref_97_30" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_95_16">Arg2</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A>; - <span class="symbol"><A NAME="ref_98_30" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_95_16">Arg3</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_95_16">Set_Fld_Type</a></span> (<span class="symbol"><a name="ref_95_30">F</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Fld</a>; + <span class="symbol"><a name="ref_96_30">Arg1</a></span> : chars_ptr_array; + <span class="symbol"><a name="ref_97_30">Arg2</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a>; + <span class="symbol"><a name="ref_98_30">Arg3</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Fld_Type, "set_field_type_enum"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_86_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_96_10">Arr</A> = <b>null</b> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_86_30">Typ</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_96_10">Arr</a> = <b>null</b> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>; <b>end</b> <b>if</b>; - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> - (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_95_16">Set_Fld_Type</A> - (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_96_30">Arg1</A> => <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_86_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_96_10">Arr</A>.<b>all</b>, - <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_97_30">Arg2</A> => <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_86_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_94_10">Case_Sensitive</A>)), - <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_98_30">Arg3</A> => <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_86_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Match_Must_Be_Unique</A>)))); - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_86_30">Typ</A>, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_150_13">C_Choice_Router</A>); - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_14">Set_Field_Type</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> + (<a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_95_16">Set_Fld_Type</a> + (<a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_96_30">Arg1</a> => <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_86_30">Typ</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_96_10">Arr</a>.<b>all</b>, + <a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_97_30">Arg2</a> => <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a> (Boolean'Pos (<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_86_30">Typ</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_94_10">Case_Sensitive</a>)), + <a href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_98_30">Arg3</a> => <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a> (Boolean'Pos (<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_86_30">Typ</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Match_Must_Be_Unique</a>)))); + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</a> (<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Fld</a>, <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_86_30">Typ</a>, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_150_13">C_Choice_Router</a>); + <b>end</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_14">Set_Field_Type</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">Enumeration</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">Enumeration</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__ads.htm index 7a4bfbee16fc..21719dbd99d8 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__ads.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-forms-field_types-enumeration.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-forms-field_types-enumeration.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,107 +11,107 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-enumeration.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Forms.Field_Types.Enumeration --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2018,2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.15 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings; +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-enumeration.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Forms.Field_Types.Enumeration --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2018,2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.15 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings; -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<span class="symbol"><A NAME="ref_44_53" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_47_58">Enumeration</A></span> <b>is</b> +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_44_53" href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_47_58">Enumeration</a></span> <b>is</b> <b>pragma</b> Preelaborate - (<A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">Enumeration</A>); + (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">Enumeration</a>); - <b>type</b> <span class="symbol"><A NAME="ref_48_9">String_Access</A></span> <b>is</b> <b>access</b> String; + <b>type</b> <span class="symbol"><a name="ref_48_9">String_Access</a></span> <b>is</b> <b>access</b> String; - <span class="comment"><EM>-- Type_Set is used by the child package Ada</EM></span> - <b>type</b> <span class="symbol"><A NAME="ref_51_9">Type_Set</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_51_22">Lower_Case</A></span>, <span class="symbol"><A NAME="ref_51_34">Upper_Case</A></span>, <span class="symbol"><A NAME="ref_51_46">Mixed_Case</A></span>); + <span class="comment"><em>-- Type_Set is used by the child package Ada</em></span> + <b>type</b> <span class="symbol"><a name="ref_51_9">Type_Set</a></span> <b>is</b> (<span class="symbol"><a name="ref_51_22">Lower_Case</a></span>, <span class="symbol"><a name="ref_51_34">Upper_Case</a></span>, <span class="symbol"><a name="ref_51_46">Mixed_Case</a></span>); <b>type</b> Enum_Array <b>is</b> <b>array</b> (Positive <b>range</b> <>) - <b>of</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_48_9">String_Access</A>; + <b>of</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_48_9">String_Access</a>; - <b>type</b> <span class="symbol"><A NAME="ref_56_9">Enumeration_Info</A></span> (<span class="symbol"><A NAME="ref_56_27" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_56_9">C</A></span> : Positive) <b>is</b> + <b>type</b> <span class="symbol"><a name="ref_56_9">Enumeration_Info</a></span> (<span class="symbol"><a name="ref_56_27">C</a></span> : Positive) <b>is</b> <b>record</b> - <span class="symbol"><A NAME="ref_58_10">Case_Sensitive</A></span> : Boolean := False; - <span class="symbol"><A NAME="ref_59_10">Match_Must_Be_Unique</A></span> : Boolean := False; - <span class="symbol"><A NAME="ref_60_10">Names</A></span> : Enum_Array (1 .. <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_56_27">C</A>); + <span class="symbol"><a name="ref_58_10">Case_Sensitive</a></span> : Boolean := False; + <span class="symbol"><a name="ref_59_10">Match_Must_Be_Unique</a></span> : Boolean := False; + <span class="symbol"><a name="ref_60_10">Names</a></span> : Enum_Array (1 .. <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_56_27">C</a>); <b>end</b> <b>record</b>; - <b>type</b> <span class="symbol"><A NAME="ref_63_9">Enumeration_Field</A></span> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A> <b>with</b> <b>private</b>; + <b>type</b> <span class="symbol"><a name="ref_63_9">Enumeration_Field</a></span> <b>is</b> <b>new</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a> <b>with</b> <b>private</b>; - <b>function</b> <span class="symbol"><A NAME="ref_65_13" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_49_13">Create</A></span> (<span class="symbol"><A NAME="ref_65_21" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_49_21">Info</A></span> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_56_9">Enumeration_Info</A>; - <span class="symbol"><A NAME="ref_66_21" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_50_21">Auto_Release_Names</A></span> : Boolean := False) - <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</A>; - <span class="comment"><EM>-- Make an fieldtype from the info. Enumerations are special, because</EM></span> - <span class="comment"><EM>-- they normally don't copy the enum values into a private store, so</EM></span> - <span class="comment"><EM>-- we have to care for the lifetime of the info we provide.</EM></span> - <span class="comment"><EM>-- The Auto_Release_Names flag may be used to automatically releases</EM></span> - <span class="comment"><EM>-- the strings in the Names array of the Enumeration_Info.</EM></span> + <b>function</b> <span class="symbol"><a name="ref_65_13" href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_49_13">Create</a></span> (<span class="symbol"><a name="ref_65_21" href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_49_21">Info</a></span> : <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_56_9">Enumeration_Info</a>; + <span class="symbol"><a name="ref_66_21" href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_50_21">Auto_Release_Names</a></span> : Boolean := False) + <b>return</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</a>; + <span class="comment"><em>-- Make an fieldtype from the info. Enumerations are special, because</em></span> + <span class="comment"><em>-- they normally don't copy the enum values into a private store, so</em></span> + <span class="comment"><em>-- we have to care for the lifetime of the info we provide.</em></span> + <span class="comment"><em>-- The Auto_Release_Names flag may be used to automatically releases</em></span> + <span class="comment"><em>-- the strings in the Names array of the Enumeration_Info.</em></span> - <b>function</b> Make_Enumeration_Type (<span class="symbol"><A NAME="ref_74_36">Info</A></span> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_56_9">Enumeration_Info</A>; - <span class="symbol"><A NAME="ref_75_36">Auto_Release_Names</A></span> : Boolean := False) - <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</A> <b>renames</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_13">Create</A>; + <b>function</b> Make_Enumeration_Type (<span class="symbol"><a name="ref_74_36">Info</a></span> : <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_56_9">Enumeration_Info</a>; + <span class="symbol"><a name="ref_75_36">Auto_Release_Names</a></span> : Boolean := False) + <b>return</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</a> <b>renames</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_13">Create</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_78_14" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_77_14">Release</A></span> (<span class="symbol"><A NAME="ref_78_23" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_77_23">Enum</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</A>); - <span class="comment"><EM>-- But we may want to release the field to release the memory allocated</EM></span> - <span class="comment"><EM>-- by it internally. After that the Enumeration field is no longer usable.</EM></span> + <b>procedure</b> <span class="symbol"><a name="ref_78_14" href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_77_14">Release</a></span> (<span class="symbol"><a name="ref_78_23" href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_77_23">Enum</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</a>); + <span class="comment"><em>-- But we may want to release the field to release the memory allocated</em></span> + <span class="comment"><em>-- by it internally. After that the Enumeration field is no longer usable.</em></span> - <span class="comment"><EM>-- The next type definitions are all ncurses extensions. They are typically</EM></span> - <span class="comment"><EM>-- not available in other curses implementations.</EM></span> + <span class="comment"><em>-- The next type definitions are all ncurses extensions. They are typically</em></span> + <span class="comment"><em>-- not available in other curses implementations.</em></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_85_14" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_92_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_85_30" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_92_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_86_30" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_93_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</A>); + <b>procedure</b> <span class="symbol"><a name="ref_85_14" href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_92_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_85_30" href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_92_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_86_30" href="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_93_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</a>); <b>pragma</b> Inline (Set_Field_Type); <b>private</b> - <b>type</b> <span class="symbol"><A NAME="ref_90_9" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">CPA_Access</A></span> <b>is</b> <b>access</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings.chars_ptr_array; + <b>type</b> <span class="symbol"><a name="ref_90_9" href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">CPA_Access</a></span> <b>is</b> <b>access</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings.chars_ptr_array; - <b>type</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</A> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A> <b>with</b> + <b>type</b> <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_63_9">Enumeration_Field</a> <b>is</b> <b>new</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a> <b>with</b> <b>record</b> - <span class="symbol"><A NAME="ref_94_10">Case_Sensitive</A></span> : Boolean := False; - <span class="symbol"><A NAME="ref_95_10">Match_Must_Be_Unique</A></span> : Boolean := False; - <span class="symbol"><A NAME="ref_96_10">Arr</A></span> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_90_9">CPA_Access</A> := <b>null</b>; + <span class="symbol"><a name="ref_94_10">Case_Sensitive</a></span> : Boolean := False; + <span class="symbol"><a name="ref_95_10">Match_Must_Be_Unique</a></span> : Boolean := False; + <span class="symbol"><a name="ref_96_10">Arr</a></span> : <a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_90_9">CPA_Access</a> := <b>null</b>; <b>end</b> <b>record</b>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">Enumeration</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_44_53">Enumeration</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__adb.htm index 3569f015b8e1..6ff20e89c557 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__adb.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-forms-field_types-intfield.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-forms-field_types-intfield.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,71 +11,71 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-intfield.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Forms.Field_Types.IntField --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.14 @</EM></span> -<span class="comment"><EM>-- @Date: 2020/02/02 23:34:34 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-intfield.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Forms.Field_Types.IntField --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.14 @</em></span> +<span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<span class="symbol"><A NAME="ref_45_58" HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_42_53">IntField</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_45_58" href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_42_53">IntField</a></span> <b>is</b> - <b>procedure</b> <span class="symbol"><A NAME="ref_47_14" HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_48_30" HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_53_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_45_9">Integer_Field</A>) + <b>procedure</b> <span class="symbol"><a name="ref_47_14" href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_47_30" href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_48_30" href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_53_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_45_9">Integer_Field</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_50_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_50_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_50_16">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_30">Fld</A>; - <span class="symbol"><A NAME="ref_51_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_50_16">Arg1</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A>; - <span class="symbol"><A NAME="ref_52_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_50_16">Arg2</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Long_Int</A>; - <span class="symbol"><A NAME="ref_53_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_50_16">Arg3</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Long_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_50_16">Set_Fld_Type</a></span> (<span class="symbol"><a name="ref_50_30">F</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_30">Fld</a>; + <span class="symbol"><a name="ref_51_30">Arg1</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a>; + <span class="symbol"><a name="ref_52_30">Arg2</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Long_Int</a>; + <span class="symbol"><a name="ref_53_30">Arg3</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Long_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Fld_Type, "set_field_type_integer"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_50_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_51_30">Arg1</A> => <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A> (<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_53_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_47_10">Precision</A>), - <A HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_52_30">Arg2</A> => <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Long_Int</A> (<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_53_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_48_10">Lower_Limit</A>), - <A HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_53_30">Arg3</A> => <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Long_Int</A> (<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_53_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_49_10">Upper_Limit</A>))); - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</A> (<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_30">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_53_30">Typ</A>); - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_14">Set_Field_Type</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_50_16">Set_Fld_Type</a> (<a href="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_51_30">Arg1</a> => <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a> (<a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_53_30">Typ</a>.<a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_47_10">Precision</a>), + <a href="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_52_30">Arg2</a> => <a href="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Long_Int</a> (<a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_53_30">Typ</a>.<a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_48_10">Lower_Limit</a>), + <a href="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_53_30">Arg3</a> => <a href="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Long_Int</a> (<a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_53_30">Typ</a>.<a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_49_10">Upper_Limit</a>))); + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</a> (<a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_30">Fld</a>, <a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_53_30">Typ</a>); + <b>end</b> <a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_14">Set_Field_Type</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_42_53">IntField</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_42_53">IntField</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__ads.htm index 2331168420aa..91151756fab5 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__ads.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-forms-field_types-intfield.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-forms-field_types-intfield.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,64 +11,64 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-intfield.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Forms.Field_Types.IntField --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.13 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<span class="symbol"><A NAME="ref_42_53" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_45_58">IntField</A></span> <b>is</b> - <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_42_53">IntField</A>); +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-intfield.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Forms.Field_Types.IntField --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.13 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_42_53" href="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_45_58">IntField</a></span> <b>is</b> + <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_42_53">IntField</a>); - <b>type</b> <span class="symbol"><A NAME="ref_45_9">Integer_Field</A></span> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A> <b>with</b> + <b>type</b> <span class="symbol"><a name="ref_45_9">Integer_Field</a></span> <b>is</b> <b>new</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a> <b>with</b> <b>record</b> - <span class="symbol"><A NAME="ref_47_10">Precision</A></span> : Natural; - <span class="symbol"><A NAME="ref_48_10">Lower_Limit</A></span> : Integer; - <span class="symbol"><A NAME="ref_49_10">Upper_Limit</A></span> : Integer; + <span class="symbol"><a name="ref_47_10">Precision</a></span> : Natural; + <span class="symbol"><a name="ref_48_10">Lower_Limit</a></span> : Integer; + <span class="symbol"><a name="ref_49_10">Upper_Limit</a></span> : Integer; <b>end</b> <b>record</b>; - <b>procedure</b> <span class="symbol"><A NAME="ref_52_14" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_47_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_52_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_47_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_53_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_48_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_45_9">Integer_Field</A>); + <b>procedure</b> <span class="symbol"><a name="ref_52_14" href="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_47_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_52_30" href="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_47_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_53_30" href="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_48_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_45_9">Integer_Field</a>); <b>pragma</b> Inline (Set_Field_Type); -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_42_53">IntField</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_42_53">IntField</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__adb.htm index 540733b3185a..e433d7526c33 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__adb.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-forms-field_types-ipv4_address.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-forms-field_types-ipv4_address.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,67 +11,67 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-ipv4_address.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Forms.Field_Types.IPV4_Address --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.14 @</EM></span> -<span class="comment"><EM>-- @Date: 2020/02/02 23:34:34 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-ipv4_address.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Forms.Field_Types.IPV4_Address --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.14 @</em></span> +<span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<span class="symbol"><A NAME="ref_45_58" HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_42_53">IPV4_Address</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_45_58" href="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_42_53">IPV4_Address</a></span> <b>is</b> - <b>procedure</b> <span class="symbol"><A NAME="ref_47_14" HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_48_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_48_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_48_30" HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_49_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_46_9">Internet_V4_Address_Field</A>) + <b>procedure</b> <span class="symbol"><a name="ref_47_14" href="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_48_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_47_30" href="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_48_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_48_30" href="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_49_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_46_9">Internet_V4_Address_Field</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_50_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_50_30" HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_50_16">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_48_30">Fld</A>) - <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_50_16">Set_Fld_Type</a></span> (<span class="symbol"><a name="ref_50_30">F</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_48_30">Fld</a>) + <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Fld_Type, "set_field_type_ipv4"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_50_16">Set_Fld_Type</A>); - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</A> (<A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_48_30">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_49_30">Typ</A>); - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_48_14">Set_Field_Type</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_50_16">Set_Fld_Type</a>); + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</a> (<a href="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_48_30">Fld</a>, <a href="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_49_30">Typ</a>); + <b>end</b> <a href="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_48_14">Set_Field_Type</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_42_53">IPV4_Address</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_42_53">IPV4_Address</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__ads.htm index 0e8296701ae2..5ace0d505a0d 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__ads.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-forms-field_types-ipv4_address.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-forms-field_types-ipv4_address.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,60 +11,60 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-ipv4_address.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Forms.Field_Types.IPV4_Address --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.13 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<span class="symbol"><A NAME="ref_42_53" HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_45_58">IPV4_Address</A></span> <b>is</b> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-ipv4_address.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Forms.Field_Types.IPV4_Address --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.13 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_42_53" href="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_45_58">IPV4_Address</a></span> <b>is</b> <b>pragma</b> Preelaborate - (<A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_42_53">IPV4_Address</A>); + (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_42_53">IPV4_Address</a>); - <b>type</b> <span class="symbol"><A NAME="ref_46_9">Internet_V4_Address_Field</A></span> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A> <b>with</b> <b>null</b> <b>record</b>; + <b>type</b> <span class="symbol"><a name="ref_46_9">Internet_V4_Address_Field</a></span> <b>is</b> <b>new</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a> <b>with</b> <b>null</b> <b>record</b>; - <b>procedure</b> <span class="symbol"><A NAME="ref_48_14" HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_47_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_48_30" HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_47_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_49_30" HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_48_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_46_9">Internet_V4_Address_Field</A>); + <b>procedure</b> <span class="symbol"><a name="ref_48_14" href="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_47_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_48_30" href="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_47_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_49_30" href="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_48_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_46_9">Internet_V4_Address_Field</a>); <b>pragma</b> Inline (Set_Field_Type); -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_42_53">IPV4_Address</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_42_53">IPV4_Address</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__adb.htm index f49021635147..11b48eb20c72 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__adb.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-forms-field_types-numeric.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-forms-field_types-numeric.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,74 +11,74 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-numeric.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Forms.Field_Types.Numeric --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.15 @</EM></span> -<span class="comment"><EM>-- @Date: 2020/02/02 23:34:34 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-numeric.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Forms.Field_Types.Numeric --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.15 @</em></span> +<span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<span class="symbol"><A NAME="ref_46_58" HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_42_53">Numeric</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_46_58" href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_42_53">Numeric</a></span> <b>is</b> - <b>procedure</b> <span class="symbol"><A NAME="ref_48_14" HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_48_30" HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_49_30" HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_53_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_45_9">Numeric_Field</A>) + <b>procedure</b> <span class="symbol"><a name="ref_48_14" href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_48_30" href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_49_30" href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_53_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_45_9">Numeric_Field</a>) <b>is</b> - <b>type</b> <span class="symbol"><A NAME="ref_51_12">Double</A></span> <b>is</b> <b>new</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.double; + <b>type</b> <span class="symbol"><a name="ref_51_12">Double</a></span> <b>is</b> <b>new</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.double; - <b>function</b> <span class="symbol"><A NAME="ref_53_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_53_30" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_53_16">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_30">Fld</A>; - <span class="symbol"><A NAME="ref_54_30" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_53_16">Arg1</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A>; - <span class="symbol"><A NAME="ref_55_30" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_53_16">Arg2</A></span> : <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_51_12">Double</A>; - <span class="symbol"><A NAME="ref_56_30" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_53_16">Arg3</A></span> : <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_51_12">Double</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_53_16">Set_Fld_Type</a></span> (<span class="symbol"><a name="ref_53_30">F</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_30">Fld</a>; + <span class="symbol"><a name="ref_54_30">Arg1</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a>; + <span class="symbol"><a name="ref_55_30">Arg2</a></span> : <a href="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_51_12">Double</a>; + <span class="symbol"><a name="ref_56_30">Arg3</a></span> : <a href="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_51_12">Double</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Fld_Type, "set_field_type_numeric"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_53_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_54_30">Arg1</A> => <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A> (<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_53_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_47_10">Precision</A>), - <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_55_30">Arg2</A> => <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_51_12">Double</A> (<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_53_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_48_10">Lower_Limit</A>), - <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_56_30">Arg3</A> => <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_51_12">Double</A> (<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_53_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_49_10">Upper_Limit</A>))); - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</A> (<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_30">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_53_30">Typ</A>); - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_14">Set_Field_Type</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_53_16">Set_Fld_Type</a> (<a href="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_54_30">Arg1</a> => <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a> (<a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_53_30">Typ</a>.<a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_47_10">Precision</a>), + <a href="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_55_30">Arg2</a> => <a href="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_51_12">Double</a> (<a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_53_30">Typ</a>.<a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_48_10">Lower_Limit</a>), + <a href="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_56_30">Arg3</a> => <a href="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_51_12">Double</a> (<a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_53_30">Typ</a>.<a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_49_10">Upper_Limit</a>))); + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</a> (<a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_30">Fld</a>, <a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_53_30">Typ</a>); + <b>end</b> <a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_14">Set_Field_Type</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_42_53">Numeric</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_42_53">Numeric</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__ads.htm index 0d33c2729feb..0dddc360c5ea 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__ads.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-forms-field_types-numeric.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-forms-field_types-numeric.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,64 +11,64 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-numeric.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Forms.Field_Types.Numeric --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.13 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<span class="symbol"><A NAME="ref_42_53" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_46_58">Numeric</A></span> <b>is</b> - <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_42_53">Numeric</A>); +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-numeric.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Forms.Field_Types.Numeric --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.13 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_42_53" href="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_46_58">Numeric</a></span> <b>is</b> + <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_42_53">Numeric</a>); - <b>type</b> <span class="symbol"><A NAME="ref_45_9">Numeric_Field</A></span> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A> <b>with</b> + <b>type</b> <span class="symbol"><a name="ref_45_9">Numeric_Field</a></span> <b>is</b> <b>new</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a> <b>with</b> <b>record</b> - <span class="symbol"><A NAME="ref_47_10">Precision</A></span> : Natural; - <span class="symbol"><A NAME="ref_48_10">Lower_Limit</A></span> : Float; - <span class="symbol"><A NAME="ref_49_10">Upper_Limit</A></span> : Float; + <span class="symbol"><a name="ref_47_10">Precision</a></span> : Natural; + <span class="symbol"><a name="ref_48_10">Lower_Limit</a></span> : Float; + <span class="symbol"><a name="ref_49_10">Upper_Limit</a></span> : Float; <b>end</b> <b>record</b>; - <b>procedure</b> <span class="symbol"><A NAME="ref_52_14" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_48_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_52_30" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_48_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_53_30" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_49_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_45_9">Numeric_Field</A>); + <b>procedure</b> <span class="symbol"><a name="ref_52_14" href="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_48_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_52_30" href="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_48_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_53_30" href="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_49_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_45_9">Numeric_Field</a>); <b>pragma</b> Inline (Set_Field_Type); -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_42_53">Numeric</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_42_53">Numeric</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__adb.htm index abdd97f47db4..a8936f5cb378 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__adb.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-forms-field_types-regexp.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-forms-field_types-regexp.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,67 +11,67 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-regexp.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Forms.Field_Types.RegExp --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.13 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-regexp.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Forms.Field_Types.RegExp --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.13 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<span class="symbol"><A NAME="ref_45_58" HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_42_53">RegExp</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_45_58" href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_42_53">RegExp</a></span> <b>is</b> - <b>procedure</b> <span class="symbol"><A NAME="ref_47_14" HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_52_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_52_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_48_30" HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_53_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_47_9">Regular_Expression_Field</A>) + <b>procedure</b> <span class="symbol"><a name="ref_47_14" href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_52_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_47_30" href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_52_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_48_30" href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_53_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_47_9">Regular_Expression_Field</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_50_16">Set_Ftyp</A></span> (<span class="symbol"><A NAME="ref_50_26" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_50_16">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_52_30">Fld</A>; - <span class="symbol"><A NAME="ref_51_26" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_50_16">Arg1</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_50_16">Set_Ftyp</a></span> (<span class="symbol"><a name="ref_50_26">F</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_52_30">Fld</a>; + <span class="symbol"><a name="ref_51_26">Arg1</a></span> : char_array) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Ftyp, "set_field_type_regexp"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_50_16">Set_Ftyp</A> (<A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_51_26">Arg1</A> => To_C (<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_53_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_49_10">Regular_Expression</A>.<b>all</b>))); - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</A> (<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_52_30">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_53_30">Typ</A>); - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_52_14">Set_Field_Type</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_50_16">Set_Ftyp</a> (<a href="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_51_26">Arg1</a> => To_C (<a href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_53_30">Typ</a>.<a href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_49_10">Regular_Expression</a>.<b>all</b>))); + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</a> (<a href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_52_30">Fld</a>, <a href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_53_30">Typ</a>); + <b>end</b> <a href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_52_14">Set_Field_Type</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_42_53">RegExp</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_42_53">RegExp</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__ads.htm index 4dd1784dc19d..19f903daa8b4 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__ads.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-forms-field_types-regexp.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-forms-field_types-regexp.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,64 +11,64 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-regexp.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Forms.Field_Types.RegExp --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.13 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<span class="symbol"><A NAME="ref_42_53" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_45_58">RegExp</A></span> <b>is</b> - <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_42_53">RegExp</A>); +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-regexp.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Forms.Field_Types.RegExp --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.13 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_42_53" href="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_45_58">RegExp</a></span> <b>is</b> + <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_42_53">RegExp</a>); - <b>type</b> <span class="symbol"><A NAME="ref_45_9">String_Access</A></span> <b>is</b> <b>access</b> String; + <b>type</b> <span class="symbol"><a name="ref_45_9">String_Access</a></span> <b>is</b> <b>access</b> String; - <b>type</b> <span class="symbol"><A NAME="ref_47_9">Regular_Expression_Field</A></span> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A> <b>with</b> + <b>type</b> <span class="symbol"><a name="ref_47_9">Regular_Expression_Field</a></span> <b>is</b> <b>new</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a> <b>with</b> <b>record</b> - <span class="symbol"><A NAME="ref_49_10">Regular_Expression</A></span> : <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_45_9">String_Access</A>; + <span class="symbol"><a name="ref_49_10">Regular_Expression</a></span> : <a href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_45_9">String_Access</a>; <b>end</b> <b>record</b>; - <b>procedure</b> <span class="symbol"><A NAME="ref_52_14" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_47_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_52_30" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_47_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_53_30" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_48_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_47_9">Regular_Expression_Field</A>); + <b>procedure</b> <span class="symbol"><a name="ref_52_14" href="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_47_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_52_30" href="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_47_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_53_30" href="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_48_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_47_9">Regular_Expression_Field</a>); <b>pragma</b> Inline (Set_Field_Type); -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_42_53">RegExp</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_42_53">RegExp</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__adb.htm index a78ae91dd959..b9f797a89f14 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__adb.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-forms-field_types-user-choice.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-forms-field_types-user-choice.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,113 +11,113 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-user-choice.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Forms.Field_Types.User.Choice --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.21 @</EM></span> -<span class="comment"><EM>-- @Date: 2020/02/02 23:34:34 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-user-choice.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Forms.Field_Types.User.Choice --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.21 @</em></span> +<span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>with</b> System.Address_To_Access_Conversions; -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_45_53">User</A>.<span class="symbol"><A NAME="ref_46_63" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_45_58">Choice</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_45_53">User</a>.<span class="symbol"><a name="ref_46_63" href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_45_58">Choice</a></span> <b>is</b> <b>package</b> Argument_Conversions <b>is</b> - <b>new</b> System.Address_To_Access_Conversions (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_9">Argument</A>); + <b>new</b> System.Address_To_Access_Conversions (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_212_9">Argument</a>); - <b>function</b> <span class="symbol"><A NAME="ref_51_13" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_81_13">Generic_Next</A></span> (<span class="symbol"><A NAME="ref_51_27" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_81_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_52_27" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_82_27">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> + <b>function</b> <span class="symbol"><a name="ref_51_13" href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_81_13">Generic_Next</a></span> (<span class="symbol"><a name="ref_51_27" href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_81_27">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_52_27" href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_82_27">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> <b>is</b> - <span class="symbol"><A NAME="ref_54_7">Result</A></span> : Boolean; - <span class="symbol"><A NAME="ref_55_7">Udf</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_58_9">User_Defined_Field_Type_With_Choice_Access</A> := - <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_58_9">User_Defined_Field_Type_With_Choice_Access</A> - (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_82_27">Usr</A>)).<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</A>); + <span class="symbol"><a name="ref_54_7">Result</a></span> : Boolean; + <span class="symbol"><a name="ref_55_7">Udf</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_58_9">User_Defined_Field_Type_With_Choice_Access</a> := + <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_58_9">User_Defined_Field_Type_With_Choice_Access</a> + (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a> (Argument_Conversions.To_Pointer (<a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_82_27">Usr</a>)).<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</a>); <b>begin</b> - <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_54_7">Result</A> := <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_61_13">Next</A> (<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_81_27">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_55_7">Udf</A>.<b>all</b>); - <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_54_7">Result</A>)); - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_81_13">Generic_Next</A>; + <a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_54_7">Result</a> := <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_61_13">Next</a> (<a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_81_27">Fld</a>, <a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_55_7">Udf</a>.<b>all</b>); + <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_54_7">Result</a>)); + <b>end</b> <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_81_13">Generic_Next</a>; - <b>function</b> <span class="symbol"><A NAME="ref_63_13" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_88_13">Generic_Prev</A></span> (<span class="symbol"><A NAME="ref_63_27" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_88_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_64_27" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_89_27">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> + <b>function</b> <span class="symbol"><a name="ref_63_13" href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_88_13">Generic_Prev</a></span> (<span class="symbol"><a name="ref_63_27" href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_88_27">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_64_27" href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_89_27">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> <b>is</b> - <span class="symbol"><A NAME="ref_66_7">Result</A></span> : Boolean; - <span class="symbol"><A NAME="ref_67_7">Udf</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_58_9">User_Defined_Field_Type_With_Choice_Access</A> := - <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_58_9">User_Defined_Field_Type_With_Choice_Access</A> - (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_89_27">Usr</A>)).<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</A>); + <span class="symbol"><a name="ref_66_7">Result</a></span> : Boolean; + <span class="symbol"><a name="ref_67_7">Udf</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_58_9">User_Defined_Field_Type_With_Choice_Access</a> := + <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_58_9">User_Defined_Field_Type_With_Choice_Access</a> + (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a> (Argument_Conversions.To_Pointer (<a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_89_27">Usr</a>)).<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</a>); <b>begin</b> - <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_66_7">Result</A> := <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_68_13">Previous</A> (<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_88_27">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_67_7">Udf</A>.<b>all</b>); - <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_66_7">Result</A>)); - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_88_13">Generic_Prev</A>; + <a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_66_7">Result</a> := <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_68_13">Previous</a> (<a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_88_27">Fld</a>, <a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_67_7">Udf</a>.<b>all</b>); + <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_66_7">Result</a>)); + <b>end</b> <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_88_13">Generic_Prev</a>; - <span class="comment"><EM>-- -----------------------------------------------------------------------</EM></span> - <span class="comment"><EM>--</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_77_13" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_79_13">C_Generic_Choice</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A> + <span class="comment"><em>-- -----------------------------------------------------------------------</em></span> + <span class="comment"><em>--</em></span> + <b>function</b> <span class="symbol"><a name="ref_77_13" href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_79_13">C_Generic_Choice</a></span> <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a> <b>is</b> - <span class="symbol"><A NAME="ref_79_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; - <span class="symbol"><A NAME="ref_80_7">T</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>; + <span class="symbol"><a name="ref_79_7">Res</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; + <span class="symbol"><a name="ref_80_7">T</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_143_4">M_Generic_Choice</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A> <b>then</b> - <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_80_7">T</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_223_13">New_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_13">Generic_Field_Check</A>'<b>Access</b>, - <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_13">Generic_Char_Check</A>'<b>Access</b>); - <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_80_7">T</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_143_4">M_Generic_Choice</a> = <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a> <b>then</b> + <a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_80_7">T</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_223_13">New_Fieldtype</a> (<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_13">Generic_Field_Check</a>'<b>Access</b>, + <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_13">Generic_Char_Check</a>'<b>Access</b>); + <b>if</b> <a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_80_7">T</a> = <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>; <b>else</b> - <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_79_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_228_13">Set_Fieldtype_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_80_7">T</A>, - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_163_13">Make_Arg</A>'<b>Access</b>, - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</A>'<b>Access</b>, - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</A>'<b>Access</b>); - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_79_7">Res</A>); + <a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_79_7">Res</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_228_13">Set_Fieldtype_Arg</a> (<a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_80_7">T</a>, + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_163_13">Make_Arg</a>'<b>Access</b>, + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</a>'<b>Access</b>, + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</a>'<b>Access</b>); + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_79_7">Res</a>); - <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_79_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_235_13">Set_Fieldtype_Choice</A> (<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_80_7">T</A>, - <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_81_13">Generic_Next</A>'<b>Access</b>, - <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_88_13">Generic_Prev</A>'<b>Access</b>); - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_79_7">Res</A>); + <a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_79_7">Res</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_235_13">Set_Fieldtype_Choice</a> (<a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_80_7">T</a>, + <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_81_13">Generic_Next</a>'<b>Access</b>, + <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_88_13">Generic_Prev</a>'<b>Access</b>); + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_79_7">Res</a>); <b>end</b> <b>if</b>; - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_143_4">M_Generic_Choice</A> := <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_80_7">T</A>; + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_143_4">M_Generic_Choice</a> := <a href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_80_7">T</a>; <b>end</b> <b>if</b>; - <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_143_4">M_Generic_Choice</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A>); - <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_143_4">M_Generic_Choice</A>; - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_79_13">C_Generic_Choice</A>; + <b>pragma</b> Assert (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_143_4">M_Generic_Choice</a> /= <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a>); + <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_143_4">M_Generic_Choice</a>; + <b>end</b> <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_79_13">C_Generic_Choice</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_45_53">User</A>.<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_45_58">Choice</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_45_53">User</a>.<a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_45_58">Choice</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__ads.htm index 7dd786e6e467..74a658891d77 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__ads.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-forms-field_types-user-choice.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-forms-field_types-user-choice.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,103 +11,103 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-user-choice.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Forms.Field_Types.User.Choice --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2008,2011 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.15 @</EM></span> -<span class="comment"><EM>-- @Date: 2020/02/02 23:34:34 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-user-choice.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Forms.Field_Types.User.Choice --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2008,2011 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.15 @</em></span> +<span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_45_53">User</A>.<span class="symbol"><A NAME="ref_45_58" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_46_63">Choice</A></span> <b>is</b> +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_45_53">User</a>.<span class="symbol"><a name="ref_45_58" href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_46_63">Choice</a></span> <b>is</b> <b>pragma</b> Preelaborate - (<A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_45_53">User</A>.<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_45_58">Choice</A>); + (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_45_53">User</a>.<a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_45_58">Choice</a>); - <b>subtype</b> <span class="symbol"><A NAME="ref_49_12">C_Int</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int; + <b>subtype</b> <span class="symbol"><a name="ref_49_12">C_Int</a></span> <b>is</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int; - <b>type</b> <span class="symbol"><A NAME="ref_51_9">User_Defined_Field_Type_With_Choice</A></span> <b>is</b> <b>abstract</b> <b>new</b> - <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_49_9">User_Defined_Field_Type</A> <b>with</b> <b>null</b> <b>record</b>; - <span class="comment"><EM>-- This is the root of the mechanism we use to create field types in</EM></span> - <span class="comment"><EM>-- Ada95 that allow the prev/next mechanism. You should your own type</EM></span> - <span class="comment"><EM>-- derive from this one and implement the Field_Check, Character_Check</EM></span> - <span class="comment"><EM>-- Next and Previous functions for your own type.</EM></span> + <b>type</b> <span class="symbol"><a name="ref_51_9">User_Defined_Field_Type_With_Choice</a></span> <b>is</b> <b>abstract</b> <b>new</b> + <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_49_9">User_Defined_Field_Type</a> <b>with</b> <b>null</b> <b>record</b>; + <span class="comment"><em>-- This is the root of the mechanism we use to create field types in</em></span> + <span class="comment"><em>-- Ada95 that allow the prev/next mechanism. You should your own type</em></span> + <span class="comment"><em>-- derive from this one and implement the Field_Check, Character_Check</em></span> + <span class="comment"><em>-- Next and Previous functions for your own type.</em></span> - <b>type</b> <span class="symbol"><A NAME="ref_58_9">User_Defined_Field_Type_With_Choice_Access</A></span> <b>is</b> <b>access</b> <b>all</b> - <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_51_9">User_Defined_Field_Type_With_Choice</A>'Class; + <b>type</b> <span class="symbol"><a name="ref_58_9">User_Defined_Field_Type_With_Choice_Access</a></span> <b>is</b> <b>access</b> <b>all</b> + <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_51_9">User_Defined_Field_Type_With_Choice</a>'Class; - <b>function</b> <span class="symbol"><A NAME="ref_61_13">Next</A></span> - (<span class="symbol"><A NAME="ref_62_7" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_61_13">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_63_7" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_61_13">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_51_9">User_Defined_Field_Type_With_Choice</A>) <b>return</b> Boolean + <b>function</b> <span class="symbol"><a name="ref_61_13">Next</a></span> + (<span class="symbol"><a name="ref_62_7">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_63_7">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_51_9">User_Defined_Field_Type_With_Choice</a>) <b>return</b> Boolean <b>is</b> <b>abstract</b>; - <span class="comment"><EM>-- If True is returned, the function successfully generated a next</EM></span> - <span class="comment"><EM>-- value into the fields buffer.</EM></span> + <span class="comment"><em>-- If True is returned, the function successfully generated a next</em></span> + <span class="comment"><em>-- value into the fields buffer.</em></span> - <b>function</b> <span class="symbol"><A NAME="ref_68_13">Previous</A></span> - (<span class="symbol"><A NAME="ref_69_7" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_68_13">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_70_7" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_68_13">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_51_9">User_Defined_Field_Type_With_Choice</A>) <b>return</b> Boolean + <b>function</b> <span class="symbol"><a name="ref_68_13">Previous</a></span> + (<span class="symbol"><a name="ref_69_7">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_70_7">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_51_9">User_Defined_Field_Type_With_Choice</a>) <b>return</b> Boolean <b>is</b> <b>abstract</b>; - <span class="comment"><EM>-- If True is returned, the function successfully generated a previous</EM></span> - <span class="comment"><EM>-- value into the fields buffer.</EM></span> + <span class="comment"><em>-- If True is returned, the function successfully generated a previous</em></span> + <span class="comment"><em>-- value into the fields buffer.</em></span> - <span class="comment"><EM>-- +----------------------------------------------------------------------</EM></span> - <span class="comment"><EM>-- | Private Part.</EM></span> - <span class="comment"><EM>-- |</EM></span> + <span class="comment"><em>-- +----------------------------------------------------------------------</em></span> + <span class="comment"><em>-- | Private Part.</em></span> + <span class="comment"><em>-- |</em></span> <b>private</b> - <b>function</b> <span class="symbol"><A NAME="ref_79_13" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_77_13">C_Generic_Choice</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>; + <b>function</b> <span class="symbol"><a name="ref_79_13" href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_77_13">C_Generic_Choice</a></span> <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>; - <b>function</b> <span class="symbol"><A NAME="ref_81_13" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_51_13">Generic_Next</A></span> (<span class="symbol"><A NAME="ref_81_27" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_51_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_82_27" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_52_27">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>; - <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_81_13">Generic_Next</A>); - <span class="comment"><EM>-- This is the generic next Choice_Function for the low-level fieldtype</EM></span> - <span class="comment"><EM>-- representing all the User_Defined_Field_Type derivatives. It routes</EM></span> - <span class="comment"><EM>-- the call to the Next implementation for the type.</EM></span> + <b>function</b> <span class="symbol"><a name="ref_81_13" href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_51_13">Generic_Next</a></span> (<span class="symbol"><a name="ref_81_27" href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_51_27">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_82_27" href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_52_27">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; + <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_81_13">Generic_Next</a>); + <span class="comment"><em>-- This is the generic next Choice_Function for the low-level fieldtype</em></span> + <span class="comment"><em>-- representing all the User_Defined_Field_Type derivatives. It routes</em></span> + <span class="comment"><em>-- the call to the Next implementation for the type.</em></span> - <b>function</b> <span class="symbol"><A NAME="ref_88_13" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_63_13">Generic_Prev</A></span> (<span class="symbol"><A NAME="ref_88_27" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_63_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_89_27" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_64_27">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>; - <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_88_13">Generic_Prev</A>); - <span class="comment"><EM>-- This is the generic prev Choice_Function for the low-level fieldtype</EM></span> - <span class="comment"><EM>-- representing all the User_Defined_Field_Type derivatives. It routes</EM></span> - <span class="comment"><EM>-- the call to the Previous implementation for the type.</EM></span> + <b>function</b> <span class="symbol"><a name="ref_88_13" href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_63_13">Generic_Prev</a></span> (<span class="symbol"><a name="ref_88_27" href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_63_27">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_89_27" href="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_64_27">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; + <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_88_13">Generic_Prev</a>); + <span class="comment"><em>-- This is the generic prev Choice_Function for the low-level fieldtype</em></span> + <span class="comment"><em>-- representing all the User_Defined_Field_Type derivatives. It routes</em></span> + <span class="comment"><em>-- the call to the Previous implementation for the type.</em></span> -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_45_53">User</A>.<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_45_58">Choice</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_45_53">User</a>.<a href="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_45_58">Choice</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-user__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-user__adb.htm index 333957eb0aaf..066df2998f0e 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types-user__adb.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types-user__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-forms-field_types-user.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-forms-field_types-user.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,135 +11,135 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-user.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Forms.Field_Types.User --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.24 @</EM></span> -<span class="comment"><EM>-- @Date: 2020/02/02 23:34:34 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-user.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Forms.Field_Types.User --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.24 @</em></span> +<span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>with</b> System.Address_To_Access_Conversions; -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<span class="symbol"><A NAME="ref_46_58" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_45_53">User</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_46_58" href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_45_53">User</a></span> <b>is</b> - <b>procedure</b> <span class="symbol"><A NAME="ref_48_14" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_71_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_48_30" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_71_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_49_30" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_72_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_49_9">User_Defined_Field_Type</A>) + <b>procedure</b> <span class="symbol"><a name="ref_48_14" href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_71_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_48_30" href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_71_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_49_30" href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_72_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_49_9">User_Defined_Field_Type</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_51_16" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_60_16">Allocate_Arg</A></span> (<span class="symbol"><A NAME="ref_51_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_60_30">T</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_49_9">User_Defined_Field_Type</A>'Class) - <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A>; + <b>function</b> <span class="symbol"><a name="ref_51_16" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_60_16">Allocate_Arg</a></span> (<span class="symbol"><a name="ref_51_30" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_60_30">T</a></span> : <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_49_9">User_Defined_Field_Type</a>'Class) + <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a>; - <b>function</b> <span class="symbol"><A NAME="ref_54_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_54_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_54_16">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_71_30">Fld</A>; - <span class="symbol"><A NAME="ref_55_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_54_16">Cft</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A> := <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_80_13">C_Generic_Type</A>; - <span class="symbol"><A NAME="ref_56_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_54_16">Arg1</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A>) - <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_54_16">Set_Fld_Type</a></span> (<span class="symbol"><a name="ref_54_30">F</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_71_30">Fld</a>; + <span class="symbol"><a name="ref_55_30">Cft</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a> := <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_80_13">C_Generic_Type</a>; + <span class="symbol"><a name="ref_56_30">Arg1</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a>) + <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Fld_Type, "set_field_type_user"); - <b>function</b> <span class="symbol"><A NAME="ref_60_16" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_51_16">Allocate_Arg</A></span> (<span class="symbol"><A NAME="ref_60_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_51_30">T</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_49_9">User_Defined_Field_Type</A>'Class) - <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A> + <b>function</b> <span class="symbol"><a name="ref_60_16" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_51_16">Allocate_Arg</a></span> (<span class="symbol"><a name="ref_60_30" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_51_30">T</a></span> : <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_49_9">User_Defined_Field_Type</a>'Class) + <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a> <b>is</b> - <span class="symbol"><A NAME="ref_63_10">Ptr</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_64_9">Field_Type_Access</A> - := <b>new</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_49_9">User_Defined_Field_Type</A>'Class'(<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_51_30">T</A>); + <span class="symbol"><a name="ref_63_10">Ptr</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_64_9">Field_Type_Access</a> + := <b>new</b> <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_49_9">User_Defined_Field_Type</a>'Class'(<a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_51_30">T</a>); <b>begin</b> - <b>return</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_9">Argument</A>'(<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</A> => System.Null_Address, - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</A> => <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_63_10">Ptr</A>, - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A> => <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A>); - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_51_16">Allocate_Arg</A>; + <b>return</b> <b>new</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_212_9">Argument</a>'(<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</a> => System.Null_Address, + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</a> => <a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_63_10">Ptr</a>, + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a> => <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a>); + <b>end</b> <a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_51_16">Allocate_Arg</a>; <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_54_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_56_30">Arg1</A> => <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_51_16">Allocate_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_72_30">Typ</A>))); - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_71_14">Set_Field_Type</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_54_16">Set_Fld_Type</a> (<a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_56_30">Arg1</a> => <a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_51_16">Allocate_Arg</a> (<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_72_30">Typ</a>))); + <b>end</b> <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_71_14">Set_Field_Type</a>; <b>package</b> Argument_Conversions <b>is</b> - <b>new</b> System.Address_To_Access_Conversions (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_9">Argument</A>); + <b>new</b> System.Address_To_Access_Conversions (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_212_9">Argument</a>); - <b>function</b> <span class="symbol"><A NAME="ref_78_13" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_13">Generic_Field_Check</A></span> (<span class="symbol"><A NAME="ref_78_34" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_34">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_79_34" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_83_34">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> + <b>function</b> <span class="symbol"><a name="ref_78_13" href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_13">Generic_Field_Check</a></span> (<span class="symbol"><a name="ref_78_34" href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_34">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_79_34" href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_83_34">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> <b>is</b> - <span class="symbol"><A NAME="ref_81_7">Result</A></span> : Boolean; - <span class="symbol"><A NAME="ref_82_7">Udf</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_54_9">User_Defined_Field_Type_Access</A> := - <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_54_9">User_Defined_Field_Type_Access</A> - (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_83_34">Usr</A>)).<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</A>); + <span class="symbol"><a name="ref_81_7">Result</a></span> : Boolean; + <span class="symbol"><a name="ref_82_7">Udf</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_54_9">User_Defined_Field_Type_Access</a> := + <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_54_9">User_Defined_Field_Type_Access</a> + (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a> (Argument_Conversions.To_Pointer (<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_83_34">Usr</a>)).<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</a>); <b>begin</b> - <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_81_7">Result</A> := <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_57_13">Field_Check</A> (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_34">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_82_7">Udf</A>.<b>all</b>); - <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_81_7">Result</A>)); - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_13">Generic_Field_Check</A>; + <a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_81_7">Result</a> := <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_57_13">Field_Check</a> (<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_34">Fld</a>, <a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_82_7">Udf</a>.<b>all</b>); + <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_81_7">Result</a>)); + <b>end</b> <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_13">Generic_Field_Check</a>; - <b>function</b> <span class="symbol"><A NAME="ref_90_13" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_13">Generic_Char_Check</A></span> (<span class="symbol"><A NAME="ref_90_33" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_33">Ch</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_47_12">C_Int</A>; - <span class="symbol"><A NAME="ref_91_33" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_90_33">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> + <b>function</b> <span class="symbol"><a name="ref_90_13" href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_13">Generic_Char_Check</a></span> (<span class="symbol"><a name="ref_90_33" href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_33">Ch</a></span> : <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_47_12">C_Int</a>; + <span class="symbol"><a name="ref_91_33" href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_90_33">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> <b>is</b> - <span class="symbol"><A NAME="ref_93_7">Result</A></span> : Boolean; - <span class="symbol"><A NAME="ref_94_7">Udf</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_54_9">User_Defined_Field_Type_Access</A> := - <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_54_9">User_Defined_Field_Type_Access</A> - (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_90_33">Usr</A>)).<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</A>); + <span class="symbol"><a name="ref_93_7">Result</a></span> : Boolean; + <span class="symbol"><a name="ref_94_7">Udf</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_54_9">User_Defined_Field_Type_Access</a> := + <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_54_9">User_Defined_Field_Type_Access</a> + (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a> (Argument_Conversions.To_Pointer (<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_90_33">Usr</a>)).<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</a>); <b>begin</b> - <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_93_7">Result</A> := <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_64_13">Character_Check</A> (Character'Val (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_33">Ch</A>), <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_94_7">Udf</A>.<b>all</b>); - <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_93_7">Result</A>)); - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_13">Generic_Char_Check</A>; + <a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_93_7">Result</a> := <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_64_13">Character_Check</a> (Character'Val (<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_33">Ch</a>), <a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_94_7">Udf</a>.<b>all</b>); + <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_93_7">Result</a>)); + <b>end</b> <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_13">Generic_Char_Check</a>; - <span class="comment"><EM>-- -----------------------------------------------------------------------</EM></span> - <span class="comment"><EM>--</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_104_13" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_80_13">C_Generic_Type</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A> + <span class="comment"><em>-- -----------------------------------------------------------------------</em></span> + <span class="comment"><em>--</em></span> + <b>function</b> <span class="symbol"><a name="ref_104_13" href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_80_13">C_Generic_Type</a></span> <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a> <b>is</b> - <span class="symbol"><A NAME="ref_106_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; - <span class="symbol"><A NAME="ref_107_7">T</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>; + <span class="symbol"><a name="ref_106_7">Res</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; + <span class="symbol"><a name="ref_107_7">T</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_142_4">M_Generic_Type</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A> <b>then</b> - <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_107_7">T</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_223_13">New_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_13">Generic_Field_Check</A>'<b>Access</b>, - <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_13">Generic_Char_Check</A>'<b>Access</b>); - <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_107_7">T</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_142_4">M_Generic_Type</a> = <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a> <b>then</b> + <a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_107_7">T</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_223_13">New_Fieldtype</a> (<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_13">Generic_Field_Check</a>'<b>Access</b>, + <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_13">Generic_Char_Check</a>'<b>Access</b>); + <b>if</b> <a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_107_7">T</a> = <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>; <b>else</b> - <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_106_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_228_13">Set_Fieldtype_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_107_7">T</A>, - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_163_13">Make_Arg</A>'<b>Access</b>, - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</A>'<b>Access</b>, - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</A>'<b>Access</b>); - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_106_7">Res</A>); + <a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_106_7">Res</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_228_13">Set_Fieldtype_Arg</a> (<a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_107_7">T</a>, + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_163_13">Make_Arg</a>'<b>Access</b>, + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</a>'<b>Access</b>, + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</a>'<b>Access</b>); + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_106_7">Res</a>); <b>end</b> <b>if</b>; - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_142_4">M_Generic_Type</A> := <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_107_7">T</A>; + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_142_4">M_Generic_Type</a> := <a href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_107_7">T</a>; <b>end</b> <b>if</b>; - <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_142_4">M_Generic_Type</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A>); - <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_142_4">M_Generic_Type</A>; - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_80_13">C_Generic_Type</A>; + <b>pragma</b> Assert (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_142_4">M_Generic_Type</a> /= <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a>); + <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_142_4">M_Generic_Type</a>; + <b>end</b> <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_80_13">C_Generic_Type</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_45_53">User</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_45_53">User</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-user__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-user__ads.htm index 1b753bb51a7b..71902837dd31 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types-user__ads.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types-user__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-forms-field_types-user.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-forms-field_types-user.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,104 +11,104 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types-user.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Forms.Field_Types.User --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2009,2011 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.16 @</EM></span> -<span class="comment"><EM>-- @Date: 2020/02/02 23:34:34 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types-user.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Forms.Field_Types.User --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2009,2011 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.16 @</em></span> +<span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<span class="symbol"><A NAME="ref_45_53" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_46_58">User</A></span> <b>is</b> - <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_45_53">User</A>); - <b>subtype</b> <span class="symbol"><A NAME="ref_47_12">C_Int</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int; +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<span class="symbol"><a name="ref_45_53" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_46_58">User</a></span> <b>is</b> + <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_45_53">User</a>); + <b>subtype</b> <span class="symbol"><a name="ref_47_12">C_Int</a></span> <b>is</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int; - <b>type</b> <span class="symbol"><A NAME="ref_49_9">User_Defined_Field_Type</A></span> <b>is</b> <b>abstract</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A> <b>with</b> <b>null</b> <b>record</b>; - <span class="comment"><EM>-- This is the root of the mechanism we use to create field types in</EM></span> - <span class="comment"><EM>-- Ada95. You should your own type derive from this one and implement</EM></span> - <span class="comment"><EM>-- the Field_Check and Character_Check functions for your own type.</EM></span> + <b>type</b> <span class="symbol"><a name="ref_49_9">User_Defined_Field_Type</a></span> <b>is</b> <b>abstract</b> <b>new</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a> <b>with</b> <b>null</b> <b>record</b>; + <span class="comment"><em>-- This is the root of the mechanism we use to create field types in</em></span> + <span class="comment"><em>-- Ada95. You should your own type derive from this one and implement</em></span> + <span class="comment"><em>-- the Field_Check and Character_Check functions for your own type.</em></span> - <b>type</b> <span class="symbol"><A NAME="ref_54_9">User_Defined_Field_Type_Access</A></span> <b>is</b> <b>access</b> <b>all</b> - <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_49_9">User_Defined_Field_Type</A>'Class; + <b>type</b> <span class="symbol"><a name="ref_54_9">User_Defined_Field_Type_Access</a></span> <b>is</b> <b>access</b> <b>all</b> + <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_49_9">User_Defined_Field_Type</a>'Class; - <b>function</b> <span class="symbol"><A NAME="ref_57_13">Field_Check</A></span> - (<span class="symbol"><A NAME="ref_58_7" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_57_13">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_59_7" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_57_13">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_49_9">User_Defined_Field_Type</A>) <b>return</b> Boolean + <b>function</b> <span class="symbol"><a name="ref_57_13">Field_Check</a></span> + (<span class="symbol"><a name="ref_58_7">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_59_7">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_49_9">User_Defined_Field_Type</a>) <b>return</b> Boolean <b>is</b> <b>abstract</b>; - <span class="comment"><EM>-- If True is returned, the field is considered valid, otherwise it is</EM></span> - <span class="comment"><EM>-- invalid.</EM></span> + <span class="comment"><em>-- If True is returned, the field is considered valid, otherwise it is</em></span> + <span class="comment"><em>-- invalid.</em></span> - <b>function</b> <span class="symbol"><A NAME="ref_64_13">Character_Check</A></span> - (<span class="symbol"><A NAME="ref_65_7" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_64_13">Ch</A></span> : Character; - <span class="symbol"><A NAME="ref_66_7" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_64_13">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_49_9">User_Defined_Field_Type</A>) <b>return</b> Boolean + <b>function</b> <span class="symbol"><a name="ref_64_13">Character_Check</a></span> + (<span class="symbol"><a name="ref_65_7">Ch</a></span> : Character; + <span class="symbol"><a name="ref_66_7">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_49_9">User_Defined_Field_Type</a>) <b>return</b> Boolean <b>is</b> <b>abstract</b>; - <span class="comment"><EM>-- If True is returned, the character is considered as valid for the</EM></span> - <span class="comment"><EM>-- field, otherwise as invalid.</EM></span> + <span class="comment"><em>-- If True is returned, the character is considered as valid for the</em></span> + <span class="comment"><em>-- field, otherwise as invalid.</em></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_71_14" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_48_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_71_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_48_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_72_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_49_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_49_9">User_Defined_Field_Type</A>); - <span class="comment"><EM>-- This should work for all types derived from User_Defined_Field_Type.</EM></span> - <span class="comment"><EM>-- No need to reimplement it for your derived type.</EM></span> + <b>procedure</b> <span class="symbol"><a name="ref_71_14" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_48_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_71_30" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_48_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_72_30" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_49_30">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_49_9">User_Defined_Field_Type</a>); + <span class="comment"><em>-- This should work for all types derived from User_Defined_Field_Type.</em></span> + <span class="comment"><em>-- No need to reimplement it for your derived type.</em></span> - <span class="comment"><EM>-- +----------------------------------------------------------------------</EM></span> - <span class="comment"><EM>-- | Private Part.</EM></span> - <span class="comment"><EM>-- | Used by the Choice child package.</EM></span> + <span class="comment"><em>-- +----------------------------------------------------------------------</em></span> + <span class="comment"><em>-- | Private Part.</em></span> + <span class="comment"><em>-- | Used by the Choice child package.</em></span> <b>private</b> - <b>function</b> <span class="symbol"><A NAME="ref_80_13" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_104_13">C_Generic_Type</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>; + <b>function</b> <span class="symbol"><a name="ref_80_13" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_104_13">C_Generic_Type</a></span> <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>; - <b>function</b> <span class="symbol"><A NAME="ref_82_13" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_78_13">Generic_Field_Check</A></span> (<span class="symbol"><A NAME="ref_82_34" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_78_34">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_83_34" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_79_34">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>; - <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_13">Generic_Field_Check</A>); - <span class="comment"><EM>-- This is the generic Field_Check_Function for the low-level fieldtype</EM></span> - <span class="comment"><EM>-- representing all the User_Defined_Field_Type derivatives. It routes</EM></span> - <span class="comment"><EM>-- the call to the Field_Check implementation for the type.</EM></span> + <b>function</b> <span class="symbol"><a name="ref_82_13" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_78_13">Generic_Field_Check</a></span> (<span class="symbol"><a name="ref_82_34" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_78_34">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_83_34" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_79_34">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; + <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_13">Generic_Field_Check</a>); + <span class="comment"><em>-- This is the generic Field_Check_Function for the low-level fieldtype</em></span> + <span class="comment"><em>-- representing all the User_Defined_Field_Type derivatives. It routes</em></span> + <span class="comment"><em>-- the call to the Field_Check implementation for the type.</em></span> - <b>function</b> <span class="symbol"><A NAME="ref_89_13" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_90_13">Generic_Char_Check</A></span> (<span class="symbol"><A NAME="ref_89_33" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_90_33">Ch</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_47_12">C_Int</A>; - <span class="symbol"><A NAME="ref_90_33" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_91_33">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>; - <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_13">Generic_Char_Check</A>); - <span class="comment"><EM>-- This is the generic Char_Check_Function for the low-level fieldtype</EM></span> - <span class="comment"><EM>-- representing all the User_Defined_Field_Type derivatives. It routes</EM></span> - <span class="comment"><EM>-- the call to the Character_Check implementation for the type.</EM></span> + <b>function</b> <span class="symbol"><a name="ref_89_13" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_90_13">Generic_Char_Check</a></span> (<span class="symbol"><a name="ref_89_33" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_90_33">Ch</a></span> : <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_47_12">C_Int</a>; + <span class="symbol"><a name="ref_90_33" href="terminal_interface-curses-forms-field_types-user__adb.htm#ref_91_33">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; + <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_13">Generic_Char_Check</a>); + <span class="comment"><em>-- This is the generic Char_Check_Function for the low-level fieldtype</em></span> + <span class="comment"><em>-- representing all the User_Defined_Field_Type derivatives. It routes</em></span> + <span class="comment"><em>-- the call to the Character_Check implementation for the type.</em></span> -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_45_53">User</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>.<a href="terminal_interface-curses-forms-field_types-user__ads.htm#ref_45_53">User</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types__adb.htm index 35cc0dfc06ec..c028825d4cfb 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types__adb.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-forms-field_types.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-forms-field_types.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,278 +11,278 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Forms.Field_Types --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.29 @</EM></span> -<span class="comment"><EM>-- @Date: 2020/02/02 23:34:34 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Forms.Field_Types --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.29 @</em></span> +<span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>with</b> Ada.Unchecked_Deallocation; <b>with</b> System.Address_To_Access_Conversions; -<span class="comment"><EM>-- |</EM></span> -<span class="comment"><EM>-- |=====================================================================</EM></span> -<span class="comment"><EM>-- | man page form_fieldtype.3x</EM></span> -<span class="comment"><EM>-- |=====================================================================</EM></span> -<span class="comment"><EM>-- |</EM></span> -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<span class="symbol"><A NAME="ref_52_46" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A></span> <b>is</b> +<span class="comment"><em>-- |</em></span> +<span class="comment"><em>-- |=====================================================================</em></span> +<span class="comment"><em>-- | man page form_fieldtype.3x</em></span> +<span class="comment"><em>-- |=====================================================================</em></span> +<span class="comment"><em>-- |</em></span> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<span class="symbol"><a name="ref_52_46" href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a></span> <b>is</b> <b>use</b> <b>type</b> System.Address; <b>package</b> Argument_Conversions <b>is</b> - <b>new</b> System.Address_To_Access_Conversions (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_9">Argument</A>); + <b>new</b> System.Address_To_Access_Conversions (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_212_9">Argument</a>); - <b>function</b> <span class="symbol"><A NAME="ref_59_13">Get_Fieldtype</A></span> (<span class="symbol"><A NAME="ref_59_28" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_59_13">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>; + <b>function</b> <span class="symbol"><a name="ref_59_13">Get_Fieldtype</a></span> (<span class="symbol"><a name="ref_59_28">F</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>; <b>pragma</b> Import (C, Get_Fieldtype, "field_type"); - <b>function</b> <span class="symbol"><A NAME="ref_62_13">Get_Arg</A></span> (<span class="symbol"><A NAME="ref_62_22" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_62_13">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) <b>return</b> System.Address; + <b>function</b> <span class="symbol"><a name="ref_62_13">Get_Arg</a></span> (<span class="symbol"><a name="ref_62_22">F</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> System.Address; <b>pragma</b> Import (C, Get_Arg, "field_arg"); - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | man page form_field_validation.3x</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_71_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_80_13">Get_Type</A></span> (<span class="symbol"><A NAME="ref_71_23" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_80_23">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_64_9">Field_Type_Access</A> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | man page form_field_validation.3x</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>function</b> <span class="symbol"><a name="ref_71_13" href="terminal_interface-curses-forms-field_types__ads.htm#ref_80_13">Get_Type</a></span> (<span class="symbol"><a name="ref_71_23" href="terminal_interface-curses-forms-field_types__ads.htm#ref_80_23">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_64_9">Field_Type_Access</a> <b>is</b> - <span class="symbol"><A NAME="ref_73_7">Low_Level</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_59_13">Get_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_80_23">Fld</A>); - <span class="symbol"><A NAME="ref_74_7">Arg</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A>; + <span class="symbol"><a name="ref_73_7">Low_Level</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a> := <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_59_13">Get_Fieldtype</a> (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_80_23">Fld</a>); + <span class="symbol"><a name="ref_74_7">Arg</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a>; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_73_7">Low_Level</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A> <b>then</b> + <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_73_7">Low_Level</a> = <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a> <b>then</b> <b>return</b> <b>null</b>; <b>else</b> - <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_73_7">Low_Level</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_144_4">M_Builtin_Router</A> <b>or</b> <b>else</b> - <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_73_7">Low_Level</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_142_4">M_Generic_Type</A> <b>or</b> <b>else</b> - <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_73_7">Low_Level</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_145_4">M_Choice_Router</A> <b>or</b> <b>else</b> - <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_73_7">Low_Level</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_143_4">M_Generic_Choice</A> + <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_73_7">Low_Level</a> = <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_144_4">M_Builtin_Router</a> <b>or</b> <b>else</b> + <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_73_7">Low_Level</a> = <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_142_4">M_Generic_Type</a> <b>or</b> <b>else</b> + <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_73_7">Low_Level</a> = <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_145_4">M_Choice_Router</a> <b>or</b> <b>else</b> + <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_73_7">Low_Level</a> = <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_143_4">M_Generic_Choice</a> <b>then</b> - <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_74_7">Arg</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A> - (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_62_13">Get_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_80_23">Fld</A>))); - <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_74_7">Arg</A> = <b>null</b> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>; + <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_74_7">Arg</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a> + (Argument_Conversions.To_Pointer (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_62_13">Get_Arg</a> (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_80_23">Fld</a>))); + <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_74_7">Arg</a> = <b>null</b> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>; <b>else</b> - <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_74_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</A>; + <b>return</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_74_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</a>; <b>end</b> <b>if</b>; <b>else</b> - <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>; + <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>; <b>end</b> <b>if</b>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_80_13">Get_Type</A>; + <b>end</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_80_13">Get_Type</a>; - <b>function</b> <span class="symbol"><A NAME="ref_97_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</A></span> (<span class="symbol"><A NAME="ref_97_23" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_168_23">Usr</A></span> : System.Address) <b>return</b> System.Address + <b>function</b> <span class="symbol"><a name="ref_97_13" href="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</a></span> (<span class="symbol"><a name="ref_97_23" href="terminal_interface-curses-forms-field_types__ads.htm#ref_168_23">Usr</a></span> : System.Address) <b>return</b> System.Address <b>is</b> <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_168_23">Usr</A>; - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</A>; + <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_168_23">Usr</a>; + <b>end</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_103_14" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</A></span> (<span class="symbol"><A NAME="ref_103_24" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_173_24">Usr</A></span> : System.Address) + <b>procedure</b> <span class="symbol"><a name="ref_103_14" href="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</a></span> (<span class="symbol"><a name="ref_103_24" href="terminal_interface-curses-forms-field_types__ads.htm#ref_173_24">Usr</a></span> : System.Address) <b>is</b> <b>procedure</b> Free_Type <b>is</b> <b>new</b> Ada.Unchecked_Deallocation - (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A>'Class, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_64_9">Field_Type_Access</A>); + (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a>'Class, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_64_9">Field_Type_Access</a>); <b>procedure</b> Freeargs <b>is</b> <b>new</b> Ada.Unchecked_Deallocation - (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_9">Argument</A>, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A>); + (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_212_9">Argument</a>, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a>); - <span class="symbol"><A NAME="ref_110_7">To_Be_Free</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A> - := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_173_24">Usr</A>)); - <span class="symbol"><A NAME="ref_112_7">Low_Level</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>; + <span class="symbol"><a name="ref_110_7">To_Be_Free</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a> + := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a> (Argument_Conversions.To_Pointer (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_173_24">Usr</a>)); + <span class="symbol"><a name="ref_112_7">Low_Level</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_110_7">To_Be_Free</A> /= <b>null</b> <b>then</b> - <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_110_7">To_Be_Free</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</A> /= System.Null_Address <b>then</b> - <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_112_7">Low_Level</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_110_7">To_Be_Free</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A>; - <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_112_7">Low_Level</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_127_10">Freearg</A> /= <b>null</b> <b>then</b> - <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_112_7">Low_Level</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_127_10">Freearg</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_110_7">To_Be_Free</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</A>); + <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_110_7">To_Be_Free</a> /= <b>null</b> <b>then</b> + <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_110_7">To_Be_Free</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</a> /= System.Null_Address <b>then</b> + <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_112_7">Low_Level</a> := <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_110_7">To_Be_Free</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a>; + <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_112_7">Low_Level</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_127_10">Freearg</a> /= <b>null</b> <b>then</b> + <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_112_7">Low_Level</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_127_10">Freearg</a> (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_110_7">To_Be_Free</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</a>); <b>end</b> <b>if</b>; <b>end</b> <b>if</b>; - <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_110_7">To_Be_Free</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</A> /= <b>null</b> <b>then</b> - Free_Type (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_110_7">To_Be_Free</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</A>); + <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_110_7">To_Be_Free</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</a> /= <b>null</b> <b>then</b> + Free_Type (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_110_7">To_Be_Free</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</a>); <b>end</b> <b>if</b>; - Freeargs (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_110_7">To_Be_Free</A>); + Freeargs (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_110_7">To_Be_Free</a>); <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</A>; + <b>end</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_128_14" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</A></span> (<span class="symbol"><A NAME="ref_128_28" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_28">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_129_28" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_153_28">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A>'Class; - <span class="symbol"><A NAME="ref_130_28" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_154_28">Cft</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_149_13">C_Builtin_Router</A>) + <b>procedure</b> <span class="symbol"><a name="ref_128_14" href="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</a></span> (<span class="symbol"><a name="ref_128_28" href="terminal_interface-curses-forms-field_types__ads.htm#ref_152_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_129_28" href="terminal_interface-curses-forms-field_types__ads.htm#ref_153_28">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a>'Class; + <span class="symbol"><a name="ref_130_28" href="terminal_interface-curses-forms-field_types__ads.htm#ref_154_28">Cft</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_149_13">C_Builtin_Router</a>) <b>is</b> - <span class="symbol"><A NAME="ref_132_7">Usr_Arg</A></span> : <b>constant</b> System.Address := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_62_13">Get_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_28">Fld</A>); - <span class="symbol"><A NAME="ref_133_7">Low_Level</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_59_13">Get_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_28">Fld</A>); - <span class="symbol"><A NAME="ref_134_7">Arg</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A>; - <b>function</b> <span class="symbol"><A NAME="ref_135_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_135_30" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_135_16">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_28">Fld</A>; - <span class="symbol"><A NAME="ref_136_30" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_135_16">Cf</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_154_28">Cft</A>; - <span class="symbol"><A NAME="ref_137_30" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_135_16">Arg1</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <span class="symbol"><a name="ref_132_7">Usr_Arg</a></span> : <b>constant</b> System.Address := <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_62_13">Get_Arg</a> (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_152_28">Fld</a>); + <span class="symbol"><a name="ref_133_7">Low_Level</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a> := <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_59_13">Get_Fieldtype</a> (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_152_28">Fld</a>); + <span class="symbol"><a name="ref_134_7">Arg</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a>; + <b>function</b> <span class="symbol"><a name="ref_135_16">Set_Fld_Type</a></span> (<span class="symbol"><a name="ref_135_30">F</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_152_28">Fld</a>; + <span class="symbol"><a name="ref_136_30">Cf</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_154_28">Cft</a>; + <span class="symbol"><a name="ref_137_30">Arg1</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Fld_Type, "set_field_type_user"); <b>begin</b> - <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_133_7">Low_Level</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A>); - <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_154_28">Cft</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_149_13">C_Builtin_Router</A> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_154_28">Cft</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_150_13">C_Choice_Router</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>; + <b>pragma</b> Assert (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_133_7">Low_Level</a> /= <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a>); + <b>if</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_154_28">Cft</a> /= <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_149_13">C_Builtin_Router</a> <b>and</b> <b>then</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_154_28">Cft</a> /= <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_150_13">C_Choice_Router</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>; <b>else</b> - <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_134_7">Arg</A> := <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_9">Argument</A>'(<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</A> => System.Null_Address, - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</A> => <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A>'Class'(<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_153_28">Typ</A>), - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A> => <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_59_13">Get_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_28">Fld</A>)); - <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_132_7">Usr_Arg</A> /= System.Null_Address <b>then</b> - <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_133_7">Low_Level</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_126_10">Copyarg</A> /= <b>null</b> <b>then</b> - <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_134_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_133_7">Low_Level</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_126_10">Copyarg</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_132_7">Usr_Arg</A>); + <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_134_7">Arg</a> := <b>new</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_212_9">Argument</a>'(<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</a> => System.Null_Address, + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</a> => <b>new</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a>'Class'(<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_153_28">Typ</a>), + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a> => <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_59_13">Get_Fieldtype</a> (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_152_28">Fld</a>)); + <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_132_7">Usr_Arg</a> /= System.Null_Address <b>then</b> + <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_133_7">Low_Level</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_126_10">Copyarg</a> /= <b>null</b> <b>then</b> + <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_134_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</a> := <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_133_7">Low_Level</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_126_10">Copyarg</a> (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_132_7">Usr_Arg</a>); <b>else</b> - <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_134_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_132_7">Usr_Arg</A>; + <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_134_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</a> := <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_132_7">Usr_Arg</a>; <b>end</b> <b>if</b>; <b>end</b> <b>if</b>; - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_135_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_137_30">Arg1</A> => <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_134_7">Arg</A>)); + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_135_16">Set_Fld_Type</a> (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_137_30">Arg1</a> => <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_134_7">Arg</a>)); <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</A>; + <b>end</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_152_14">Wrap_Builtin</a>; - <b>function</b> <span class="symbol"><A NAME="ref_160_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_178_13">Field_Check_Router</A></span> (<span class="symbol"><A NAME="ref_160_33" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_178_33">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_161_33" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_179_33">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> + <b>function</b> <span class="symbol"><a name="ref_160_13" href="terminal_interface-curses-forms-field_types__ads.htm#ref_178_13">Field_Check_Router</a></span> (<span class="symbol"><a name="ref_160_33" href="terminal_interface-curses-forms-field_types__ads.htm#ref_178_33">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_161_33" href="terminal_interface-curses-forms-field_types__ads.htm#ref_179_33">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> <b>is</b> - <span class="symbol"><A NAME="ref_163_7">Arg</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A> - := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_179_33">Usr</A>)); + <span class="symbol"><a name="ref_163_7">Arg</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a> + := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a> (Argument_Conversions.To_Pointer (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_179_33">Usr</a>)); <b>begin</b> - <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_163_7">Arg</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_163_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A> - <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_163_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</A> /= <b>null</b>); - <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_163_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_128_10">Fcheck</A> /= <b>null</b> <b>then</b> - <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_163_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_128_10">Fcheck</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_178_33">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_163_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</A>); + <b>pragma</b> Assert (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_163_7">Arg</a> /= <b>null</b> <b>and</b> <b>then</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_163_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a> /= <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a> + <b>and</b> <b>then</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_163_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</a> /= <b>null</b>); + <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_163_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_128_10">Fcheck</a> /= <b>null</b> <b>then</b> + <b>return</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_163_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_128_10">Fcheck</a> (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_178_33">Fld</a>, <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_163_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</a>); <b>else</b> <b>return</b> 1; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_178_13">Field_Check_Router</A>; + <b>end</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_178_13">Field_Check_Router</a>; - <b>function</b> <span class="symbol"><A NAME="ref_175_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_186_13">Char_Check_Router</A></span> (<span class="symbol"><A NAME="ref_175_32" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_186_32">Ch</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A>; - <span class="symbol"><A NAME="ref_176_32" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_187_32">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> + <b>function</b> <span class="symbol"><a name="ref_175_13" href="terminal_interface-curses-forms-field_types__ads.htm#ref_186_13">Char_Check_Router</a></span> (<span class="symbol"><a name="ref_175_32" href="terminal_interface-curses-forms-field_types__ads.htm#ref_186_32">Ch</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a>; + <span class="symbol"><a name="ref_176_32" href="terminal_interface-curses-forms-field_types__ads.htm#ref_187_32">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> <b>is</b> - <span class="symbol"><A NAME="ref_178_7">Arg</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A> - := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_187_32">Usr</A>)); + <span class="symbol"><a name="ref_178_7">Arg</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a> + := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a> (Argument_Conversions.To_Pointer (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_187_32">Usr</a>)); <b>begin</b> - <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_178_7">Arg</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_178_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A> - <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_178_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</A> /= <b>null</b>); - <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_178_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_129_10">Ccheck</A> /= <b>null</b> <b>then</b> - <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_178_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_129_10">Ccheck</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_186_32">Ch</A>, <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_178_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</A>); + <b>pragma</b> Assert (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_178_7">Arg</a> /= <b>null</b> <b>and</b> <b>then</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_178_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a> /= <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a> + <b>and</b> <b>then</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_178_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</a> /= <b>null</b>); + <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_178_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_129_10">Ccheck</a> /= <b>null</b> <b>then</b> + <b>return</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_178_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_129_10">Ccheck</a> (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_186_32">Ch</a>, <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_178_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</a>); <b>else</b> <b>return</b> 1; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_186_13">Char_Check_Router</A>; + <b>end</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_186_13">Char_Check_Router</a>; - <b>function</b> <span class="symbol"><A NAME="ref_190_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_194_13">Next_Router</A></span> (<span class="symbol"><A NAME="ref_190_26" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_194_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_191_26" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_195_26">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> + <b>function</b> <span class="symbol"><a name="ref_190_13" href="terminal_interface-curses-forms-field_types__ads.htm#ref_194_13">Next_Router</a></span> (<span class="symbol"><a name="ref_190_26" href="terminal_interface-curses-forms-field_types__ads.htm#ref_194_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_191_26" href="terminal_interface-curses-forms-field_types__ads.htm#ref_195_26">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> <b>is</b> - <span class="symbol"><A NAME="ref_193_7">Arg</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A> - := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_195_26">Usr</A>)); + <span class="symbol"><a name="ref_193_7">Arg</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a> + := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a> (Argument_Conversions.To_Pointer (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_195_26">Usr</a>)); <b>begin</b> - <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_193_7">Arg</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_193_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A> - <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_193_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</A> /= <b>null</b>); - <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_193_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_130_10">Next</A> /= <b>null</b> <b>then</b> - <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_193_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_130_10">Next</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_194_26">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_193_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</A>); + <b>pragma</b> Assert (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_193_7">Arg</a> /= <b>null</b> <b>and</b> <b>then</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_193_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a> /= <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a> + <b>and</b> <b>then</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_193_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</a> /= <b>null</b>); + <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_193_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_130_10">Next</a> /= <b>null</b> <b>then</b> + <b>return</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_193_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_130_10">Next</a> (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_194_26">Fld</a>, <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_193_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</a>); <b>else</b> <b>return</b> 1; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_194_13">Next_Router</A>; + <b>end</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_194_13">Next_Router</a>; - <b>function</b> <span class="symbol"><A NAME="ref_205_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_202_13">Prev_Router</A></span> (<span class="symbol"><A NAME="ref_205_26" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_202_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_206_26" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_203_26">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> + <b>function</b> <span class="symbol"><a name="ref_205_13" href="terminal_interface-curses-forms-field_types__ads.htm#ref_202_13">Prev_Router</a></span> (<span class="symbol"><a name="ref_205_26" href="terminal_interface-curses-forms-field_types__ads.htm#ref_202_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_206_26" href="terminal_interface-curses-forms-field_types__ads.htm#ref_203_26">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> <b>is</b> - <span class="symbol"><A NAME="ref_208_7">Arg</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A> := - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_203_26">Usr</A>)); + <span class="symbol"><a name="ref_208_7">Arg</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a> := + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_217_9">Argument_Access</a> (Argument_Conversions.To_Pointer (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_203_26">Usr</a>)); <b>begin</b> - <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_208_7">Arg</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_208_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A> - <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_208_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</A> /= <b>null</b>); - <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_208_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_130_16">Prev</A> /= <b>null</b> <b>then</b> - <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_208_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_130_16">Prev</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_202_26">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_208_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</A>); + <b>pragma</b> Assert (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_208_7">Arg</a> /= <b>null</b> <b>and</b> <b>then</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_208_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a> /= <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a> + <b>and</b> <b>then</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_208_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Typ</a> /= <b>null</b>); + <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_208_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_130_16">Prev</a> /= <b>null</b> <b>then</b> + <b>return</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_208_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_215_7">Cft</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_130_16">Prev</a> (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_202_26">Fld</a>, <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_208_7">Arg</a>.<b>all</b>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Usr</a>); <b>else</b> <b>return</b> 1; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_202_13">Prev_Router</A>; + <b>end</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_202_13">Prev_Router</a>; - <span class="comment"><EM>-- -----------------------------------------------------------------------</EM></span> - <span class="comment"><EM>--</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_222_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_149_13">C_Builtin_Router</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A> + <span class="comment"><em>-- -----------------------------------------------------------------------</em></span> + <span class="comment"><em>--</em></span> + <b>function</b> <span class="symbol"><a name="ref_222_13" href="terminal_interface-curses-forms-field_types__ads.htm#ref_149_13">C_Builtin_Router</a></span> <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a> <b>is</b> - <span class="symbol"><A NAME="ref_224_7">T</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>; + <span class="symbol"><a name="ref_224_7">T</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_144_4">M_Builtin_Router</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A> <b>then</b> - <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_224_7">T</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_223_13">New_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_178_13">Field_Check_Router</A>'<b>Access</b>, - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_186_13">Char_Check_Router</A>'<b>Access</b>); - <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_224_7">T</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_144_4">M_Builtin_Router</a> = <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a> <b>then</b> + <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_224_7">T</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_223_13">New_Fieldtype</a> (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_178_13">Field_Check_Router</a>'<b>Access</b>, + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_186_13">Char_Check_Router</a>'<b>Access</b>); + <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_224_7">T</a> = <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>; <b>else</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_228_13">Set_Fieldtype_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_224_7">T</A>, - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_163_13">Make_Arg</A>'<b>Access</b>, - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</A>'<b>Access</b>, - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</A>'<b>Access</b>)); + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_228_13">Set_Fieldtype_Arg</a> (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_224_7">T</a>, + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_163_13">Make_Arg</a>'<b>Access</b>, + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</a>'<b>Access</b>, + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</a>'<b>Access</b>)); <b>end</b> <b>if</b>; - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_144_4">M_Builtin_Router</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_224_7">T</A>; + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_144_4">M_Builtin_Router</a> := <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_224_7">T</a>; <b>end</b> <b>if</b>; - <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_144_4">M_Builtin_Router</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A>); - <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_144_4">M_Builtin_Router</A>; - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_149_13">C_Builtin_Router</A>; + <b>pragma</b> Assert (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_144_4">M_Builtin_Router</a> /= <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a>); + <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_144_4">M_Builtin_Router</a>; + <b>end</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_149_13">C_Builtin_Router</a>; - <span class="comment"><EM>-- -----------------------------------------------------------------------</EM></span> - <span class="comment"><EM>--</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_245_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_150_13">C_Choice_Router</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A> + <span class="comment"><em>-- -----------------------------------------------------------------------</em></span> + <span class="comment"><em>--</em></span> + <b>function</b> <span class="symbol"><a name="ref_245_13" href="terminal_interface-curses-forms-field_types__ads.htm#ref_150_13">C_Choice_Router</a></span> <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a> <b>is</b> - <span class="symbol"><A NAME="ref_247_7">T</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>; + <span class="symbol"><a name="ref_247_7">T</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_145_4">M_Choice_Router</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A> <b>then</b> - <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_247_7">T</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_223_13">New_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_178_13">Field_Check_Router</A>'<b>Access</b>, - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_186_13">Char_Check_Router</A>'<b>Access</b>); - <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_247_7">T</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_145_4">M_Choice_Router</a> = <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a> <b>then</b> + <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_247_7">T</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_223_13">New_Fieldtype</a> (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_178_13">Field_Check_Router</a>'<b>Access</b>, + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_186_13">Char_Check_Router</a>'<b>Access</b>); + <b>if</b> <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_247_7">T</a> = <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>; <b>else</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_228_13">Set_Fieldtype_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_247_7">T</A>, - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_163_13">Make_Arg</A>'<b>Access</b>, - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</A>'<b>Access</b>, - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</A>'<b>Access</b>)); + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_228_13">Set_Fieldtype_Arg</a> (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_247_7">T</a>, + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_163_13">Make_Arg</a>'<b>Access</b>, + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</a>'<b>Access</b>, + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</a>'<b>Access</b>)); - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_235_13">Set_Fieldtype_Choice</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_247_7">T</A>, - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_194_13">Next_Router</A>'<b>Access</b>, - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_202_13">Prev_Router</A>'<b>Access</b>)); + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_235_13">Set_Fieldtype_Choice</a> (<a href="terminal_interface-curses-forms-field_types__adb.htm#ref_247_7">T</a>, + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_194_13">Next_Router</a>'<b>Access</b>, + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_202_13">Prev_Router</a>'<b>Access</b>)); <b>end</b> <b>if</b>; - <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_145_4">M_Choice_Router</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_247_7">T</A>; + <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_145_4">M_Choice_Router</a> := <a href="terminal_interface-curses-forms-field_types__adb.htm#ref_247_7">T</a>; <b>end</b> <b>if</b>; - <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_145_4">M_Choice_Router</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</A>); - <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_145_4">M_Choice_Router</A>; - <b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_150_13">C_Choice_Router</A>; + <b>pragma</b> Assert (<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_145_4">M_Choice_Router</a> /= <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_135_4">Null_Field_Type</a>); + <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_145_4">M_Choice_Router</a>; + <b>end</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_150_13">C_Choice_Router</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types__ads.htm index 470231ee9dc4..1970dd4e5f4a 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_types__ads.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_types__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-forms-field_types.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-forms-field_types.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,248 +11,248 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_types.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Forms.Field_Types --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2018,2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1998-2011,2014 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.21 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_types.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Forms.Field_Types --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2018,2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1998-2011,2014 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.21 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<span class="symbol"><A NAME="ref_45_41" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_52_46">Field_Types</A></span> <b>is</b> - <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>); - <b>subtype</b> <span class="symbol"><A NAME="ref_47_12">C_Int</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int; +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<span class="symbol"><a name="ref_45_41" href="terminal_interface-curses-forms-field_types__adb.htm#ref_52_46">Field_Types</a></span> <b>is</b> + <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>); + <b>subtype</b> <span class="symbol"><a name="ref_47_12">C_Int</a></span> <b>is</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int; - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/form_fieldtype.3x.html">form_fieldtype.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/form_fieldtype.3x.html">form_fieldtype.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> - <b>type</b> <span class="symbol"><A NAME="ref_53_9">Field_Type</A></span> <b>is</b> <b>abstract</b> <b>tagged</b> <b>null</b> <b>record</b>; - <span class="comment"><EM>-- Abstract base type for all field types. A concrete field type</EM></span> - <span class="comment"><EM>-- is an extension that adds some data elements describing formats or</EM></span> - <span class="comment"><EM>-- boundary values for the type and validation routines.</EM></span> - <span class="comment"><EM>-- For the builtin low-level fieldtypes, the validation routines are</EM></span> - <span class="comment"><EM>-- already defined by the low-level C library.</EM></span> - <span class="comment"><EM>-- The builtin types like Alpha or AlphaNumeric etc. are defined in</EM></span> - <span class="comment"><EM>-- child packages of this package. You may use one of them as example</EM></span> - <span class="comment"><EM>-- how to create you own child packages for low-level field types that</EM></span> - <span class="comment"><EM>-- you may have already written in C.</EM></span> + <b>type</b> <span class="symbol"><a name="ref_53_9">Field_Type</a></span> <b>is</b> <b>abstract</b> <b>tagged</b> <b>null</b> <b>record</b>; + <span class="comment"><em>-- Abstract base type for all field types. A concrete field type</em></span> + <span class="comment"><em>-- is an extension that adds some data elements describing formats or</em></span> + <span class="comment"><em>-- boundary values for the type and validation routines.</em></span> + <span class="comment"><em>-- For the builtin low-level fieldtypes, the validation routines are</em></span> + <span class="comment"><em>-- already defined by the low-level C library.</em></span> + <span class="comment"><em>-- The builtin types like Alpha or AlphaNumeric etc. are defined in</em></span> + <span class="comment"><em>-- child packages of this package. You may use one of them as example</em></span> + <span class="comment"><em>-- how to create you own child packages for low-level field types that</em></span> + <span class="comment"><em>-- you may have already written in C.</em></span> - <b>type</b> <span class="symbol"><A NAME="ref_64_9">Field_Type_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A>'Class; + <b>type</b> <span class="symbol"><a name="ref_64_9">Field_Type_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a>'Class; - <span class="comment"><EM>-- <A NAME="AFU_1">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_67_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_67_30" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_67_14">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_68_30" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_67_14">Fld_Type</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A>) <b>is</b> <b>abstract</b>; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_fieldtype.3x.html">set_field_type()</A></EM></span> - <span class="comment"><EM>-- But: we hide the vararg mechanism of the C interface. You always</EM></span> - <span class="comment"><EM>-- have to pass a single Field_Type parameter.</EM></span> + <span class="comment"><em>-- <A NAME="AFU_1">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_67_14">Set_Field_Type</a></span> (<span class="symbol"><a name="ref_67_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_68_30">Fld_Type</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a>) <b>is</b> <b>abstract</b>; + <span class="comment"><em>-- AKA: <A HREF="../man/form_fieldtype.3x.html">set_field_type()</A></em></span> + <span class="comment"><em>-- But: we hide the vararg mechanism of the C interface. You always</em></span> + <span class="comment"><em>-- have to pass a single Field_Type parameter.</em></span> - <span class="comment"><EM>-- ---------------------------------------------------------------------</EM></span> + <span class="comment"><em>-- ---------------------------------------------------------------------</em></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/form_field_validation.3x.html">form_field_validation.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/form_field_validation.3x.html">form_field_validation.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> - <span class="comment"><EM>-- <A NAME="AFU_2">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_80_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_71_13">Get_Type</A></span> (<span class="symbol"><A NAME="ref_80_23" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_71_23">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_64_9">Field_Type_Access</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_validation.3x.html">field_type()</A></EM></span> - <span class="comment"><EM>-- AKA: field_arg()</EM></span> - <span class="comment"><EM>-- In Ada95 we can combine these. If you try to retrieve the field type</EM></span> - <span class="comment"><EM>-- that is not defined as extension of the abstract tagged type above,</EM></span> - <span class="comment"><EM>-- you will raise a Form_Exception.</EM></span> - <span class="comment"><EM>-- This is not inlined</EM></span> + <span class="comment"><em>-- <A NAME="AFU_2">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_80_13" href="terminal_interface-curses-forms-field_types__adb.htm#ref_71_13">Get_Type</a></span> (<span class="symbol"><a name="ref_80_23" href="terminal_interface-curses-forms-field_types__adb.htm#ref_71_23">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_64_9">Field_Type_Access</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_validation.3x.html">field_type()</A></em></span> + <span class="comment"><em>-- AKA: field_arg()</em></span> + <span class="comment"><em>-- In Ada95 we can combine these. If you try to retrieve the field type</em></span> + <span class="comment"><em>-- that is not defined as extension of the abstract tagged type above,</em></span> + <span class="comment"><em>-- you will raise a Form_Exception.</em></span> + <span class="comment"><em>-- This is not inlined</em></span> - <span class="comment"><EM>-- +----------------------------------------------------------------------</EM></span> - <span class="comment"><EM>-- | Private Part.</EM></span> - <span class="comment"><EM>-- | Most of this is used by the implementations of the child packages.</EM></span> - <span class="comment"><EM>-- |</EM></span> + <span class="comment"><em>-- +----------------------------------------------------------------------</em></span> + <span class="comment"><em>-- | Private Part.</em></span> + <span class="comment"><em>-- | Most of this is used by the implementations of the child packages.</em></span> + <span class="comment"><em>-- |</em></span> <b>private</b> - <b>type</b> <span class="symbol"><A NAME="ref_93_9" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Makearg_Function</A></span> <b>is</b> <b>access</b> - <b>function</b> (<span class="symbol"><A NAME="ref_94_16" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_93_9">Args</A></span> : System.Address) <b>return</b> System.Address; - <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_93_9">Makearg_Function</A>); + <b>type</b> <span class="symbol"><a name="ref_93_9" href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Makearg_Function</a></span> <b>is</b> <b>access</b> + <b>function</b> (<span class="symbol"><a name="ref_94_16">Args</a></span> : System.Address) <b>return</b> System.Address; + <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_93_9">Makearg_Function</a>); - <b>type</b> <span class="symbol"><A NAME="ref_97_9">Copyarg_Function</A></span> <b>is</b> <b>access</b> - <b>function</b> (<span class="symbol"><A NAME="ref_98_16" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_97_9">Usr</A></span> : System.Address) <b>return</b> System.Address; - <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_97_9">Copyarg_Function</A>); + <b>type</b> <span class="symbol"><a name="ref_97_9">Copyarg_Function</a></span> <b>is</b> <b>access</b> + <b>function</b> (<span class="symbol"><a name="ref_98_16">Usr</a></span> : System.Address) <b>return</b> System.Address; + <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_97_9">Copyarg_Function</a>); - <b>type</b> <span class="symbol"><A NAME="ref_101_9">Freearg_Function</A></span> <b>is</b> <b>access</b> - <b>procedure</b> (<span class="symbol"><A NAME="ref_102_17" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_101_9">Usr</A></span> : System.Address); - <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_101_9">Freearg_Function</A>); + <b>type</b> <span class="symbol"><a name="ref_101_9">Freearg_Function</a></span> <b>is</b> <b>access</b> + <b>procedure</b> (<span class="symbol"><a name="ref_102_17">Usr</a></span> : System.Address); + <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_101_9">Freearg_Function</a>); - <b>type</b> <span class="symbol"><A NAME="ref_105_9">Field_Check_Function</A></span> <b>is</b> <b>access</b> - <b>function</b> (<span class="symbol"><A NAME="ref_106_16" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_105_9">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; <span class="symbol"><A NAME="ref_106_29" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_105_9">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>; - <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_105_9">Field_Check_Function</A>); + <b>type</b> <span class="symbol"><a name="ref_105_9">Field_Check_Function</a></span> <b>is</b> <b>access</b> + <b>function</b> (<span class="symbol"><a name="ref_106_16">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; <span class="symbol"><a name="ref_106_29">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; + <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_105_9">Field_Check_Function</a>); - <b>type</b> <span class="symbol"><A NAME="ref_109_9">Char_Check_Function</A></span> <b>is</b> <b>access</b> - <b>function</b> (<span class="symbol"><A NAME="ref_110_16" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_109_9">Ch</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A>; <span class="symbol"><A NAME="ref_110_28" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_109_9">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>; - <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_109_9">Char_Check_Function</A>); + <b>type</b> <span class="symbol"><a name="ref_109_9">Char_Check_Function</a></span> <b>is</b> <b>access</b> + <b>function</b> (<span class="symbol"><a name="ref_110_16">Ch</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a>; <span class="symbol"><a name="ref_110_28">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; + <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_109_9">Char_Check_Function</a>); - <b>type</b> <span class="symbol"><A NAME="ref_113_9">Choice_Function</A></span> <b>is</b> <b>access</b> - <b>function</b> (<span class="symbol"><A NAME="ref_114_16" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_113_9">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; <span class="symbol"><A NAME="ref_114_29" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_113_9">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>; - <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_113_9">Choice_Function</A>); + <b>type</b> <span class="symbol"><a name="ref_113_9">Choice_Function</a></span> <b>is</b> <b>access</b> + <b>function</b> (<span class="symbol"><a name="ref_114_16">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; <span class="symbol"><a name="ref_114_29">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; + <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_113_9">Choice_Function</a>); - <span class="comment"><EM>-- +----------------------------------------------------------------------</EM></span> - <span class="comment"><EM>-- | This must be in sync with the FIELDTYPE structure in form.h</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>type</b> <span class="symbol"><A NAME="ref_120_9">Low_Level_Field_Type</A></span> <b>is</b> + <span class="comment"><em>-- +----------------------------------------------------------------------</em></span> + <span class="comment"><em>-- | This must be in sync with the FIELDTYPE structure in form.h</em></span> + <span class="comment"><em>-- |</em></span> + <b>type</b> <span class="symbol"><a name="ref_120_9">Low_Level_Field_Type</a></span> <b>is</b> <b>record</b> - <span class="symbol"><A NAME="ref_122_10">Status</A></span> : <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.unsigned_short; - <span class="symbol"><A NAME="ref_123_10">Ref_Count</A></span> : <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.long; - <span class="symbol"><A NAME="ref_124_10">Left</A></span>, <span class="symbol"><A NAME="ref_124_16">Right</A></span> : System.Address; - <span class="symbol"><A NAME="ref_125_10">Makearg</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_93_9">Makearg_Function</A>; - <span class="symbol"><A NAME="ref_126_10">Copyarg</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_97_9">Copyarg_Function</A>; - <span class="symbol"><A NAME="ref_127_10">Freearg</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_101_9">Freearg_Function</A>; - <span class="symbol"><A NAME="ref_128_10">Fcheck</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_105_9">Field_Check_Function</A>; - <span class="symbol"><A NAME="ref_129_10">Ccheck</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_109_9">Char_Check_Function</A>; - <span class="symbol"><A NAME="ref_130_10">Next</A></span>, <span class="symbol"><A NAME="ref_130_16">Prev</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_113_9">Choice_Function</A>; + <span class="symbol"><a name="ref_122_10">Status</a></span> : <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.unsigned_short; + <span class="symbol"><a name="ref_123_10">Ref_Count</a></span> : <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.long; + <span class="symbol"><a name="ref_124_10">Left</a></span>, <span class="symbol"><a name="ref_124_16">Right</a></span> : System.Address; + <span class="symbol"><a name="ref_125_10">Makearg</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_93_9">Makearg_Function</a>; + <span class="symbol"><a name="ref_126_10">Copyarg</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_97_9">Copyarg_Function</a>; + <span class="symbol"><a name="ref_127_10">Freearg</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_101_9">Freearg_Function</a>; + <span class="symbol"><a name="ref_128_10">Fcheck</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_105_9">Field_Check_Function</a>; + <span class="symbol"><a name="ref_129_10">Ccheck</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_109_9">Char_Check_Function</a>; + <span class="symbol"><a name="ref_130_10">Next</a></span>, <span class="symbol"><a name="ref_130_16">Prev</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_113_9">Choice_Function</a>; <b>end</b> <b>record</b>; - <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_120_9">Low_Level_Field_Type</A>); - <b>type</b> <span class="symbol"><A NAME="ref_133_9">C_Field_Type</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_120_9">Low_Level_Field_Type</A>; + <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_120_9">Low_Level_Field_Type</a>); + <b>type</b> <span class="symbol"><a name="ref_133_9">C_Field_Type</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_120_9">Low_Level_Field_Type</a>; - <span class="symbol"><A NAME="ref_135_4">Null_Field_Type</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A> := <b>null</b>; + <span class="symbol"><a name="ref_135_4">Null_Field_Type</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a> := <b>null</b>; - <span class="comment"><EM>-- +----------------------------------------------------------------------</EM></span> - <span class="comment"><EM>-- | This four low-level fieldtypes are the ones associated with</EM></span> - <span class="comment"><EM>-- | fieldtypes handled by this binding. Any other low-level fieldtype</EM></span> - <span class="comment"><EM>-- | will result in a Form_Exception is function Get_Type.</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="symbol"><A NAME="ref_142_4">M_Generic_Type</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A> := <b>null</b>; - <span class="symbol"><A NAME="ref_143_4">M_Generic_Choice</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A> := <b>null</b>; - <span class="symbol"><A NAME="ref_144_4">M_Builtin_Router</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A> := <b>null</b>; - <span class="symbol"><A NAME="ref_145_4">M_Choice_Router</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A> := <b>null</b>; + <span class="comment"><em>-- +----------------------------------------------------------------------</em></span> + <span class="comment"><em>-- | This four low-level fieldtypes are the ones associated with</em></span> + <span class="comment"><em>-- | fieldtypes handled by this binding. Any other low-level fieldtype</em></span> + <span class="comment"><em>-- | will result in a Form_Exception is function Get_Type.</em></span> + <span class="comment"><em>-- |</em></span> + <span class="symbol"><a name="ref_142_4">M_Generic_Type</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a> := <b>null</b>; + <span class="symbol"><a name="ref_143_4">M_Generic_Choice</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a> := <b>null</b>; + <span class="symbol"><a name="ref_144_4">M_Builtin_Router</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a> := <b>null</b>; + <span class="symbol"><a name="ref_145_4">M_Choice_Router</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a> := <b>null</b>; - <span class="comment"><EM>-- Two wrapper functions to access those low-level fieldtypes defined</EM></span> - <span class="comment"><EM>-- in this package.</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_149_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_222_13">C_Builtin_Router</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>; - <b>function</b> <span class="symbol"><A NAME="ref_150_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_245_13">C_Choice_Router</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>; + <span class="comment"><em>-- Two wrapper functions to access those low-level fieldtypes defined</em></span> + <span class="comment"><em>-- in this package.</em></span> + <b>function</b> <span class="symbol"><a name="ref_149_13" href="terminal_interface-curses-forms-field_types__adb.htm#ref_222_13">C_Builtin_Router</a></span> <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>; + <b>function</b> <span class="symbol"><a name="ref_150_13" href="terminal_interface-curses-forms-field_types__adb.htm#ref_245_13">C_Choice_Router</a></span> <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_152_14" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_128_14">Wrap_Builtin</A></span> (<span class="symbol"><A NAME="ref_152_28" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_128_28">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_153_28" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_129_28">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</A>'Class; - <span class="symbol"><A NAME="ref_154_28" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_130_28">Cft</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_149_13">C_Builtin_Router</A>); - <span class="comment"><EM>-- This procedure has to be called by the Set_Field_Type implementation</EM></span> - <span class="comment"><EM>-- for builtin low-level fieldtypes to replace it by an Ada95</EM></span> - <span class="comment"><EM>-- conformant Field_Type object.</EM></span> - <span class="comment"><EM>-- The parameter Cft must be C_Builtin_Router for regular low-level</EM></span> - <span class="comment"><EM>-- fieldtypes (like TYP_ALPHA or TYP_ALNUM) and C_Choice_Router for</EM></span> - <span class="comment"><EM>-- low-level fieldtypes witch choice functions (like TYP_ENUM).</EM></span> - <span class="comment"><EM>-- Any other value will raise a Form_Exception.</EM></span> + <b>procedure</b> <span class="symbol"><a name="ref_152_14" href="terminal_interface-curses-forms-field_types__adb.htm#ref_128_14">Wrap_Builtin</a></span> (<span class="symbol"><a name="ref_152_28" href="terminal_interface-curses-forms-field_types__adb.htm#ref_128_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_153_28" href="terminal_interface-curses-forms-field_types__adb.htm#ref_129_28">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_53_9">Field_Type</a>'Class; + <span class="symbol"><a name="ref_154_28" href="terminal_interface-curses-forms-field_types__adb.htm#ref_130_28">Cft</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_149_13">C_Builtin_Router</a>); + <span class="comment"><em>-- This procedure has to be called by the Set_Field_Type implementation</em></span> + <span class="comment"><em>-- for builtin low-level fieldtypes to replace it by an Ada95</em></span> + <span class="comment"><em>-- conformant Field_Type object.</em></span> + <span class="comment"><em>-- The parameter Cft must be C_Builtin_Router for regular low-level</em></span> + <span class="comment"><em>-- fieldtypes (like TYP_ALPHA or TYP_ALNUM) and C_Choice_Router for</em></span> + <span class="comment"><em>-- low-level fieldtypes witch choice functions (like TYP_ENUM).</em></span> + <span class="comment"><em>-- Any other value will raise a Form_Exception.</em></span> - <b>function</b> <span class="symbol"><A NAME="ref_163_13">Make_Arg</A></span> (<span class="symbol"><A NAME="ref_163_23" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_163_13">Args</A></span> : System.Address) <b>return</b> System.Address; + <b>function</b> <span class="symbol"><a name="ref_163_13">Make_Arg</a></span> (<span class="symbol"><a name="ref_163_23">Args</a></span> : System.Address) <b>return</b> System.Address; <b>pragma</b> Import (C, Make_Arg, "void_star_make_arg"); - <span class="comment"><EM>-- This is the Makearg_Function for the internal low-level types</EM></span> - <span class="comment"><EM>-- introduced by this binding.</EM></span> + <span class="comment"><em>-- This is the Makearg_Function for the internal low-level types</em></span> + <span class="comment"><em>-- introduced by this binding.</em></span> - <b>function</b> <span class="symbol"><A NAME="ref_168_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_97_13">Copy_Arg</A></span> (<span class="symbol"><A NAME="ref_168_23" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_97_23">Usr</A></span> : System.Address) <b>return</b> System.Address; - <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</A>); - <span class="comment"><EM>-- This is the Copyarg_Function for the internal low-level types</EM></span> - <span class="comment"><EM>-- introduced by this binding.</EM></span> + <b>function</b> <span class="symbol"><a name="ref_168_13" href="terminal_interface-curses-forms-field_types__adb.htm#ref_97_13">Copy_Arg</a></span> (<span class="symbol"><a name="ref_168_23" href="terminal_interface-curses-forms-field_types__adb.htm#ref_97_23">Usr</a></span> : System.Address) <b>return</b> System.Address; + <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</a>); + <span class="comment"><em>-- This is the Copyarg_Function for the internal low-level types</em></span> + <span class="comment"><em>-- introduced by this binding.</em></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_173_14" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_103_14">Free_Arg</A></span> (<span class="symbol"><A NAME="ref_173_24" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_103_24">Usr</A></span> : System.Address); - <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</A>); - <span class="comment"><EM>-- This is the Freearg_Function for the internal low-level types</EM></span> - <span class="comment"><EM>-- introduced by this binding.</EM></span> + <b>procedure</b> <span class="symbol"><a name="ref_173_14" href="terminal_interface-curses-forms-field_types__adb.htm#ref_103_14">Free_Arg</a></span> (<span class="symbol"><a name="ref_173_24" href="terminal_interface-curses-forms-field_types__adb.htm#ref_103_24">Usr</a></span> : System.Address); + <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</a>); + <span class="comment"><em>-- This is the Freearg_Function for the internal low-level types</em></span> + <span class="comment"><em>-- introduced by this binding.</em></span> - <b>function</b> <span class="symbol"><A NAME="ref_178_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_160_13">Field_Check_Router</A></span> (<span class="symbol"><A NAME="ref_178_33" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_160_33">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_179_33" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_161_33">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>; - <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_178_13">Field_Check_Router</A>); - <span class="comment"><EM>-- This is the Field_Check_Function for the internal low-level types</EM></span> - <span class="comment"><EM>-- introduced to wrap the low-level types by a Field_Type derived</EM></span> - <span class="comment"><EM>-- type. It routes the call to the corresponding low-level validation</EM></span> - <span class="comment"><EM>-- function.</EM></span> + <b>function</b> <span class="symbol"><a name="ref_178_13" href="terminal_interface-curses-forms-field_types__adb.htm#ref_160_13">Field_Check_Router</a></span> (<span class="symbol"><a name="ref_178_33" href="terminal_interface-curses-forms-field_types__adb.htm#ref_160_33">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_179_33" href="terminal_interface-curses-forms-field_types__adb.htm#ref_161_33">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; + <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_178_13">Field_Check_Router</a>); + <span class="comment"><em>-- This is the Field_Check_Function for the internal low-level types</em></span> + <span class="comment"><em>-- introduced to wrap the low-level types by a Field_Type derived</em></span> + <span class="comment"><em>-- type. It routes the call to the corresponding low-level validation</em></span> + <span class="comment"><em>-- function.</em></span> - <b>function</b> <span class="symbol"><A NAME="ref_186_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_175_13">Char_Check_Router</A></span> (<span class="symbol"><A NAME="ref_186_32" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_175_32">Ch</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</A>; - <span class="symbol"><A NAME="ref_187_32" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_176_32">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>; - <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_186_13">Char_Check_Router</A>); - <span class="comment"><EM>-- This is the Char_Check_Function for the internal low-level types</EM></span> - <span class="comment"><EM>-- introduced to wrap the low-level types by a Field_Type derived</EM></span> - <span class="comment"><EM>-- type. It routes the call to the corresponding low-level validation</EM></span> - <span class="comment"><EM>-- function.</EM></span> + <b>function</b> <span class="symbol"><a name="ref_186_13" href="terminal_interface-curses-forms-field_types__adb.htm#ref_175_13">Char_Check_Router</a></span> (<span class="symbol"><a name="ref_186_32" href="terminal_interface-curses-forms-field_types__adb.htm#ref_175_32">Ch</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_47_12">C_Int</a>; + <span class="symbol"><a name="ref_187_32" href="terminal_interface-curses-forms-field_types__adb.htm#ref_176_32">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; + <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_186_13">Char_Check_Router</a>); + <span class="comment"><em>-- This is the Char_Check_Function for the internal low-level types</em></span> + <span class="comment"><em>-- introduced to wrap the low-level types by a Field_Type derived</em></span> + <span class="comment"><em>-- type. It routes the call to the corresponding low-level validation</em></span> + <span class="comment"><em>-- function.</em></span> - <b>function</b> <span class="symbol"><A NAME="ref_194_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_190_13">Next_Router</A></span> (<span class="symbol"><A NAME="ref_194_26" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_190_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_195_26" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_191_26">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>; - <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_194_13">Next_Router</A>); - <span class="comment"><EM>-- This is the Choice_Function for the internal low-level types</EM></span> - <span class="comment"><EM>-- introduced to wrap the low-level types by a Field_Type derived</EM></span> - <span class="comment"><EM>-- type. It routes the call to the corresponding low-level next_choice</EM></span> - <span class="comment"><EM>-- function.</EM></span> + <b>function</b> <span class="symbol"><a name="ref_194_13" href="terminal_interface-curses-forms-field_types__adb.htm#ref_190_13">Next_Router</a></span> (<span class="symbol"><a name="ref_194_26" href="terminal_interface-curses-forms-field_types__adb.htm#ref_190_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_195_26" href="terminal_interface-curses-forms-field_types__adb.htm#ref_191_26">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; + <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_194_13">Next_Router</a>); + <span class="comment"><em>-- This is the Choice_Function for the internal low-level types</em></span> + <span class="comment"><em>-- introduced to wrap the low-level types by a Field_Type derived</em></span> + <span class="comment"><em>-- type. It routes the call to the corresponding low-level next_choice</em></span> + <span class="comment"><em>-- function.</em></span> - <b>function</b> <span class="symbol"><A NAME="ref_202_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_205_13">Prev_Router</A></span> (<span class="symbol"><A NAME="ref_202_26" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_205_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_203_26" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_206_26">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>; - <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_202_13">Prev_Router</A>); - <span class="comment"><EM>-- This is the Choice_Function for the internal low-level types</EM></span> - <span class="comment"><EM>-- introduced to wrap the low-level types by a Field_Type derived</EM></span> - <span class="comment"><EM>-- type. It routes the call to the corresponding low-level prev_choice</EM></span> - <span class="comment"><EM>-- function.</EM></span> + <b>function</b> <span class="symbol"><a name="ref_202_13" href="terminal_interface-curses-forms-field_types__adb.htm#ref_205_13">Prev_Router</a></span> (<span class="symbol"><a name="ref_202_26" href="terminal_interface-curses-forms-field_types__adb.htm#ref_205_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_203_26" href="terminal_interface-curses-forms-field_types__adb.htm#ref_206_26">Usr</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; + <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_202_13">Prev_Router</a>); + <span class="comment"><em>-- This is the Choice_Function for the internal low-level types</em></span> + <span class="comment"><em>-- introduced to wrap the low-level types by a Field_Type derived</em></span> + <span class="comment"><em>-- type. It routes the call to the corresponding low-level prev_choice</em></span> + <span class="comment"><em>-- function.</em></span> - <span class="comment"><EM>-- This is the Argument structure maintained by all low-level field types</EM></span> - <span class="comment"><EM>-- introduced by this binding.</EM></span> - <b>type</b> <span class="symbol"><A NAME="ref_212_9">Argument</A></span> <b>is</b> <b>record</b> - <span class="symbol"><A NAME="ref_213_7">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_64_9">Field_Type_Access</A>; <span class="comment"><EM>-- the Field_Type creating this record</EM></span> - <span class="symbol"><A NAME="ref_214_7">Usr</A></span> : System.Address; <span class="comment"><EM>-- original arg for builtin low-level types</EM></span> - <span class="symbol"><A NAME="ref_215_7">Cft</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>; <span class="comment"><EM>-- the original low-level type</EM></span> + <span class="comment"><em>-- This is the Argument structure maintained by all low-level field types</em></span> + <span class="comment"><em>-- introduced by this binding.</em></span> + <b>type</b> <span class="symbol"><a name="ref_212_9">Argument</a></span> <b>is</b> <b>record</b> + <span class="symbol"><a name="ref_213_7">Typ</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_64_9">Field_Type_Access</a>; <span class="comment"><em>-- the Field_Type creating this record</em></span> + <span class="symbol"><a name="ref_214_7">Usr</a></span> : System.Address; <span class="comment"><em>-- original arg for builtin low-level types</em></span> + <span class="symbol"><a name="ref_215_7">Cft</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>; <span class="comment"><em>-- the original low-level type</em></span> <b>end</b> <b>record</b>; - <b>type</b> <span class="symbol"><A NAME="ref_217_9">Argument_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_9">Argument</A>; + <b>type</b> <span class="symbol"><a name="ref_217_9">Argument_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_212_9">Argument</a>; - <span class="comment"><EM>-- +----------------------------------------------------------------------</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- | Some Imports of libform routines to deal with low-level fieldtypes.</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_223_13">New_Fieldtype</A></span> (<span class="symbol"><A NAME="ref_223_28" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_223_13">Fcheck</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_105_9">Field_Check_Function</A>; - <span class="symbol"><A NAME="ref_224_28" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_223_13">Ccheck</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_109_9">Char_Check_Function</A>) - <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>; + <span class="comment"><em>-- +----------------------------------------------------------------------</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- | Some Imports of libform routines to deal with low-level fieldtypes.</em></span> + <span class="comment"><em>-- |</em></span> + <b>function</b> <span class="symbol"><a name="ref_223_13">New_Fieldtype</a></span> (<span class="symbol"><a name="ref_223_28">Fcheck</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_105_9">Field_Check_Function</a>; + <span class="symbol"><a name="ref_224_28">Ccheck</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_109_9">Char_Check_Function</a>) + <b>return</b> <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>; <b>pragma</b> Import (C, New_Fieldtype, "new_fieldtype"); - <b>function</b> <span class="symbol"><A NAME="ref_228_13">Set_Fieldtype_Arg</A></span> (<span class="symbol"><A NAME="ref_228_32" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_228_13">Cft</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>; - <span class="symbol"><A NAME="ref_229_32" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_228_13">Mak</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_93_9">Makearg_Function</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_163_13">Make_Arg</A>'<b>Access</b>; - <span class="symbol"><A NAME="ref_230_32" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_228_13">Cop</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_97_9">Copyarg_Function</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</A>'<b>Access</b>; - <span class="symbol"><A NAME="ref_231_32" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_228_13">Fre</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_101_9">Freearg_Function</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</A>'<b>Access</b>) - <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_228_13">Set_Fieldtype_Arg</a></span> (<span class="symbol"><a name="ref_228_32">Cft</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>; + <span class="symbol"><a name="ref_229_32">Mak</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_93_9">Makearg_Function</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_163_13">Make_Arg</a>'<b>Access</b>; + <span class="symbol"><a name="ref_230_32">Cop</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_97_9">Copyarg_Function</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_168_13">Copy_Arg</a>'<b>Access</b>; + <span class="symbol"><a name="ref_231_32">Fre</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_101_9">Freearg_Function</a> := <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_173_14">Free_Arg</a>'<b>Access</b>) + <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Fieldtype_Arg, "set_fieldtype_arg"); - <b>function</b> <span class="symbol"><A NAME="ref_235_13">Set_Fieldtype_Choice</A></span> (<span class="symbol"><A NAME="ref_235_35" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_235_13">Cft</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</A>; - <span class="symbol"><A NAME="ref_236_35" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_235_13">Next</A></span>, <span class="symbol"><A NAME="ref_236_41" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_235_13">Prev</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_113_9">Choice_Function</A>) - <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_235_13">Set_Fieldtype_Choice</a></span> (<span class="symbol"><a name="ref_235_35">Cft</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_133_9">C_Field_Type</a>; + <span class="symbol"><a name="ref_236_35">Next</a></span>, <span class="symbol"><a name="ref_236_41">Prev</a></span> : <a href="terminal_interface-curses-forms-field_types__ads.htm#ref_113_9">Choice_Function</a>) + <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Fieldtype_Choice, "set_fieldtype_choice"); -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_types__ads.htm#ref_45_41">Field_Types</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-forms-field_user_data__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_user_data__adb.htm index 3b07add01eae..a0c5a41a6e2b 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_user_data__adb.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_user_data__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-forms-field_user_data.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-forms-field_user_data.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,89 +11,89 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_user_data.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Forms.Field_User_Data --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2018,2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2009,2014 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.17 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_user_data.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Forms.Field_User_Data --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2018,2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2009,2014 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.17 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; -<span class="comment"><EM>-- |</EM></span> -<span class="comment"><EM>-- |=====================================================================</EM></span> -<span class="comment"><EM>-- | man page form_field_userptr.3x</EM></span> -<span class="comment"><EM>-- |=====================================================================</EM></span> -<span class="comment"><EM>-- |</EM></span> -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<span class="symbol"><A NAME="ref_49_46" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_46_41">Field_User_Data</A></span> <b>is</b> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_53_14" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_54_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_53_29" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_54_29">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_54_29" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_55_29">Data</A></span> : <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_9">User_Access</A>) +<span class="comment"><em>-- |</em></span> +<span class="comment"><em>-- |=====================================================================</em></span> +<span class="comment"><em>-- | man page form_field_userptr.3x</em></span> +<span class="comment"><em>-- |=====================================================================</em></span> +<span class="comment"><em>-- |</em></span> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<span class="symbol"><a name="ref_49_46" href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_46_41">Field_User_Data</a></span> <b>is</b> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_53_14" href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_54_14">Set_User_Data</a></span> (<span class="symbol"><a name="ref_53_29" href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_54_29">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_54_29" href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_55_29">Data</a></span> : <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_9">User_Access</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_56_16">Set_Field_Userptr</A></span> (<span class="symbol"><A NAME="ref_56_35" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_56_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_57_35" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_56_16">Usr</A></span> : <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_9">User_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_56_16">Set_Field_Userptr</a></span> (<span class="symbol"><a name="ref_56_35">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_57_35">Usr</a></span> : <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_9">User_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Field_Userptr, "set_field_userptr"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_56_16">Set_Field_Userptr</A> (<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_54_29">Fld</A>, <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_55_29">Data</A>)); - <b>end</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_54_14">Set_User_Data</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_66_13" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_65_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_66_28" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_65_28">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_9">User_Access</A> + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-field_user_data__adb.htm#ref_56_16">Set_Field_Userptr</a> (<a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_54_29">Fld</a>, <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_55_29">Data</a>)); + <b>end</b> <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_54_14">Set_User_Data</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>function</b> <span class="symbol"><a name="ref_66_13" href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_65_13">Get_User_Data</a></span> (<span class="symbol"><a name="ref_66_28" href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_65_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_9">User_Access</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_68_16">Field_Userptr</A></span> (<span class="symbol"><A NAME="ref_68_31" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_68_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_9">User_Access</A>; + <b>function</b> <span class="symbol"><a name="ref_68_16">Field_Userptr</a></span> (<span class="symbol"><a name="ref_68_31">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_9">User_Access</a>; <b>pragma</b> Import (C, Field_Userptr, "field_userptr"); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_68_16">Field_Userptr</A> (<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_65_28">Fld</A>); - <b>end</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_65_13">Get_User_Data</A>; + <b>return</b> <a href="terminal_interface-curses-forms-field_user_data__adb.htm#ref_68_16">Field_Userptr</a> (<a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_65_28">Fld</a>); + <b>end</b> <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_65_13">Get_User_Data</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_74_14" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_60_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_74_29" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_60_29">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_75_29" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_61_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_9">User_Access</A>) + <b>procedure</b> <span class="symbol"><a name="ref_74_14" href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_60_14">Get_User_Data</a></span> (<span class="symbol"><a name="ref_74_29" href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_60_29">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_75_29" href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_61_29">Data</a></span> : <b>out</b> <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_9">User_Access</a>) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_61_29">Data</A> := <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_65_13">Get_User_Data</A> (<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_60_29">Fld</A>); - <b>end</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_60_14">Get_User_Data</A>; + <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_61_29">Data</a> := <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_65_13">Get_User_Data</a> (<a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_60_29">Fld</a>); + <b>end</b> <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_60_14">Get_User_Data</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_46_41">Field_User_Data</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_46_41">Field_User_Data</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-forms-field_user_data__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_user_data__ads.htm index 7321fc4a7341..d1a467cc909f 100644 --- a/doc/html/ada/terminal_interface-curses-forms-field_user_data__ads.htm +++ b/doc/html/ada/terminal_interface-curses-forms-field_user_data__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-forms-field_user_data.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-forms-field_user_data.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,78 +11,78 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-field_user_data.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Forms.Field_User_Data --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1998-2003,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.17 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-field_user_data.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Forms.Field_User_Data --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1998-2003,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.17 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>generic</b> - <b>type</b> <span class="symbol"><A NAME="ref_44_9" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_46_41">User</A></span> <b>is</b> <b>limited</b> <b>private</b>; - <b>type</b> <span class="symbol"><A NAME="ref_45_9" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_46_41">User_Access</A></span> <b>is</b> <b>access</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User</A>; -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<span class="symbol"><A NAME="ref_46_41" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_49_46">Field_User_Data</A></span> <b>is</b> - <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_46_41">Field_User_Data</A>); + <b>type</b> <span class="symbol"><a name="ref_44_9">User</a></span> <b>is</b> <b>limited</b> <b>private</b>; + <b>type</b> <span class="symbol"><a name="ref_45_9">User_Access</a></span> <b>is</b> <b>access</b> <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User</a>; +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<span class="symbol"><a name="ref_46_41" href="terminal_interface-curses-forms-field_user_data__adb.htm#ref_49_46">Field_User_Data</a></span> <b>is</b> + <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_46_41">Field_User_Data</a>); - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/form_field_userptr.3x.html">form_field_userptr.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/form_field_userptr.3x.html">form_field_userptr.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> - <span class="comment"><EM>-- <A NAME="AFU_1">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_54_14" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_53_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_54_29" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_53_29">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_55_29" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_54_29">Data</A></span> : <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_9">User_Access</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_userptr.3x.html">set_field_userptr</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_54_14">Set_User_Data</A>); + <span class="comment"><em>-- <A NAME="AFU_1">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_54_14" href="terminal_interface-curses-forms-field_user_data__adb.htm#ref_53_14">Set_User_Data</a></span> (<span class="symbol"><a name="ref_54_29" href="terminal_interface-curses-forms-field_user_data__adb.htm#ref_53_29">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_55_29" href="terminal_interface-curses-forms-field_user_data__adb.htm#ref_54_29">Data</a></span> : <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_9">User_Access</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_userptr.3x.html">set_field_userptr</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_54_14">Set_User_Data</a>); - <span class="comment"><EM>-- <A NAME="AFU_2">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_60_14" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_74_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_60_29" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_74_29">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_61_29" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_75_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_9">User_Access</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_userptr.3x.html">field_userptr</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_2">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_60_14" href="terminal_interface-curses-forms-field_user_data__adb.htm#ref_74_14">Get_User_Data</a></span> (<span class="symbol"><a name="ref_60_29" href="terminal_interface-curses-forms-field_user_data__adb.htm#ref_74_29">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_61_29" href="terminal_interface-curses-forms-field_user_data__adb.htm#ref_75_29">Data</a></span> : <b>out</b> <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_9">User_Access</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_userptr.3x.html">field_userptr</A></em></span> - <span class="comment"><EM>-- <A NAME="AFU_3">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_65_13" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_66_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_65_28" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_66_28">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_9">User_Access</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_userptr.3x.html">field_userptr</A></EM></span> - <span class="comment"><EM>-- Sama as function</EM></span> + <span class="comment"><em>-- <A NAME="AFU_3">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_65_13" href="terminal_interface-curses-forms-field_user_data__adb.htm#ref_66_13">Get_User_Data</a></span> (<span class="symbol"><a name="ref_65_28" href="terminal_interface-curses-forms-field_user_data__adb.htm#ref_66_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_9">User_Access</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_userptr.3x.html">field_userptr</A></em></span> + <span class="comment"><em>-- Sama as function</em></span> <b>pragma</b> Inline (Get_User_Data); -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_46_41">Field_User_Data</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-field_user_data__ads.htm#ref_46_41">Field_User_Data</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-forms-form_user_data__adb.htm b/doc/html/ada/terminal_interface-curses-forms-form_user_data__adb.htm index 5a885ffb634c..fbb0b5c71777 100644 --- a/doc/html/ada/terminal_interface-curses-forms-form_user_data__adb.htm +++ b/doc/html/ada/terminal_interface-curses-forms-form_user_data__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-forms-form_user_data.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-forms-form_user_data.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,90 +11,90 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-form_user_data.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Forms.Form_User_Data --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2018,2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2009,2014 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.17 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- |</EM></span> -<span class="comment"><EM>-- |=====================================================================</EM></span> -<span class="comment"><EM>-- | man page form__userptr.3x</EM></span> -<span class="comment"><EM>-- |=====================================================================</EM></span> -<span class="comment"><EM>-- |</EM></span> -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-form_user_data.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Forms.Form_User_Data --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2018,2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2009,2014 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.17 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- |</em></span> +<span class="comment"><em>-- |=====================================================================</em></span> +<span class="comment"><em>-- | man page form__userptr.3x</em></span> +<span class="comment"><em>-- |=====================================================================</em></span> +<span class="comment"><em>-- |</em></span> +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<span class="symbol"><A NAME="ref_49_46" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_46_41">Form_User_Data</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<span class="symbol"><a name="ref_49_46" href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_46_41">Form_User_Data</a></span> <b>is</b> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_54_14" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_54_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_54_29" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_54_29">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_55_29" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_55_29">Data</A></span> : <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_9">User_Access</A>) + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_54_14" href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_54_14">Set_User_Data</a></span> (<span class="symbol"><a name="ref_54_29" href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_54_29">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_55_29" href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_55_29">Data</a></span> : <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_9">User_Access</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_57_16">Set_Form_Userptr</A></span> (<span class="symbol"><A NAME="ref_57_34" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_57_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_58_34" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_57_16">Data</A></span> : <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_9">User_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_57_16">Set_Form_Userptr</a></span> (<span class="symbol"><a name="ref_57_34">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_58_34">Data</a></span> : <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_9">User_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Form_Userptr, "set_form_userptr"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_57_16">Set_Form_Userptr</A> (<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_54_29">Frm</A>, <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_55_29">Data</A>)); - <b>end</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_54_14">Set_User_Data</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_67_13" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_65_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_67_28" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_65_28">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_9">User_Access</A> + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms-form_user_data__adb.htm#ref_57_16">Set_Form_Userptr</a> (<a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_54_29">Frm</a>, <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_55_29">Data</a>)); + <b>end</b> <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_54_14">Set_User_Data</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>function</b> <span class="symbol"><a name="ref_67_13" href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_65_13">Get_User_Data</a></span> (<span class="symbol"><a name="ref_67_28" href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_65_28">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_9">User_Access</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_69_16">Form_Userptr</A></span> (<span class="symbol"><A NAME="ref_69_30" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_69_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_9">User_Access</A>; + <b>function</b> <span class="symbol"><a name="ref_69_16">Form_Userptr</a></span> (<span class="symbol"><a name="ref_69_30">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_9">User_Access</a>; <b>pragma</b> Import (C, Form_Userptr, "form_userptr"); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_69_16">Form_Userptr</A> (<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_65_28">Frm</A>); - <b>end</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_65_13">Get_User_Data</A>; + <b>return</b> <a href="terminal_interface-curses-forms-form_user_data__adb.htm#ref_69_16">Form_Userptr</a> (<a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_65_28">Frm</a>); + <b>end</b> <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_65_13">Get_User_Data</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_75_14" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_60_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_75_29" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_60_29">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_76_29" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_61_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_9">User_Access</A>) + <b>procedure</b> <span class="symbol"><a name="ref_75_14" href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_60_14">Get_User_Data</a></span> (<span class="symbol"><a name="ref_75_29" href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_60_29">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_76_29" href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_61_29">Data</a></span> : <b>out</b> <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_9">User_Access</a>) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_61_29">Data</A> := <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_65_13">Get_User_Data</A> (<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_60_29">Frm</A>); - <b>end</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_60_14">Get_User_Data</A>; + <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_61_29">Data</a> := <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_65_13">Get_User_Data</a> (<a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_60_29">Frm</a>); + <b>end</b> <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_60_14">Get_User_Data</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_46_41">Form_User_Data</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_46_41">Form_User_Data</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-forms-form_user_data__ads.htm b/doc/html/ada/terminal_interface-curses-forms-form_user_data__ads.htm index 915dd0ac3635..c6baf65b1e12 100644 --- a/doc/html/ada/terminal_interface-curses-forms-form_user_data__ads.htm +++ b/doc/html/ada/terminal_interface-curses-forms-form_user_data__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-forms-form_user_data.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-forms-form_user_data.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,78 +11,78 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms-form_user_data.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Forms.Form_User_Data --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1998-2003,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.16 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms-form_user_data.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Forms.Form_User_Data --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1998-2003,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.16 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>generic</b> - <b>type</b> <span class="symbol"><A NAME="ref_44_9" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_46_41">User</A></span> <b>is</b> <b>limited</b> <b>private</b>; - <b>type</b> <span class="symbol"><A NAME="ref_45_9" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_46_41">User_Access</A></span> <b>is</b> <b>access</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User</A>; -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<span class="symbol"><A NAME="ref_46_41" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_49_46">Form_User_Data</A></span> <b>is</b> - <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_46_41">Form_User_Data</A>); + <b>type</b> <span class="symbol"><a name="ref_44_9">User</a></span> <b>is</b> <b>limited</b> <b>private</b>; + <b>type</b> <span class="symbol"><a name="ref_45_9">User_Access</a></span> <b>is</b> <b>access</b> <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User</a>; +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<span class="symbol"><a name="ref_46_41" href="terminal_interface-curses-forms-form_user_data__adb.htm#ref_49_46">Form_User_Data</a></span> <b>is</b> + <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_46_41">Form_User_Data</a>); - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/form_userptr.3x.html">form_userptr.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/form_userptr.3x.html">form_userptr.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> - <span class="comment"><EM>-- <A NAME="AFU_1">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_54_14" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_54_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_54_29" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_54_29">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_55_29" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_55_29">Data</A></span> : <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_9">User_Access</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_userptr.3x.html">set_form_userptr</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_54_14">Set_User_Data</A>); + <span class="comment"><em>-- <A NAME="AFU_1">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_54_14" href="terminal_interface-curses-forms-form_user_data__adb.htm#ref_54_14">Set_User_Data</a></span> (<span class="symbol"><a name="ref_54_29" href="terminal_interface-curses-forms-form_user_data__adb.htm#ref_54_29">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_55_29" href="terminal_interface-curses-forms-form_user_data__adb.htm#ref_55_29">Data</a></span> : <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_9">User_Access</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/form_userptr.3x.html">set_form_userptr</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_54_14">Set_User_Data</a>); - <span class="comment"><EM>-- <A NAME="AFU_2">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_60_14" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_75_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_60_29" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_75_29">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_61_29" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_76_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_9">User_Access</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_userptr.3x.html">form_userptr</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_2">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_60_14" href="terminal_interface-curses-forms-form_user_data__adb.htm#ref_75_14">Get_User_Data</a></span> (<span class="symbol"><a name="ref_60_29" href="terminal_interface-curses-forms-form_user_data__adb.htm#ref_75_29">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_61_29" href="terminal_interface-curses-forms-form_user_data__adb.htm#ref_76_29">Data</a></span> : <b>out</b> <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_9">User_Access</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/form_userptr.3x.html">form_userptr</A></em></span> - <span class="comment"><EM>-- <A NAME="AFU_3">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_65_13" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_67_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_65_28" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_67_28">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_9">User_Access</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_userptr.3x.html">form_userptr</A></EM></span> - <span class="comment"><EM>-- Same as function</EM></span> + <span class="comment"><em>-- <A NAME="AFU_3">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_65_13" href="terminal_interface-curses-forms-form_user_data__adb.htm#ref_67_13">Get_User_Data</a></span> (<span class="symbol"><a name="ref_65_28" href="terminal_interface-curses-forms-form_user_data__adb.htm#ref_67_28">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_9">User_Access</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/form_userptr.3x.html">form_userptr</A></em></span> + <span class="comment"><em>-- Same as function</em></span> <b>pragma</b> Inline (Get_User_Data); -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>.<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_46_41">Form_User_Data</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>.<a href="terminal_interface-curses-forms-form_user_data__ads.htm#ref_46_41">Form_User_Data</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-forms__adb.htm b/doc/html/ada/terminal_interface-curses-forms__adb.htm index 7820c331ce25..3f22b40dac6f 100644 --- a/doc/html/ada/terminal_interface-curses-forms__adb.htm +++ b/doc/html/ada/terminal_interface-curses-forms__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-forms.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-forms.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,1040 +11,1040 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Forms --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.33 @</EM></span> -<span class="comment"><EM>-- @Date: 2020/02/02 23:34:34 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Forms --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.33 @</em></span> +<span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>with</b> Ada.Unchecked_Deallocation; -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings; -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Pointers; +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings; +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Pointers; -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<span class="symbol"><A NAME="ref_51_40" HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_51_40" href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a></span> <b>is</b> - <b>use</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; + <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; - <b>type</b> C_Field_Array <b>is</b> <b>array</b> (Natural <b>range</b> <>) <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; + <b>type</b> C_Field_Array <b>is</b> <b>array</b> (Natural <b>range</b> <>) <b>of</b> <b>aliased</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; <b>package</b> F_Array <b>is</b> <b>new</b> - <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Pointers (Natural, <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>, C_Field_Array, <A HREF="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</A>); + <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Pointers (Natural, <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>, C_Field_Array, <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a>); -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- subtype chars_ptr is Interfaces.C.Strings.chars_ptr;</EM></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- subtype chars_ptr is Interfaces.C.Strings.chars_ptr;</em></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_65_14" HREF="terminal_interface-curses-forms__ads.htm#ref_278_14">Request_Name</A></span> (<span class="symbol"><A NAME="ref_65_28" HREF="terminal_interface-curses-forms__ads.htm#ref_278_28">Key</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A>; - <span class="symbol"><A NAME="ref_66_33" HREF="terminal_interface-curses-forms__ads.htm#ref_279_28">Name</A></span> : <b>out</b> String) + <b>procedure</b> <span class="symbol"><a name="ref_65_14" href="terminal_interface-curses-forms__ads.htm#ref_278_14">Request_Name</a></span> (<span class="symbol"><a name="ref_65_28" href="terminal_interface-curses-forms__ads.htm#ref_278_28">Key</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a>; + <span class="symbol"><a name="ref_66_33" href="terminal_interface-curses-forms__ads.htm#ref_279_28">Name</a></span> : <b>out</b> String) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_68_16">Form_Request_Name</A></span> (<span class="symbol"><A NAME="ref_68_35" HREF="terminal_interface-curses-forms__adb.htm#ref_68_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> chars_ptr; + <b>function</b> <span class="symbol"><a name="ref_68_16">Form_Request_Name</a></span> (<span class="symbol"><a name="ref_68_35">Key</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> chars_ptr; <b>pragma</b> Import (C, Form_Request_Name, "form_request_name"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_68_16">Form_Request_Name</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_278_28">Key</A>)), <A HREF="terminal_interface-curses-forms__ads.htm#ref_279_28">Name</A>); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_278_14">Request_Name</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_68_16">Form_Request_Name</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_278_28">Key</a>)), <a href="terminal_interface-curses-forms__ads.htm#ref_279_28">Name</a>); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_278_14">Request_Name</a>; - <b>function</b> <span class="symbol"><A NAME="ref_74_13" HREF="terminal_interface-curses-forms__ads.htm#ref_281_14">Request_Name</A></span> (<span class="symbol"><A NAME="ref_74_27" HREF="terminal_interface-curses-forms__ads.htm#ref_281_28">Key</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A>) <b>return</b> String + <b>function</b> <span class="symbol"><a name="ref_74_13" href="terminal_interface-curses-forms__ads.htm#ref_281_14">Request_Name</a></span> (<span class="symbol"><a name="ref_74_27" href="terminal_interface-curses-forms__ads.htm#ref_281_28">Key</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a>) <b>return</b> String <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_76_16">Form_Request_Name</A></span> (<span class="symbol"><A NAME="ref_76_35" HREF="terminal_interface-curses-forms__adb.htm#ref_76_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> chars_ptr; + <b>function</b> <span class="symbol"><a name="ref_76_16">Form_Request_Name</a></span> (<span class="symbol"><a name="ref_76_35">Key</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> chars_ptr; <b>pragma</b> Import (C, Form_Request_Name, "form_request_name"); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_76_16">Form_Request_Name</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_281_28">Key</A>))); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_281_14">Request_Name</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | man page form_field_new.3x</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_92_13" HREF="terminal_interface-curses-forms__ads.htm#ref_295_13">Create</A></span> (<span class="symbol"><A NAME="ref_92_21" HREF="terminal_interface-curses-forms__ads.htm#ref_295_21">Height</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_93_21" HREF="terminal_interface-curses-forms__ads.htm#ref_296_21">Width</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>; - <span class="symbol"><A NAME="ref_94_21" HREF="terminal_interface-curses-forms__ads.htm#ref_297_21">Top</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_95_21" HREF="terminal_interface-curses-forms__ads.htm#ref_298_21">Left</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_96_21" HREF="terminal_interface-curses-forms__ads.htm#ref_299_21">Off_Screen</A></span> : Natural := 0; - <span class="symbol"><A NAME="ref_97_21" HREF="terminal_interface-curses-forms__ads.htm#ref_300_21">More_Buffers</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A>'First) - <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A> + <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_76_16">Form_Request_Name</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_281_28">Key</a>))); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_281_14">Request_Name</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | man page form_field_new.3x</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>function</b> <span class="symbol"><a name="ref_92_13" href="terminal_interface-curses-forms__ads.htm#ref_295_13">Create</a></span> (<span class="symbol"><a name="ref_92_21" href="terminal_interface-curses-forms__ads.htm#ref_295_21">Height</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_93_21" href="terminal_interface-curses-forms__ads.htm#ref_296_21">Width</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>; + <span class="symbol"><a name="ref_94_21" href="terminal_interface-curses-forms__ads.htm#ref_297_21">Top</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_95_21" href="terminal_interface-curses-forms__ads.htm#ref_298_21">Left</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_96_21" href="terminal_interface-curses-forms__ads.htm#ref_299_21">Off_Screen</a></span> : Natural := 0; + <span class="symbol"><a name="ref_97_21" href="terminal_interface-curses-forms__ads.htm#ref_300_21">More_Buffers</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>'First) + <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_100_16">Newfield</A></span> (<span class="symbol"><A NAME="ref_100_26" HREF="terminal_interface-curses-forms__adb.htm#ref_100_16">H</A></span>, <span class="symbol"><A NAME="ref_100_29" HREF="terminal_interface-curses-forms__adb.htm#ref_100_16">W</A></span>, <span class="symbol"><A NAME="ref_100_32" HREF="terminal_interface-curses-forms__adb.htm#ref_100_16">T</A></span>, <span class="symbol"><A NAME="ref_100_35" HREF="terminal_interface-curses-forms__adb.htm#ref_100_16">L</A></span>, <span class="symbol"><A NAME="ref_100_38" HREF="terminal_interface-curses-forms__adb.htm#ref_100_16">O</A></span>, <span class="symbol"><A NAME="ref_100_41" HREF="terminal_interface-curses-forms__adb.htm#ref_100_16">M</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; + <b>function</b> <span class="symbol"><a name="ref_100_16">Newfield</a></span> (<span class="symbol"><a name="ref_100_26">H</a></span>, <span class="symbol"><a name="ref_100_29">W</a></span>, <span class="symbol"><a name="ref_100_32">T</a></span>, <span class="symbol"><a name="ref_100_35">L</a></span>, <span class="symbol"><a name="ref_100_38">O</a></span>, <span class="symbol"><a name="ref_100_41">M</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; <b>pragma</b> Import (C, Newfield, "new_field"); - <span class="symbol"><A NAME="ref_102_7">Fld</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_100_16">Newfield</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_295_21">Height</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_296_21">Width</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_297_21">Top</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_298_21">Left</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_299_21">Off_Screen</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_300_21">More_Buffers</A>)); + <span class="symbol"><a name="ref_102_7">Fld</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_100_16">Newfield</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_295_21">Height</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_296_21">Width</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_297_21">Top</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_298_21">Left</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_299_21">Off_Screen</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_300_21">More_Buffers</a>)); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_102_7">Fld</A> = <A HREF="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_102_7">Fld</a> = <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>; <b>end</b> <b>if</b>; - <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_102_7">Fld</A>; - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_295_13">Create</A>; -<span class="comment"><EM>-- |</EM></span> -<span class="comment"><EM>-- |</EM></span> -<span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_115_14" HREF="terminal_interface-curses-forms__ads.htm#ref_317_14">Delete</A></span> (<span class="symbol"><A NAME="ref_115_22" HREF="terminal_interface-curses-forms__ads.htm#ref_317_22">Fld</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) + <b>return</b> <a href="terminal_interface-curses-forms__adb.htm#ref_102_7">Fld</a>; + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_295_13">Create</a>; +<span class="comment"><em>-- |</em></span> +<span class="comment"><em>-- |</em></span> +<span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_115_14" href="terminal_interface-curses-forms__ads.htm#ref_317_14">Delete</a></span> (<span class="symbol"><a name="ref_115_22" href="terminal_interface-curses-forms__ads.htm#ref_317_22">Fld</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_117_16">Free_Field</A></span> (<span class="symbol"><A NAME="ref_117_28" HREF="terminal_interface-curses-forms__adb.htm#ref_117_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_117_16">Free_Field</a></span> (<span class="symbol"><a name="ref_117_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Free_Field, "free_field"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_117_16">Free_Field</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_317_22">Fld</A>)); - <A HREF="terminal_interface-curses-forms__ads.htm#ref_317_22">Fld</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</A>; - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_317_14">Delete</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_127_13" HREF="terminal_interface-curses-forms__ads.htm#ref_323_13">Duplicate</A></span> (<span class="symbol"><A NAME="ref_127_24" HREF="terminal_interface-curses-forms__ads.htm#ref_323_24">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_128_24" HREF="terminal_interface-curses-forms__ads.htm#ref_324_24">Top</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_129_24" HREF="terminal_interface-curses-forms__ads.htm#ref_325_24">Left</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A> + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_117_16">Free_Field</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_317_22">Fld</a>)); + <a href="terminal_interface-curses-forms__ads.htm#ref_317_22">Fld</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a>; + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_317_14">Delete</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>function</b> <span class="symbol"><a name="ref_127_13" href="terminal_interface-curses-forms__ads.htm#ref_323_13">Duplicate</a></span> (<span class="symbol"><a name="ref_127_24" href="terminal_interface-curses-forms__ads.htm#ref_323_24">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_128_24" href="terminal_interface-curses-forms__ads.htm#ref_324_24">Top</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_129_24" href="terminal_interface-curses-forms__ads.htm#ref_325_24">Left</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_131_16">Dup_Field</A></span> (<span class="symbol"><A NAME="ref_131_27" HREF="terminal_interface-curses-forms__adb.htm#ref_131_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_132_27" HREF="terminal_interface-curses-forms__adb.htm#ref_131_16">Top</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_133_27" HREF="terminal_interface-curses-forms__adb.htm#ref_131_16">Left</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; + <b>function</b> <span class="symbol"><a name="ref_131_16">Dup_Field</a></span> (<span class="symbol"><a name="ref_131_27">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_132_27">Top</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_133_27">Left</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; <b>pragma</b> Import (C, Dup_Field, "dup_field"); - <span class="symbol"><A NAME="ref_136_7">F</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_131_16">Dup_Field</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_323_24">Fld</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_324_24">Top</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_325_24">Left</A>)); + <span class="symbol"><a name="ref_136_7">F</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_131_16">Dup_Field</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_323_24">Fld</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_324_24">Top</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_325_24">Left</a>)); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_136_7">F</A> = <A HREF="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_136_7">F</a> = <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>; <b>end</b> <b>if</b>; - <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_136_7">F</A>; - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_323_13">Duplicate</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_148_13" HREF="terminal_interface-curses-forms__ads.htm#ref_330_13">Link</A></span> (<span class="symbol"><A NAME="ref_148_19" HREF="terminal_interface-curses-forms__ads.htm#ref_330_19">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_149_19" HREF="terminal_interface-curses-forms__ads.htm#ref_331_19">Top</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_150_19" HREF="terminal_interface-curses-forms__ads.htm#ref_332_19">Left</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A> + <b>return</b> <a href="terminal_interface-curses-forms__adb.htm#ref_136_7">F</a>; + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_323_13">Duplicate</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>function</b> <span class="symbol"><a name="ref_148_13" href="terminal_interface-curses-forms__ads.htm#ref_330_13">Link</a></span> (<span class="symbol"><a name="ref_148_19" href="terminal_interface-curses-forms__ads.htm#ref_330_19">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_149_19" href="terminal_interface-curses-forms__ads.htm#ref_331_19">Top</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_150_19" href="terminal_interface-curses-forms__ads.htm#ref_332_19">Left</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_152_16">Lnk_Field</A></span> (<span class="symbol"><A NAME="ref_152_27" HREF="terminal_interface-curses-forms__adb.htm#ref_152_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_153_27" HREF="terminal_interface-curses-forms__adb.htm#ref_152_16">Top</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_154_27" HREF="terminal_interface-curses-forms__adb.htm#ref_152_16">Left</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; + <b>function</b> <span class="symbol"><a name="ref_152_16">Lnk_Field</a></span> (<span class="symbol"><a name="ref_152_27">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_153_27">Top</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_154_27">Left</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; <b>pragma</b> Import (C, Lnk_Field, "link_field"); - <span class="symbol"><A NAME="ref_157_7">F</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_152_16">Lnk_Field</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_330_19">Fld</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_331_19">Top</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_332_19">Left</A>)); + <span class="symbol"><a name="ref_157_7">F</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_152_16">Lnk_Field</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_330_19">Fld</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_331_19">Top</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_332_19">Left</a>)); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_157_7">F</A> = <A HREF="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_157_7">F</a> = <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>; <b>end</b> <b>if</b>; - <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_157_7">F</A>; - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_330_13">Link</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | man page form_field_just.3x</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_173_14" HREF="terminal_interface-curses-forms__ads.htm#ref_341_14">Set_Justification</A></span> (<span class="symbol"><A NAME="ref_173_33" HREF="terminal_interface-curses-forms__ads.htm#ref_341_33">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_174_33" HREF="terminal_interface-curses-forms__ads.htm#ref_342_33">Just</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_58_9">Field_Justification</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_58_33">None</A>) + <b>return</b> <a href="terminal_interface-curses-forms__adb.htm#ref_157_7">F</a>; + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_330_13">Link</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | man page form_field_just.3x</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_173_14" href="terminal_interface-curses-forms__ads.htm#ref_341_14">Set_Justification</a></span> (<span class="symbol"><a name="ref_173_33" href="terminal_interface-curses-forms__ads.htm#ref_341_33">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_174_33" href="terminal_interface-curses-forms__ads.htm#ref_342_33">Just</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_58_9">Field_Justification</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_58_33">None</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_176_16">Set_Field_Just</A></span> (<span class="symbol"><A NAME="ref_176_32" HREF="terminal_interface-curses-forms__adb.htm#ref_176_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_177_32" HREF="terminal_interface-curses-forms__adb.htm#ref_176_16">Just</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_176_16">Set_Field_Just</a></span> (<span class="symbol"><a name="ref_176_32">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_177_32">Just</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Field_Just, "set_field_just"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_176_16">Set_Field_Just</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_341_33">Fld</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_58_9">Field_Justification</A>'Pos (<A HREF="terminal_interface-curses-forms__ads.htm#ref_342_33">Just</A>)))); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_341_14">Set_Justification</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_187_13" HREF="terminal_interface-curses-forms__ads.htm#ref_347_13">Get_Justification</A></span> (<span class="symbol"><A NAME="ref_187_32" HREF="terminal_interface-curses-forms__ads.htm#ref_347_32">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_58_9">Field_Justification</A> + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_176_16">Set_Field_Just</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_341_33">Fld</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_58_9">Field_Justification</a>'Pos (<a href="terminal_interface-curses-forms__ads.htm#ref_342_33">Just</a>)))); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_341_14">Set_Justification</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>function</b> <span class="symbol"><a name="ref_187_13" href="terminal_interface-curses-forms__ads.htm#ref_347_13">Get_Justification</a></span> (<span class="symbol"><a name="ref_187_32" href="terminal_interface-curses-forms__ads.htm#ref_347_32">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_58_9">Field_Justification</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_189_16">Field_Just</A></span> (<span class="symbol"><A NAME="ref_189_28" HREF="terminal_interface-curses-forms__adb.htm#ref_189_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_189_16">Field_Just</a></span> (<span class="symbol"><a name="ref_189_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Field_Just, "field_just"); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_58_9">Field_Justification</A>'Val (<A HREF="terminal_interface-curses-forms__adb.htm#ref_189_16">Field_Just</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_347_32">Fld</A>)); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_347_13">Get_Justification</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | man page form_field_buffer.3x</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_201_14" HREF="terminal_interface-curses-forms__ads.htm#ref_356_14">Set_Buffer</A></span> - (<span class="symbol"><A NAME="ref_202_7" HREF="terminal_interface-curses-forms__ads.htm#ref_357_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_203_7" HREF="terminal_interface-curses-forms__ads.htm#ref_358_7">Buffer</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A>'First; - <span class="symbol"><A NAME="ref_204_7" HREF="terminal_interface-curses-forms__ads.htm#ref_359_7">Str</A></span> : String) + <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_58_9">Field_Justification</a>'Val (<a href="terminal_interface-curses-forms__adb.htm#ref_189_16">Field_Just</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_347_32">Fld</a>)); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_347_13">Get_Justification</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | man page form_field_buffer.3x</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_201_14" href="terminal_interface-curses-forms__ads.htm#ref_356_14">Set_Buffer</a></span> + (<span class="symbol"><a name="ref_202_7" href="terminal_interface-curses-forms__ads.htm#ref_357_7">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_203_7" href="terminal_interface-curses-forms__ads.htm#ref_358_7">Buffer</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>'First; + <span class="symbol"><a name="ref_204_7" href="terminal_interface-curses-forms__ads.htm#ref_359_7">Str</a></span> : String) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_206_16">Set_Fld_Buffer</A></span> (<span class="symbol"><A NAME="ref_206_32" HREF="terminal_interface-curses-forms__adb.htm#ref_206_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_207_34" HREF="terminal_interface-curses-forms__adb.htm#ref_206_16">Bufnum</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_208_34" HREF="terminal_interface-curses-forms__adb.htm#ref_206_16">S</A></span> : char_array) - <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_206_16">Set_Fld_Buffer</a></span> (<span class="symbol"><a name="ref_206_32">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_207_34">Bufnum</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_208_34">S</a></span> : char_array) + <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Fld_Buffer, "set_field_buffer"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_206_16">Set_Fld_Buffer</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_357_7">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_358_7">Buffer</A>), To_C (<A HREF="terminal_interface-curses-forms__ads.htm#ref_359_7">Str</A>))); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_356_14">Set_Buffer</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_218_14" HREF="terminal_interface-curses-forms__ads.htm#ref_364_14">Get_Buffer</A></span> - (<span class="symbol"><A NAME="ref_219_7" HREF="terminal_interface-curses-forms__ads.htm#ref_365_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_220_7" HREF="terminal_interface-curses-forms__ads.htm#ref_366_7">Buffer</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A>'First; - <span class="symbol"><A NAME="ref_221_7" HREF="terminal_interface-curses-forms__ads.htm#ref_367_7">Str</A></span> : <b>out</b> String) + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_206_16">Set_Fld_Buffer</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_357_7">Fld</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_358_7">Buffer</a>), To_C (<a href="terminal_interface-curses-forms__ads.htm#ref_359_7">Str</a>))); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_356_14">Set_Buffer</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_218_14" href="terminal_interface-curses-forms__ads.htm#ref_364_14">Get_Buffer</a></span> + (<span class="symbol"><a name="ref_219_7" href="terminal_interface-curses-forms__ads.htm#ref_365_7">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_220_7" href="terminal_interface-curses-forms__ads.htm#ref_366_7">Buffer</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>'First; + <span class="symbol"><a name="ref_221_7" href="terminal_interface-curses-forms__ads.htm#ref_367_7">Str</a></span> : <b>out</b> String) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_223_16">Field_Buffer</A></span> (<span class="symbol"><A NAME="ref_223_30" HREF="terminal_interface-curses-forms__adb.htm#ref_223_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_224_30" HREF="terminal_interface-curses-forms__adb.htm#ref_223_16">B</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> chars_ptr; + <b>function</b> <span class="symbol"><a name="ref_223_16">Field_Buffer</a></span> (<span class="symbol"><a name="ref_223_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_224_30">B</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> chars_ptr; <b>pragma</b> Import (C, Field_Buffer, "field_buffer"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_223_16">Field_Buffer</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_365_7">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_366_7">Buffer</A>)), <A HREF="terminal_interface-curses-forms__ads.htm#ref_367_7">Str</A>); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_364_14">Get_Buffer</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_223_16">Field_Buffer</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_365_7">Fld</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_366_7">Buffer</a>)), <a href="terminal_interface-curses-forms__ads.htm#ref_367_7">Str</a>); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_364_14">Get_Buffer</a>; - <b>function</b> <span class="symbol"><A NAME="ref_230_13" HREF="terminal_interface-curses-forms__ads.htm#ref_370_13">Get_Buffer</A></span> - (<span class="symbol"><A NAME="ref_231_7" HREF="terminal_interface-curses-forms__ads.htm#ref_371_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_232_7" HREF="terminal_interface-curses-forms__ads.htm#ref_372_7">Buffer</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A>'First) <b>return</b> String + <b>function</b> <span class="symbol"><a name="ref_230_13" href="terminal_interface-curses-forms__ads.htm#ref_370_13">Get_Buffer</a></span> + (<span class="symbol"><a name="ref_231_7" href="terminal_interface-curses-forms__ads.htm#ref_371_7">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_232_7" href="terminal_interface-curses-forms__ads.htm#ref_372_7">Buffer</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>'First) <b>return</b> String <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_234_16">Field_Buffer</A></span> (<span class="symbol"><A NAME="ref_234_30" HREF="terminal_interface-curses-forms__adb.htm#ref_234_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_235_30" HREF="terminal_interface-curses-forms__adb.htm#ref_234_16">B</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> chars_ptr; + <b>function</b> <span class="symbol"><a name="ref_234_16">Field_Buffer</a></span> (<span class="symbol"><a name="ref_234_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_235_30">B</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> chars_ptr; <b>pragma</b> Import (C, Field_Buffer, "field_buffer"); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_234_16">Field_Buffer</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_371_7">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_372_7">Buffer</A>))); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_370_13">Get_Buffer</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_243_14" HREF="terminal_interface-curses-forms__ads.htm#ref_378_14">Set_Status</A></span> (<span class="symbol"><A NAME="ref_243_26" HREF="terminal_interface-curses-forms__ads.htm#ref_378_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_244_26" HREF="terminal_interface-curses-forms__ads.htm#ref_379_26">Status</A></span> : Boolean := True) + <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_234_16">Field_Buffer</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_371_7">Fld</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_372_7">Buffer</a>))); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_370_13">Get_Buffer</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_243_14" href="terminal_interface-curses-forms__ads.htm#ref_378_14">Set_Status</a></span> (<span class="symbol"><a name="ref_243_26" href="terminal_interface-curses-forms__ads.htm#ref_378_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_244_26" href="terminal_interface-curses-forms__ads.htm#ref_379_26">Status</a></span> : Boolean := True) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_246_16">Set_Fld_Status</A></span> (<span class="symbol"><A NAME="ref_246_32" HREF="terminal_interface-curses-forms__adb.htm#ref_246_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_247_32" HREF="terminal_interface-curses-forms__adb.htm#ref_246_16">St</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_246_16">Set_Fld_Status</a></span> (<span class="symbol"><a name="ref_246_32">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_247_32">St</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Fld_Status, "set_field_status"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_246_16">Set_Fld_Status</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_378_26">Fld</A>, Boolean'Pos (<A HREF="terminal_interface-curses-forms__ads.htm#ref_379_26">Status</A>)) /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_85_7">E_Ok</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_246_16">Set_Fld_Status</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_378_26">Fld</a>, Boolean'Pos (<a href="terminal_interface-curses-forms__ads.htm#ref_379_26">Status</a>)) /= <a href="terminal_interface-curses-aux__ads.htm#ref_85_7">E_Ok</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_378_14">Set_Status</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_258_13" HREF="terminal_interface-curses-forms__ads.htm#ref_384_13">Changed</A></span> (<span class="symbol"><A NAME="ref_258_22" HREF="terminal_interface-curses-forms__ads.htm#ref_384_22">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) <b>return</b> Boolean + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_378_14">Set_Status</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>function</b> <span class="symbol"><a name="ref_258_13" href="terminal_interface-curses-forms__ads.htm#ref_384_13">Changed</a></span> (<span class="symbol"><a name="ref_258_22" href="terminal_interface-curses-forms__ads.htm#ref_384_22">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> Boolean <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_260_16">Field_Status</A></span> (<span class="symbol"><A NAME="ref_260_30" HREF="terminal_interface-curses-forms__adb.htm#ref_260_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_260_16">Field_Status</a></span> (<span class="symbol"><a name="ref_260_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Field_Status, "field_status"); - <span class="symbol"><A NAME="ref_263_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_260_16">Field_Status</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_384_22">Fld</A>); + <span class="symbol"><a name="ref_263_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_260_16">Field_Status</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_384_22">Fld</a>); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_263_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</A> <b>then</b> + <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_263_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</a> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_384_13">Changed</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_274_14" HREF="terminal_interface-curses-forms__ads.htm#ref_389_14">Set_Maximum_Size</A></span> (<span class="symbol"><A NAME="ref_274_32" HREF="terminal_interface-curses-forms__ads.htm#ref_389_32">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_275_32" HREF="terminal_interface-curses-forms__ads.htm#ref_390_32">Max</A></span> : Natural := 0) + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_384_13">Changed</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_274_14" href="terminal_interface-curses-forms__ads.htm#ref_389_14">Set_Maximum_Size</a></span> (<span class="symbol"><a name="ref_274_32" href="terminal_interface-curses-forms__ads.htm#ref_389_32">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_275_32" href="terminal_interface-curses-forms__ads.htm#ref_390_32">Max</a></span> : Natural := 0) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_277_16">Set_Field_Max</A></span> (<span class="symbol"><A NAME="ref_277_31" HREF="terminal_interface-curses-forms__adb.htm#ref_277_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_278_31" HREF="terminal_interface-curses-forms__adb.htm#ref_277_16">M</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_277_16">Set_Field_Max</a></span> (<span class="symbol"><a name="ref_277_31">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_278_31">M</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Field_Max, "set_max_field"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_277_16">Set_Field_Max</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_389_32">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_390_32">Max</A>))); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_389_14">Set_Maximum_Size</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | man page form_field_opts.3x</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_291_14" HREF="terminal_interface-curses-forms__ads.htm#ref_399_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_291_27" HREF="terminal_interface-curses-forms__ads.htm#ref_399_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_292_27" HREF="terminal_interface-curses-forms__ads.htm#ref_400_27">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</A>) + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_277_16">Set_Field_Max</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_389_32">Fld</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_390_32">Max</a>))); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_389_14">Set_Maximum_Size</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | man page form_field_opts.3x</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_291_14" href="terminal_interface-curses-forms__ads.htm#ref_399_14">Set_Options</a></span> (<span class="symbol"><a name="ref_291_27" href="terminal_interface-curses-forms__ads.htm#ref_399_27">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_292_27" href="terminal_interface-curses-forms__ads.htm#ref_400_27">Options</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_294_16">Set_Field_Opts</A></span> (<span class="symbol"><A NAME="ref_294_32" HREF="terminal_interface-curses-forms__adb.htm#ref_294_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_295_32" HREF="terminal_interface-curses-forms__adb.htm#ref_294_16">Opt</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_294_16">Set_Field_Opts</a></span> (<span class="symbol"><a name="ref_294_32">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_295_32">Opt</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Field_Opts, "set_field_opts"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_294_16">Set_Field_Opts</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_399_27">Fld</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_400_27">Options</A>)); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_399_14">Set_Options</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_304_14" HREF="terminal_interface-curses-forms__ads.htm#ref_405_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_304_30" HREF="terminal_interface-curses-forms__ads.htm#ref_405_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_305_30" HREF="terminal_interface-curses-forms__ads.htm#ref_406_30">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</A>; - <span class="symbol"><A NAME="ref_306_30" HREF="terminal_interface-curses-forms__ads.htm#ref_407_30">On</A></span> : Boolean := True) + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_294_16">Set_Field_Opts</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_399_27">Fld</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_400_27">Options</a>)); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_399_14">Set_Options</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_304_14" href="terminal_interface-curses-forms__ads.htm#ref_405_14">Switch_Options</a></span> (<span class="symbol"><a name="ref_304_30" href="terminal_interface-curses-forms__ads.htm#ref_405_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_305_30" href="terminal_interface-curses-forms__ads.htm#ref_406_30">Options</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>; + <span class="symbol"><a name="ref_306_30" href="terminal_interface-curses-forms__ads.htm#ref_407_30">On</a></span> : Boolean := True) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_308_16">Field_Opts_On</A></span> (<span class="symbol"><A NAME="ref_308_31" HREF="terminal_interface-curses-forms__adb.htm#ref_308_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_309_31" HREF="terminal_interface-curses-forms__adb.htm#ref_308_16">Opt</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_308_16">Field_Opts_On</a></span> (<span class="symbol"><a name="ref_308_31">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_309_31">Opt</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Field_Opts_On, "field_opts_on"); - <b>function</b> <span class="symbol"><A NAME="ref_311_16">Field_Opts_Off</A></span> (<span class="symbol"><A NAME="ref_311_32" HREF="terminal_interface-curses-forms__adb.htm#ref_311_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_312_32" HREF="terminal_interface-curses-forms__adb.htm#ref_311_16">Opt</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_311_16">Field_Opts_Off</a></span> (<span class="symbol"><a name="ref_311_32">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_312_32">Opt</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Field_Opts_Off, "field_opts_off"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_407_30">On</A> <b>then</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_308_16">Field_Opts_On</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_405_30">Fld</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_406_30">Options</A>)); + <b>if</b> <a href="terminal_interface-curses-forms__ads.htm#ref_407_30">On</a> <b>then</b> + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_308_16">Field_Opts_On</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_405_30">Fld</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_406_30">Options</a>)); <b>else</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_311_16">Field_Opts_Off</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_405_30">Fld</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_406_30">Options</A>)); + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_311_16">Field_Opts_Off</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_405_30">Fld</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_406_30">Options</a>)); <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_405_14">Switch_Options</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_325_14" HREF="terminal_interface-curses-forms__ads.htm#ref_413_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_325_27" HREF="terminal_interface-curses-forms__ads.htm#ref_413_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_326_27" HREF="terminal_interface-curses-forms__ads.htm#ref_414_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</A>) + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_405_14">Switch_Options</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_325_14" href="terminal_interface-curses-forms__ads.htm#ref_413_14">Get_Options</a></span> (<span class="symbol"><a name="ref_325_27" href="terminal_interface-curses-forms__ads.htm#ref_413_27">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_326_27" href="terminal_interface-curses-forms__ads.htm#ref_414_27">Options</a></span> : <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_328_16">Field_Opts</A></span> (<span class="symbol"><A NAME="ref_328_28" HREF="terminal_interface-curses-forms__adb.htm#ref_328_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</A>; + <b>function</b> <span class="symbol"><a name="ref_328_16">Field_Opts</a></span> (<span class="symbol"><a name="ref_328_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>; <b>pragma</b> Import (C, Field_Opts, "field_opts"); <b>begin</b> - <A HREF="terminal_interface-curses-forms__ads.htm#ref_414_27">Options</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_328_16">Field_Opts</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_413_27">Fld</A>); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_413_14">Get_Options</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_337_13" HREF="terminal_interface-curses-forms__ads.htm#ref_418_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_337_26" HREF="terminal_interface-curses-forms__ads.htm#ref_418_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</A>) - <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</A> + <a href="terminal_interface-curses-forms__ads.htm#ref_414_27">Options</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_328_16">Field_Opts</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_413_27">Fld</a>); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_413_14">Get_Options</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>function</b> <span class="symbol"><a name="ref_337_13" href="terminal_interface-curses-forms__ads.htm#ref_418_13">Get_Options</a></span> (<span class="symbol"><a name="ref_337_26" href="terminal_interface-curses-forms__ads.htm#ref_418_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a>) + <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a> <b>is</b> - <span class="symbol"><A NAME="ref_340_7">Fos</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</A>; + <span class="symbol"><a name="ref_340_7">Fos</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>; <b>begin</b> - <A HREF="terminal_interface-curses-forms__ads.htm#ref_413_14">Get_Options</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_418_26">Fld</A>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_340_7">Fos</A>); - <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_340_7">Fos</A>; - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_418_13">Get_Options</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | man page form_field_attributes.3x</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_352_14" HREF="terminal_interface-curses-forms__ads.htm#ref_428_14">Set_Foreground</A></span> - (<span class="symbol"><A NAME="ref_353_7" HREF="terminal_interface-curses-forms__ads.htm#ref_429_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_354_7" HREF="terminal_interface-curses-forms__ads.htm#ref_430_7">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</A>; - <span class="symbol"><A NAME="ref_355_7" HREF="terminal_interface-curses-forms__ads.htm#ref_431_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'First) + <a href="terminal_interface-curses-forms__ads.htm#ref_413_14">Get_Options</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_418_26">Fld</a>, <a href="terminal_interface-curses-forms__adb.htm#ref_340_7">Fos</a>); + <b>return</b> <a href="terminal_interface-curses-forms__adb.htm#ref_340_7">Fos</a>; + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_418_13">Get_Options</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | man page form_field_attributes.3x</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_352_14" href="terminal_interface-curses-forms__ads.htm#ref_428_14">Set_Foreground</a></span> + (<span class="symbol"><a name="ref_353_7" href="terminal_interface-curses-forms__ads.htm#ref_429_7">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_354_7" href="terminal_interface-curses-forms__ads.htm#ref_430_7">Fore</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>; + <span class="symbol"><a name="ref_355_7" href="terminal_interface-curses-forms__ads.htm#ref_431_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_357_16">Set_Field_Fore</A></span> (<span class="symbol"><A NAME="ref_357_32" HREF="terminal_interface-curses-forms__adb.htm#ref_357_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_358_32" HREF="terminal_interface-curses-forms__adb.htm#ref_357_16">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_357_16">Set_Field_Fore</a></span> (<span class="symbol"><a name="ref_357_32">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_358_32">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Field_Fore, "set_field_fore"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_357_16">Set_Field_Fore</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_429_7">Fld</A>, (<A HREF="terminal_interface-curses__ads.htm#ref_492_10">Ch</A> => Character'First, - <A HREF="terminal_interface-curses__ads.htm#ref_491_10">Color</A> => <A HREF="terminal_interface-curses-forms__ads.htm#ref_431_7">Color</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A> => <A HREF="terminal_interface-curses-forms__ads.htm#ref_430_7">Fore</A>))); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_428_14">Set_Foreground</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_369_14" HREF="terminal_interface-curses-forms__ads.htm#ref_436_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_369_26" HREF="terminal_interface-curses-forms__ads.htm#ref_436_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_370_26" HREF="terminal_interface-curses-forms__ads.htm#ref_437_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A>) + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_357_16">Set_Field_Fore</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_429_7">Fld</a>, (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => Character'First, + <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses-forms__ads.htm#ref_431_7">Color</a>, + <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses-forms__ads.htm#ref_430_7">Fore</a>))); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_428_14">Set_Foreground</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_369_14" href="terminal_interface-curses-forms__ads.htm#ref_436_14">Foreground</a></span> (<span class="symbol"><a name="ref_369_26" href="terminal_interface-curses-forms__ads.htm#ref_436_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_370_26" href="terminal_interface-curses-forms__ads.htm#ref_437_26">Fore</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_372_16">Field_Fore</A></span> (<span class="symbol"><A NAME="ref_372_28" HREF="terminal_interface-curses-forms__adb.htm#ref_372_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; + <b>function</b> <span class="symbol"><a name="ref_372_16">Field_Fore</a></span> (<span class="symbol"><a name="ref_372_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; <b>pragma</b> Import (C, Field_Fore, "field_fore"); <b>begin</b> - <A HREF="terminal_interface-curses-forms__ads.htm#ref_437_26">Fore</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_372_16">Field_Fore</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_436_26">Fld</A>).<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A>; - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_436_14">Foreground</A>; + <a href="terminal_interface-curses-forms__ads.htm#ref_437_26">Fore</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_372_16">Field_Fore</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_436_26">Fld</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>; + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_436_14">Foreground</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_378_14" HREF="terminal_interface-curses-forms__ads.htm#ref_441_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_378_26" HREF="terminal_interface-curses-forms__ads.htm#ref_441_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_379_26" HREF="terminal_interface-curses-forms__ads.htm#ref_442_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A>; - <span class="symbol"><A NAME="ref_380_26" HREF="terminal_interface-curses-forms__ads.htm#ref_443_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>) + <b>procedure</b> <span class="symbol"><a name="ref_378_14" href="terminal_interface-curses-forms__ads.htm#ref_441_14">Foreground</a></span> (<span class="symbol"><a name="ref_378_26" href="terminal_interface-curses-forms__ads.htm#ref_441_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_379_26" href="terminal_interface-curses-forms__ads.htm#ref_442_26">Fore</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>; + <span class="symbol"><a name="ref_380_26" href="terminal_interface-curses-forms__ads.htm#ref_443_26">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_382_16">Field_Fore</A></span> (<span class="symbol"><A NAME="ref_382_28" HREF="terminal_interface-curses-forms__adb.htm#ref_382_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; + <b>function</b> <span class="symbol"><a name="ref_382_16">Field_Fore</a></span> (<span class="symbol"><a name="ref_382_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; <b>pragma</b> Import (C, Field_Fore, "field_fore"); <b>begin</b> - <A HREF="terminal_interface-curses-forms__ads.htm#ref_442_26">Fore</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_382_16">Field_Fore</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_441_26">Fld</A>).<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A>; - <A HREF="terminal_interface-curses-forms__ads.htm#ref_443_26">Color</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_382_16">Field_Fore</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_441_26">Fld</A>).<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Color</A>; - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_441_14">Foreground</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_391_14" HREF="terminal_interface-curses-forms__ads.htm#ref_448_14">Set_Background</A></span> - (<span class="symbol"><A NAME="ref_392_7" HREF="terminal_interface-curses-forms__ads.htm#ref_449_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_393_7" HREF="terminal_interface-curses-forms__ads.htm#ref_450_7">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</A>; - <span class="symbol"><A NAME="ref_394_7" HREF="terminal_interface-curses-forms__ads.htm#ref_451_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'First) + <a href="terminal_interface-curses-forms__ads.htm#ref_442_26">Fore</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_382_16">Field_Fore</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_441_26">Fld</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>; + <a href="terminal_interface-curses-forms__ads.htm#ref_443_26">Color</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_382_16">Field_Fore</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_441_26">Fld</a>).<a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a>; + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_441_14">Foreground</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_391_14" href="terminal_interface-curses-forms__ads.htm#ref_448_14">Set_Background</a></span> + (<span class="symbol"><a name="ref_392_7" href="terminal_interface-curses-forms__ads.htm#ref_449_7">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_393_7" href="terminal_interface-curses-forms__ads.htm#ref_450_7">Back</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>; + <span class="symbol"><a name="ref_394_7" href="terminal_interface-curses-forms__ads.htm#ref_451_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_396_16">Set_Field_Back</A></span> (<span class="symbol"><A NAME="ref_396_32" HREF="terminal_interface-curses-forms__adb.htm#ref_396_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_397_32" HREF="terminal_interface-curses-forms__adb.htm#ref_396_16">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_396_16">Set_Field_Back</a></span> (<span class="symbol"><a name="ref_396_32">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_397_32">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Field_Back, "set_field_back"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_396_16">Set_Field_Back</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_449_7">Fld</A>, (<A HREF="terminal_interface-curses__ads.htm#ref_492_10">Ch</A> => Character'First, - <A HREF="terminal_interface-curses__ads.htm#ref_491_10">Color</A> => <A HREF="terminal_interface-curses-forms__ads.htm#ref_451_7">Color</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A> => <A HREF="terminal_interface-curses-forms__ads.htm#ref_450_7">Back</A>))); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_448_14">Set_Background</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_408_14" HREF="terminal_interface-curses-forms__ads.htm#ref_456_14">Background</A></span> (<span class="symbol"><A NAME="ref_408_26" HREF="terminal_interface-curses-forms__ads.htm#ref_456_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_409_26" HREF="terminal_interface-curses-forms__ads.htm#ref_457_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A>) + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_396_16">Set_Field_Back</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_449_7">Fld</a>, (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => Character'First, + <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses-forms__ads.htm#ref_451_7">Color</a>, + <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses-forms__ads.htm#ref_450_7">Back</a>))); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_448_14">Set_Background</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_408_14" href="terminal_interface-curses-forms__ads.htm#ref_456_14">Background</a></span> (<span class="symbol"><a name="ref_408_26" href="terminal_interface-curses-forms__ads.htm#ref_456_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_409_26" href="terminal_interface-curses-forms__ads.htm#ref_457_26">Back</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_411_16">Field_Back</A></span> (<span class="symbol"><A NAME="ref_411_28" HREF="terminal_interface-curses-forms__adb.htm#ref_411_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; + <b>function</b> <span class="symbol"><a name="ref_411_16">Field_Back</a></span> (<span class="symbol"><a name="ref_411_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; <b>pragma</b> Import (C, Field_Back, "field_back"); <b>begin</b> - <A HREF="terminal_interface-curses-forms__ads.htm#ref_457_26">Back</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_411_16">Field_Back</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_456_26">Fld</A>).<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A>; - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_456_14">Background</A>; + <a href="terminal_interface-curses-forms__ads.htm#ref_457_26">Back</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_411_16">Field_Back</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_456_26">Fld</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>; + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_456_14">Background</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_417_14" HREF="terminal_interface-curses-forms__ads.htm#ref_461_14">Background</A></span> (<span class="symbol"><A NAME="ref_417_26" HREF="terminal_interface-curses-forms__ads.htm#ref_461_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_418_26" HREF="terminal_interface-curses-forms__ads.htm#ref_462_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A>; - <span class="symbol"><A NAME="ref_419_26" HREF="terminal_interface-curses-forms__ads.htm#ref_463_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>) + <b>procedure</b> <span class="symbol"><a name="ref_417_14" href="terminal_interface-curses-forms__ads.htm#ref_461_14">Background</a></span> (<span class="symbol"><a name="ref_417_26" href="terminal_interface-curses-forms__ads.htm#ref_461_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_418_26" href="terminal_interface-curses-forms__ads.htm#ref_462_26">Back</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>; + <span class="symbol"><a name="ref_419_26" href="terminal_interface-curses-forms__ads.htm#ref_463_26">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_421_16">Field_Back</A></span> (<span class="symbol"><A NAME="ref_421_28" HREF="terminal_interface-curses-forms__adb.htm#ref_421_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; + <b>function</b> <span class="symbol"><a name="ref_421_16">Field_Back</a></span> (<span class="symbol"><a name="ref_421_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; <b>pragma</b> Import (C, Field_Back, "field_back"); <b>begin</b> - <A HREF="terminal_interface-curses-forms__ads.htm#ref_462_26">Back</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_421_16">Field_Back</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_461_26">Fld</A>).<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A>; - <A HREF="terminal_interface-curses-forms__ads.htm#ref_463_26">Color</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_421_16">Field_Back</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_461_26">Fld</A>).<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Color</A>; - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_461_14">Background</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_430_14" HREF="terminal_interface-curses-forms__ads.htm#ref_468_14">Set_Pad_Character</A></span> (<span class="symbol"><A NAME="ref_430_33" HREF="terminal_interface-curses-forms__ads.htm#ref_468_33">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_431_33" HREF="terminal_interface-curses-forms__ads.htm#ref_469_33">Pad</A></span> : Character := Space) + <a href="terminal_interface-curses-forms__ads.htm#ref_462_26">Back</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_421_16">Field_Back</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_461_26">Fld</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>; + <a href="terminal_interface-curses-forms__ads.htm#ref_463_26">Color</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_421_16">Field_Back</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_461_26">Fld</a>).<a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a>; + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_461_14">Background</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_430_14" href="terminal_interface-curses-forms__ads.htm#ref_468_14">Set_Pad_Character</a></span> (<span class="symbol"><a name="ref_430_33" href="terminal_interface-curses-forms__ads.htm#ref_468_33">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_431_33" href="terminal_interface-curses-forms__ads.htm#ref_469_33">Pad</a></span> : Character := Space) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_433_16">Set_Field_Pad</A></span> (<span class="symbol"><A NAME="ref_433_31" HREF="terminal_interface-curses-forms__adb.htm#ref_433_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_434_31" HREF="terminal_interface-curses-forms__adb.htm#ref_433_16">Ch</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_433_16">Set_Field_Pad</a></span> (<span class="symbol"><a name="ref_433_31">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_434_31">Ch</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Field_Pad, "set_field_pad"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_433_16">Set_Field_Pad</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_468_33">Fld</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (Character'Pos (<A HREF="terminal_interface-curses-forms__ads.htm#ref_469_33">Pad</A>)))); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_468_14">Set_Pad_Character</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_444_14" HREF="terminal_interface-curses-forms__ads.htm#ref_474_14">Pad_Character</A></span> (<span class="symbol"><A NAME="ref_444_29" HREF="terminal_interface-curses-forms__ads.htm#ref_474_29">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_445_29" HREF="terminal_interface-curses-forms__ads.htm#ref_475_29">Pad</A></span> : <b>out</b> Character) + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_433_16">Set_Field_Pad</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_468_33">Fld</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (Character'Pos (<a href="terminal_interface-curses-forms__ads.htm#ref_469_33">Pad</a>)))); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_468_14">Set_Pad_Character</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_444_14" href="terminal_interface-curses-forms__ads.htm#ref_474_14">Pad_Character</a></span> (<span class="symbol"><a name="ref_444_29" href="terminal_interface-curses-forms__ads.htm#ref_474_29">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_445_29" href="terminal_interface-curses-forms__ads.htm#ref_475_29">Pad</a></span> : <b>out</b> Character) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_447_16">Field_Pad</A></span> (<span class="symbol"><A NAME="ref_447_27" HREF="terminal_interface-curses-forms__adb.htm#ref_447_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_447_16">Field_Pad</a></span> (<span class="symbol"><a name="ref_447_27">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Field_Pad, "field_pad"); <b>begin</b> - <A HREF="terminal_interface-curses-forms__ads.htm#ref_475_29">Pad</A> := Character'Val (<A HREF="terminal_interface-curses-forms__adb.htm#ref_447_16">Field_Pad</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_474_29">Fld</A>)); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_474_14">Pad_Character</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | man page form_field_info.3x</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_459_14" HREF="terminal_interface-curses-forms__ads.htm#ref_484_14">Info</A></span> (<span class="symbol"><A NAME="ref_459_20" HREF="terminal_interface-curses-forms__ads.htm#ref_484_20">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_460_20" HREF="terminal_interface-curses-forms__ads.htm#ref_485_20">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_461_20" HREF="terminal_interface-curses-forms__ads.htm#ref_486_20">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>; - <span class="symbol"><A NAME="ref_462_20" HREF="terminal_interface-curses-forms__ads.htm#ref_487_20">First_Row</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_463_20" HREF="terminal_interface-curses-forms__ads.htm#ref_488_20">First_Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_464_20" HREF="terminal_interface-curses-forms__ads.htm#ref_489_20">Off_Screen</A></span> : <b>out</b> Natural; - <span class="symbol"><A NAME="ref_465_20" HREF="terminal_interface-curses-forms__ads.htm#ref_490_20">Additional_Buffers</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A>) + <a href="terminal_interface-curses-forms__ads.htm#ref_475_29">Pad</a> := Character'Val (<a href="terminal_interface-curses-forms__adb.htm#ref_447_16">Field_Pad</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_474_29">Fld</a>)); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_474_14">Pad_Character</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | man page form_field_info.3x</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_459_14" href="terminal_interface-curses-forms__ads.htm#ref_484_14">Info</a></span> (<span class="symbol"><a name="ref_459_20" href="terminal_interface-curses-forms__ads.htm#ref_484_20">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_460_20" href="terminal_interface-curses-forms__ads.htm#ref_485_20">Lines</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_461_20" href="terminal_interface-curses-forms__ads.htm#ref_486_20">Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>; + <span class="symbol"><a name="ref_462_20" href="terminal_interface-curses-forms__ads.htm#ref_487_20">First_Row</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_463_20" href="terminal_interface-curses-forms__ads.htm#ref_488_20">First_Column</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_464_20" href="terminal_interface-curses-forms__ads.htm#ref_489_20">Off_Screen</a></span> : <b>out</b> Natural; + <span class="symbol"><a name="ref_465_20" href="terminal_interface-curses-forms__ads.htm#ref_490_20">Additional_Buffers</a></span> : <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>) <b>is</b> - <b>type</b> <span class="symbol"><A NAME="ref_467_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <b>function</b> <span class="symbol"><A NAME="ref_468_16">Fld_Info</A></span> (<span class="symbol"><A NAME="ref_468_26" HREF="terminal_interface-curses-forms__adb.htm#ref_468_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_469_26" HREF="terminal_interface-curses-forms__adb.htm#ref_468_16">L</A></span>, <span class="symbol"><A NAME="ref_469_29" HREF="terminal_interface-curses-forms__adb.htm#ref_468_16">C</A></span>, <span class="symbol"><A NAME="ref_469_32" HREF="terminal_interface-curses-forms__adb.htm#ref_468_16">Fr</A></span>, <span class="symbol"><A NAME="ref_469_36" HREF="terminal_interface-curses-forms__adb.htm#ref_468_16">Fc</A></span>, <span class="symbol"><A NAME="ref_469_40" HREF="terminal_interface-curses-forms__adb.htm#ref_468_16">Os</A></span>, <span class="symbol"><A NAME="ref_469_44" HREF="terminal_interface-curses-forms__adb.htm#ref_468_16">Ab</A></span> : <A HREF="terminal_interface-curses-forms__adb.htm#ref_467_12">C_Int_Access</A>) - <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>type</b> <span class="symbol"><a name="ref_467_12">C_Int_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <b>function</b> <span class="symbol"><a name="ref_468_16">Fld_Info</a></span> (<span class="symbol"><a name="ref_468_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_469_26">L</a></span>, <span class="symbol"><a name="ref_469_29">C</a></span>, <span class="symbol"><a name="ref_469_32">Fr</a></span>, <span class="symbol"><a name="ref_469_36">Fc</a></span>, <span class="symbol"><a name="ref_469_40">Os</a></span>, <span class="symbol"><a name="ref_469_44">Ab</a></span> : <a href="terminal_interface-curses-forms__adb.htm#ref_467_12">C_Int_Access</a>) + <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Fld_Info, "field_info"); - <span class="symbol"><A NAME="ref_473_7">L</A></span>, <span class="symbol"><A NAME="ref_473_10">C</A></span>, <span class="symbol"><A NAME="ref_473_13">Fr</A></span>, <span class="symbol"><A NAME="ref_473_17">Fc</A></span>, <span class="symbol"><A NAME="ref_473_21">Os</A></span>, <span class="symbol"><A NAME="ref_473_25">Ab</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <span class="symbol"><a name="ref_473_7">L</a></span>, <span class="symbol"><a name="ref_473_10">C</a></span>, <span class="symbol"><a name="ref_473_13">Fr</a></span>, <span class="symbol"><a name="ref_473_17">Fc</a></span>, <span class="symbol"><a name="ref_473_21">Os</a></span>, <span class="symbol"><a name="ref_473_25">Ab</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_468_16">Fld_Info</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_484_20">Fld</A>, - <A HREF="terminal_interface-curses-forms__adb.htm#ref_473_7">L</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_473_10">C</A>'<b>Access</b>, - <A HREF="terminal_interface-curses-forms__adb.htm#ref_473_13">Fr</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_473_17">Fc</A>'<b>Access</b>, - <A HREF="terminal_interface-curses-forms__adb.htm#ref_473_21">Os</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_473_25">Ab</A>'<b>Access</b>)); - <A HREF="terminal_interface-curses-forms__ads.htm#ref_485_20">Lines</A> := <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_473_7">L</A>); - <A HREF="terminal_interface-curses-forms__ads.htm#ref_486_20">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_473_10">C</A>); - <A HREF="terminal_interface-curses-forms__ads.htm#ref_487_20">First_Row</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_473_13">Fr</A>); - <A HREF="terminal_interface-curses-forms__ads.htm#ref_488_20">First_Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_473_17">Fc</A>); - <A HREF="terminal_interface-curses-forms__ads.htm#ref_489_20">Off_Screen</A> := Natural (<A HREF="terminal_interface-curses-forms__adb.htm#ref_473_21">Os</A>); - <A HREF="terminal_interface-curses-forms__ads.htm#ref_490_20">Additional_Buffers</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_473_25">Ab</A>); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_484_14">Info</A>; -<span class="comment"><EM>-- |</EM></span> -<span class="comment"><EM>-- |</EM></span> -<span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_489_14" HREF="terminal_interface-curses-forms__ads.htm#ref_495_14">Dynamic_Info</A></span> (<span class="symbol"><A NAME="ref_489_28" HREF="terminal_interface-curses-forms__ads.htm#ref_495_28">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_490_28" HREF="terminal_interface-curses-forms__ads.htm#ref_496_28">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_491_28" HREF="terminal_interface-curses-forms__ads.htm#ref_497_28">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>; - <span class="symbol"><A NAME="ref_492_28" HREF="terminal_interface-curses-forms__ads.htm#ref_498_28">Max</A></span> : <b>out</b> Natural) + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_468_16">Fld_Info</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_484_20">Fld</a>, + <a href="terminal_interface-curses-forms__adb.htm#ref_473_7">L</a>'<b>Access</b>, <a href="terminal_interface-curses-forms__adb.htm#ref_473_10">C</a>'<b>Access</b>, + <a href="terminal_interface-curses-forms__adb.htm#ref_473_13">Fr</a>'<b>Access</b>, <a href="terminal_interface-curses-forms__adb.htm#ref_473_17">Fc</a>'<b>Access</b>, + <a href="terminal_interface-curses-forms__adb.htm#ref_473_21">Os</a>'<b>Access</b>, <a href="terminal_interface-curses-forms__adb.htm#ref_473_25">Ab</a>'<b>Access</b>)); + <a href="terminal_interface-curses-forms__ads.htm#ref_485_20">Lines</a> := <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_473_7">L</a>); + <a href="terminal_interface-curses-forms__ads.htm#ref_486_20">Columns</a> := <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_473_10">C</a>); + <a href="terminal_interface-curses-forms__ads.htm#ref_487_20">First_Row</a> := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_473_13">Fr</a>); + <a href="terminal_interface-curses-forms__ads.htm#ref_488_20">First_Column</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_473_17">Fc</a>); + <a href="terminal_interface-curses-forms__ads.htm#ref_489_20">Off_Screen</a> := Natural (<a href="terminal_interface-curses-forms__adb.htm#ref_473_21">Os</a>); + <a href="terminal_interface-curses-forms__ads.htm#ref_490_20">Additional_Buffers</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_473_25">Ab</a>); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_484_14">Info</a>; +<span class="comment"><em>-- |</em></span> +<span class="comment"><em>-- |</em></span> +<span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_489_14" href="terminal_interface-curses-forms__ads.htm#ref_495_14">Dynamic_Info</a></span> (<span class="symbol"><a name="ref_489_28" href="terminal_interface-curses-forms__ads.htm#ref_495_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_490_28" href="terminal_interface-curses-forms__ads.htm#ref_496_28">Lines</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_491_28" href="terminal_interface-curses-forms__ads.htm#ref_497_28">Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>; + <span class="symbol"><a name="ref_492_28" href="terminal_interface-curses-forms__ads.htm#ref_498_28">Max</a></span> : <b>out</b> Natural) <b>is</b> - <b>type</b> <span class="symbol"><A NAME="ref_494_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <b>function</b> <span class="symbol"><A NAME="ref_495_16">Dyn_Info</A></span> (<span class="symbol"><A NAME="ref_495_26" HREF="terminal_interface-curses-forms__adb.htm#ref_495_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; <span class="symbol"><A NAME="ref_495_39" HREF="terminal_interface-curses-forms__adb.htm#ref_495_16">L</A></span>, <span class="symbol"><A NAME="ref_495_42" HREF="terminal_interface-curses-forms__adb.htm#ref_495_16">C</A></span>, <span class="symbol"><A NAME="ref_495_45" HREF="terminal_interface-curses-forms__adb.htm#ref_495_16">M</A></span> : <A HREF="terminal_interface-curses-forms__adb.htm#ref_494_12">C_Int_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>type</b> <span class="symbol"><a name="ref_494_12">C_Int_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <b>function</b> <span class="symbol"><a name="ref_495_16">Dyn_Info</a></span> (<span class="symbol"><a name="ref_495_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; <span class="symbol"><a name="ref_495_39">L</a></span>, <span class="symbol"><a name="ref_495_42">C</a></span>, <span class="symbol"><a name="ref_495_45">M</a></span> : <a href="terminal_interface-curses-forms__adb.htm#ref_494_12">C_Int_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Dyn_Info, "dynamic_field_info"); - <span class="symbol"><A NAME="ref_498_7">L</A></span>, <span class="symbol"><A NAME="ref_498_10">C</A></span>, <span class="symbol"><A NAME="ref_498_13">M</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <span class="symbol"><a name="ref_498_7">L</a></span>, <span class="symbol"><a name="ref_498_10">C</a></span>, <span class="symbol"><a name="ref_498_13">M</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_495_16">Dyn_Info</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_495_28">Fld</A>, - <A HREF="terminal_interface-curses-forms__adb.htm#ref_498_7">L</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_498_10">C</A>'<b>Access</b>, - <A HREF="terminal_interface-curses-forms__adb.htm#ref_498_13">M</A>'<b>Access</b>)); - <A HREF="terminal_interface-curses-forms__ads.htm#ref_496_28">Lines</A> := <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_498_7">L</A>); - <A HREF="terminal_interface-curses-forms__ads.htm#ref_497_28">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_498_10">C</A>); - <A HREF="terminal_interface-curses-forms__ads.htm#ref_498_28">Max</A> := Natural (<A HREF="terminal_interface-curses-forms__adb.htm#ref_498_13">M</A>); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_495_14">Dynamic_Info</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | man page form_win.3x</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_514_14" HREF="terminal_interface-curses-forms__ads.htm#ref_507_14">Set_Window</A></span> (<span class="symbol"><A NAME="ref_514_26" HREF="terminal_interface-curses-forms__ads.htm#ref_507_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_515_26" HREF="terminal_interface-curses-forms__ads.htm#ref_508_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_495_16">Dyn_Info</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_495_28">Fld</a>, + <a href="terminal_interface-curses-forms__adb.htm#ref_498_7">L</a>'<b>Access</b>, <a href="terminal_interface-curses-forms__adb.htm#ref_498_10">C</a>'<b>Access</b>, + <a href="terminal_interface-curses-forms__adb.htm#ref_498_13">M</a>'<b>Access</b>)); + <a href="terminal_interface-curses-forms__ads.htm#ref_496_28">Lines</a> := <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_498_7">L</a>); + <a href="terminal_interface-curses-forms__ads.htm#ref_497_28">Columns</a> := <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_498_10">C</a>); + <a href="terminal_interface-curses-forms__ads.htm#ref_498_28">Max</a> := Natural (<a href="terminal_interface-curses-forms__adb.htm#ref_498_13">M</a>); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_495_14">Dynamic_Info</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | man page form_win.3x</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_514_14" href="terminal_interface-curses-forms__ads.htm#ref_507_14">Set_Window</a></span> (<span class="symbol"><a name="ref_514_26" href="terminal_interface-curses-forms__ads.htm#ref_507_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_515_26" href="terminal_interface-curses-forms__ads.htm#ref_508_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_517_16">Set_Form_Win</A></span> (<span class="symbol"><A NAME="ref_517_30" HREF="terminal_interface-curses-forms__adb.htm#ref_517_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_518_30" HREF="terminal_interface-curses-forms__adb.htm#ref_517_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_517_16">Set_Form_Win</a></span> (<span class="symbol"><a name="ref_517_30">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_518_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Form_Win, "set_form_win"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_517_16">Set_Form_Win</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_507_26">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_508_26">Win</A>)); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_507_14">Set_Window</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_527_13" HREF="terminal_interface-curses-forms__ads.htm#ref_513_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_527_25" HREF="terminal_interface-curses-forms__ads.htm#ref_513_25">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_517_16">Set_Form_Win</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_507_26">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_508_26">Win</a>)); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_507_14">Set_Window</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>function</b> <span class="symbol"><a name="ref_527_13" href="terminal_interface-curses-forms__ads.htm#ref_513_13">Get_Window</a></span> (<span class="symbol"><a name="ref_527_25" href="terminal_interface-curses-forms__ads.htm#ref_513_25">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_529_16">Form_Win</A></span> (<span class="symbol"><A NAME="ref_529_26" HREF="terminal_interface-curses-forms__adb.htm#ref_529_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; + <b>function</b> <span class="symbol"><a name="ref_529_16">Form_Win</a></span> (<span class="symbol"><a name="ref_529_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <b>pragma</b> Import (C, Form_Win, "form_win"); - <span class="symbol"><A NAME="ref_532_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_529_16">Form_Win</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_513_25">Frm</A>); + <span class="symbol"><a name="ref_532_7">W</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_529_16">Form_Win</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_513_25">Frm</a>); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_532_7">W</A>; - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_513_13">Get_Window</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_539_14" HREF="terminal_interface-curses-forms__ads.htm#ref_518_14">Set_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_539_30" HREF="terminal_interface-curses-forms__ads.htm#ref_518_30">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_540_30" HREF="terminal_interface-curses-forms__ads.htm#ref_519_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) + <b>return</b> <a href="terminal_interface-curses-forms__adb.htm#ref_532_7">W</a>; + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_513_13">Get_Window</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_539_14" href="terminal_interface-curses-forms__ads.htm#ref_518_14">Set_Sub_Window</a></span> (<span class="symbol"><a name="ref_539_30" href="terminal_interface-curses-forms__ads.htm#ref_518_30">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_540_30" href="terminal_interface-curses-forms__ads.htm#ref_519_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_542_16">Set_Form_Sub</A></span> (<span class="symbol"><A NAME="ref_542_30" HREF="terminal_interface-curses-forms__adb.htm#ref_542_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_543_30" HREF="terminal_interface-curses-forms__adb.htm#ref_542_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_542_16">Set_Form_Sub</a></span> (<span class="symbol"><a name="ref_542_30">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_543_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Form_Sub, "set_form_sub"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_542_16">Set_Form_Sub</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_518_30">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_519_30">Win</A>)); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_518_14">Set_Sub_Window</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_552_13" HREF="terminal_interface-curses-forms__ads.htm#ref_524_13">Get_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_552_29" HREF="terminal_interface-curses-forms__ads.htm#ref_524_29">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_542_16">Set_Form_Sub</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_518_30">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_519_30">Win</a>)); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_518_14">Set_Sub_Window</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>function</b> <span class="symbol"><a name="ref_552_13" href="terminal_interface-curses-forms__ads.htm#ref_524_13">Get_Sub_Window</a></span> (<span class="symbol"><a name="ref_552_29" href="terminal_interface-curses-forms__ads.htm#ref_524_29">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_554_16">Form_Sub</A></span> (<span class="symbol"><A NAME="ref_554_26" HREF="terminal_interface-curses-forms__adb.htm#ref_554_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; + <b>function</b> <span class="symbol"><a name="ref_554_16">Form_Sub</a></span> (<span class="symbol"><a name="ref_554_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <b>pragma</b> Import (C, Form_Sub, "form_sub"); - <span class="symbol"><A NAME="ref_557_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_554_16">Form_Sub</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_524_29">Frm</A>); + <span class="symbol"><a name="ref_557_7">W</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_554_16">Form_Sub</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_524_29">Frm</a>); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_557_7">W</A>; - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_524_13">Get_Sub_Window</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_564_14" HREF="terminal_interface-curses-forms__ads.htm#ref_529_14">Scale</A></span> (<span class="symbol"><A NAME="ref_564_21" HREF="terminal_interface-curses-forms__ads.htm#ref_529_21">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_565_21" HREF="terminal_interface-curses-forms__ads.htm#ref_530_21">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_566_21" HREF="terminal_interface-curses-forms__ads.htm#ref_531_21">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>) + <b>return</b> <a href="terminal_interface-curses-forms__adb.htm#ref_557_7">W</a>; + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_524_13">Get_Sub_Window</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_564_14" href="terminal_interface-curses-forms__ads.htm#ref_529_14">Scale</a></span> (<span class="symbol"><a name="ref_564_21" href="terminal_interface-curses-forms__ads.htm#ref_529_21">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_565_21" href="terminal_interface-curses-forms__ads.htm#ref_530_21">Lines</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_566_21" href="terminal_interface-curses-forms__ads.htm#ref_531_21">Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>) <b>is</b> - <b>type</b> <span class="symbol"><A NAME="ref_568_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <b>function</b> <span class="symbol"><A NAME="ref_569_16">M_Scale</A></span> (<span class="symbol"><A NAME="ref_569_25" HREF="terminal_interface-curses-forms__adb.htm#ref_569_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; <span class="symbol"><A NAME="ref_569_37" HREF="terminal_interface-curses-forms__adb.htm#ref_569_16">Yp</A></span>, <span class="symbol"><A NAME="ref_569_41" HREF="terminal_interface-curses-forms__adb.htm#ref_569_16">Xp</A></span> : <A HREF="terminal_interface-curses-forms__adb.htm#ref_568_12">C_Int_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>type</b> <span class="symbol"><a name="ref_568_12">C_Int_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <b>function</b> <span class="symbol"><a name="ref_569_16">M_Scale</a></span> (<span class="symbol"><a name="ref_569_25">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; <span class="symbol"><a name="ref_569_37">Yp</a></span>, <span class="symbol"><a name="ref_569_41">Xp</a></span> : <a href="terminal_interface-curses-forms__adb.htm#ref_568_12">C_Int_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, M_Scale, "scale_form"); - <span class="symbol"><A NAME="ref_572_7">X</A></span>, <span class="symbol"><A NAME="ref_572_10">Y</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <span class="symbol"><a name="ref_572_7">X</a></span>, <span class="symbol"><a name="ref_572_10">Y</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_569_16">M_Scale</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_529_21">Frm</A>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_572_10">Y</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_572_7">X</A>'<b>Access</b>)); - <A HREF="terminal_interface-curses-forms__ads.htm#ref_530_21">Lines</A> := <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_572_10">Y</A>); - <A HREF="terminal_interface-curses-forms__ads.htm#ref_531_21">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_572_7">X</A>); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_529_14">Scale</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | man page menu_hook.3x</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_585_14" HREF="terminal_interface-curses-forms__ads.htm#ref_543_14">Set_Field_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_585_35" HREF="terminal_interface-curses-forms__ads.htm#ref_543_35">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_586_35" HREF="terminal_interface-curses-forms__ads.htm#ref_544_35">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>) + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_569_16">M_Scale</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_529_21">Frm</a>, <a href="terminal_interface-curses-forms__adb.htm#ref_572_10">Y</a>'<b>Access</b>, <a href="terminal_interface-curses-forms__adb.htm#ref_572_7">X</a>'<b>Access</b>)); + <a href="terminal_interface-curses-forms__ads.htm#ref_530_21">Lines</a> := <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_572_10">Y</a>); + <a href="terminal_interface-curses-forms__ads.htm#ref_531_21">Columns</a> := <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_572_7">X</a>); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_529_14">Scale</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | man page menu_hook.3x</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_585_14" href="terminal_interface-curses-forms__ads.htm#ref_543_14">Set_Field_Init_Hook</a></span> (<span class="symbol"><a name="ref_585_35" href="terminal_interface-curses-forms__ads.htm#ref_543_35">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_586_35" href="terminal_interface-curses-forms__ads.htm#ref_544_35">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_588_16">Set_Field_Init</A></span> (<span class="symbol"><A NAME="ref_588_32" HREF="terminal_interface-curses-forms__adb.htm#ref_588_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_589_32" HREF="terminal_interface-curses-forms__adb.htm#ref_588_16">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_588_16">Set_Field_Init</a></span> (<span class="symbol"><a name="ref_588_32">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_589_32">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Field_Init, "set_field_init"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_588_16">Set_Field_Init</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_543_35">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_544_35">Proc</A>)); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_543_14">Set_Field_Init_Hook</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_598_14" HREF="terminal_interface-curses-forms__ads.htm#ref_549_14">Set_Field_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_598_35" HREF="terminal_interface-curses-forms__ads.htm#ref_549_35">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_599_35" HREF="terminal_interface-curses-forms__ads.htm#ref_550_35">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>) + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_588_16">Set_Field_Init</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_543_35">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_544_35">Proc</a>)); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_543_14">Set_Field_Init_Hook</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_598_14" href="terminal_interface-curses-forms__ads.htm#ref_549_14">Set_Field_Term_Hook</a></span> (<span class="symbol"><a name="ref_598_35" href="terminal_interface-curses-forms__ads.htm#ref_549_35">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_599_35" href="terminal_interface-curses-forms__ads.htm#ref_550_35">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_601_16">Set_Field_Term</A></span> (<span class="symbol"><A NAME="ref_601_32" HREF="terminal_interface-curses-forms__adb.htm#ref_601_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_602_32" HREF="terminal_interface-curses-forms__adb.htm#ref_601_16">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_601_16">Set_Field_Term</a></span> (<span class="symbol"><a name="ref_601_32">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_602_32">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Field_Term, "set_field_term"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_601_16">Set_Field_Term</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_549_35">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_550_35">Proc</A>)); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_549_14">Set_Field_Term_Hook</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_611_14" HREF="terminal_interface-curses-forms__ads.htm#ref_555_14">Set_Form_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_611_34" HREF="terminal_interface-curses-forms__ads.htm#ref_555_34">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_612_34" HREF="terminal_interface-curses-forms__ads.htm#ref_556_34">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>) + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_601_16">Set_Field_Term</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_549_35">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_550_35">Proc</a>)); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_549_14">Set_Field_Term_Hook</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_611_14" href="terminal_interface-curses-forms__ads.htm#ref_555_14">Set_Form_Init_Hook</a></span> (<span class="symbol"><a name="ref_611_34" href="terminal_interface-curses-forms__ads.htm#ref_555_34">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_612_34" href="terminal_interface-curses-forms__ads.htm#ref_556_34">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_614_16">Set_Form_Init</A></span> (<span class="symbol"><A NAME="ref_614_31" HREF="terminal_interface-curses-forms__adb.htm#ref_614_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_615_31" HREF="terminal_interface-curses-forms__adb.htm#ref_614_16">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_614_16">Set_Form_Init</a></span> (<span class="symbol"><a name="ref_614_31">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_615_31">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Form_Init, "set_form_init"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_614_16">Set_Form_Init</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_555_34">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_556_34">Proc</A>)); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_555_14">Set_Form_Init_Hook</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_624_14" HREF="terminal_interface-curses-forms__ads.htm#ref_561_14">Set_Form_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_624_34" HREF="terminal_interface-curses-forms__ads.htm#ref_561_34">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_625_34" HREF="terminal_interface-curses-forms__ads.htm#ref_562_34">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>) + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_614_16">Set_Form_Init</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_555_34">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_556_34">Proc</a>)); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_555_14">Set_Form_Init_Hook</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_624_14" href="terminal_interface-curses-forms__ads.htm#ref_561_14">Set_Form_Term_Hook</a></span> (<span class="symbol"><a name="ref_624_34" href="terminal_interface-curses-forms__ads.htm#ref_561_34">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_625_34" href="terminal_interface-curses-forms__ads.htm#ref_562_34">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_627_16">Set_Form_Term</A></span> (<span class="symbol"><A NAME="ref_627_31" HREF="terminal_interface-curses-forms__adb.htm#ref_627_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_628_31" HREF="terminal_interface-curses-forms__adb.htm#ref_627_16">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_627_16">Set_Form_Term</a></span> (<span class="symbol"><a name="ref_627_31">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_628_31">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Form_Term, "set_form_term"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_627_16">Set_Form_Term</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_561_34">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_562_34">Proc</A>)); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_561_14">Set_Form_Term_Hook</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | man page form_fields.3x</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_641_14" HREF="terminal_interface-curses-forms__ads.htm#ref_591_14">Redefine</A></span> (<span class="symbol"><A NAME="ref_641_24" HREF="terminal_interface-curses-forms__ads.htm#ref_591_24">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_642_24" HREF="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</A>) + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_627_16">Set_Form_Term</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_561_34">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_562_34">Proc</a>)); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_561_14">Set_Form_Term_Hook</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | man page form_fields.3x</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_641_14" href="terminal_interface-curses-forms__ads.htm#ref_591_14">Redefine</a></span> (<span class="symbol"><a name="ref_641_24" href="terminal_interface-curses-forms__ads.htm#ref_591_24">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_642_24" href="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_644_16">Set_Frm_Fields</A></span> (<span class="symbol"><A NAME="ref_644_32" HREF="terminal_interface-curses-forms__adb.htm#ref_644_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_645_32" HREF="terminal_interface-curses-forms__adb.htm#ref_644_16">Items</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_644_16">Set_Frm_Fields</a></span> (<span class="symbol"><a name="ref_644_32">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_645_32">Items</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Frm_Fields, "set_form_fields"); <b>begin</b> - <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</A>'Last) = <A HREF="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</A>); - <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</A>'Last) /= <A HREF="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>; + <b>pragma</b> Assert (<a href="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</a>.<b>all</b> (<a href="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</a>'Last) = <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a>); + <b>if</b> <a href="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</a>.<b>all</b> (<a href="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</a>'Last) /= <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>; <b>else</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_644_16">Set_Frm_Fields</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_591_24">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</A>'First)'Address)); + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_644_16">Set_Frm_Fields</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_591_24">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</a>.<b>all</b> (<a href="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</a>'First)'Address)); <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_591_14">Redefine</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_659_13" HREF="terminal_interface-curses-forms__ads.htm#ref_603_13">Fields</A></span> (<span class="symbol"><A NAME="ref_659_21" HREF="terminal_interface-curses-forms__ads.htm#ref_603_21">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_660_21" HREF="terminal_interface-curses-forms__ads.htm#ref_604_21">Index</A></span> : Positive) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A> + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_591_14">Redefine</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>function</b> <span class="symbol"><a name="ref_659_13" href="terminal_interface-curses-forms__ads.htm#ref_603_13">Fields</a></span> (<span class="symbol"><a name="ref_659_21" href="terminal_interface-curses-forms__ads.htm#ref_603_21">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_660_21" href="terminal_interface-curses-forms__ads.htm#ref_604_21">Index</a></span> : Positive) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> <b>is</b> <b>use</b> F_Array; - <b>function</b> C_Fields (<span class="symbol"><A NAME="ref_664_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> Pointer; + <b>function</b> C_Fields (<span class="symbol"><a name="ref_664_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> Pointer; <b>pragma</b> Import (C, C_Fields, "form_fields"); - P : Pointer := C_Fields (<A HREF="terminal_interface-curses-forms__ads.htm#ref_603_21">Frm</A>); + P : Pointer := C_Fields (<a href="terminal_interface-curses-forms__ads.htm#ref_603_21">Frm</a>); <b>begin</b> - <b>if</b> P = <b>null</b> <b>or</b> <b>else</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_604_21">Index</A> > <A HREF="terminal_interface-curses-forms__ads.htm#ref_609_13">Field_Count</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_603_21">Frm</A>) <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>; + <b>if</b> P = <b>null</b> <b>or</b> <b>else</b> <a href="terminal_interface-curses-forms__ads.htm#ref_604_21">Index</a> > <a href="terminal_interface-curses-forms__ads.htm#ref_609_13">Field_Count</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_603_21">Frm</a>) <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>; <b>else</b> - P := P + ptrdiff_t (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_604_21">Index</A>) - 1); + P := P + ptrdiff_t (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_604_21">Index</a>) - 1); <b>return</b> P.<b>all</b>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_603_13">Fields</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_679_13" HREF="terminal_interface-curses-forms__ads.htm#ref_609_13">Field_Count</A></span> (<span class="symbol"><A NAME="ref_679_26" HREF="terminal_interface-curses-forms__ads.htm#ref_609_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> Natural + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_603_13">Fields</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>function</b> <span class="symbol"><a name="ref_679_13" href="terminal_interface-curses-forms__ads.htm#ref_609_13">Field_Count</a></span> (<span class="symbol"><a name="ref_679_26" href="terminal_interface-curses-forms__ads.htm#ref_609_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> Natural <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_681_16">Count</A></span> (<span class="symbol"><A NAME="ref_681_23" HREF="terminal_interface-curses-forms__adb.htm#ref_681_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_681_16">Count</a></span> (<span class="symbol"><a name="ref_681_23">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Count, "field_count"); <b>begin</b> - <b>return</b> Natural (<A HREF="terminal_interface-curses-forms__adb.htm#ref_681_16">Count</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_609_26">Frm</A>)); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_609_13">Field_Count</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_689_14" HREF="terminal_interface-curses-forms__ads.htm#ref_614_14">Move</A></span> (<span class="symbol"><A NAME="ref_689_20" HREF="terminal_interface-curses-forms__ads.htm#ref_614_20">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_690_20" HREF="terminal_interface-curses-forms__ads.htm#ref_615_20">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_691_20" HREF="terminal_interface-curses-forms__ads.htm#ref_616_20">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>) + <b>return</b> Natural (<a href="terminal_interface-curses-forms__adb.htm#ref_681_16">Count</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_609_26">Frm</a>)); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_609_13">Field_Count</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_689_14" href="terminal_interface-curses-forms__ads.htm#ref_614_14">Move</a></span> (<span class="symbol"><a name="ref_689_20" href="terminal_interface-curses-forms__ads.htm#ref_614_20">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_690_20" href="terminal_interface-curses-forms__ads.htm#ref_615_20">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_691_20" href="terminal_interface-curses-forms__ads.htm#ref_616_20">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_693_16">Move</A></span> (<span class="symbol"><A NAME="ref_693_22" HREF="terminal_interface-curses-forms__adb.htm#ref_693_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; <span class="symbol"><A NAME="ref_693_35" HREF="terminal_interface-curses-forms__adb.htm#ref_693_16">L</A></span>, <span class="symbol"><A NAME="ref_693_38" HREF="terminal_interface-curses-forms__adb.htm#ref_693_16">C</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_693_16">Move</a></span> (<span class="symbol"><a name="ref_693_22">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; <span class="symbol"><a name="ref_693_35">L</a></span>, <span class="symbol"><a name="ref_693_38">C</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Move, "move_field"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_693_16">Move</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_614_20">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_615_20">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_616_20">Column</A>))); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_614_14">Move</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | man page form_new.3x</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_706_13" HREF="terminal_interface-curses-forms__ads.htm#ref_625_13">Create</A></span> (<span class="symbol"><A NAME="ref_706_21" HREF="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A> + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_693_16">Move</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_614_20">Fld</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_615_20">Line</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_616_20">Column</a>))); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_614_14">Move</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | man page form_new.3x</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>function</b> <span class="symbol"><a name="ref_706_13" href="terminal_interface-curses-forms__ads.htm#ref_625_13">Create</a></span> (<span class="symbol"><a name="ref_706_21" href="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_708_16">NewForm</A></span> (<span class="symbol"><A NAME="ref_708_25" HREF="terminal_interface-curses-forms__adb.htm#ref_708_16">Fields</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; + <b>function</b> <span class="symbol"><a name="ref_708_16">NewForm</a></span> (<span class="symbol"><a name="ref_708_25">Fields</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; <b>pragma</b> Import (C, NewForm, "new_form"); - <span class="symbol"><A NAME="ref_711_7">M</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; + <span class="symbol"><a name="ref_711_7">M</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; <b>begin</b> - <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</A>'Last) = <A HREF="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</A>); - <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</A>'Last) /= <A HREF="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>; + <b>pragma</b> Assert (<a href="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</a>.<b>all</b> (<a href="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</a>'Last) = <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a>); + <b>if</b> <a href="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</a>.<b>all</b> (<a href="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</a>'Last) /= <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>; <b>else</b> - <A HREF="terminal_interface-curses-forms__adb.htm#ref_711_7">M</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_708_16">NewForm</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</A>'First)'Address); - <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_711_7">M</A> = <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_4">Null_Form</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>; + <a href="terminal_interface-curses-forms__adb.htm#ref_711_7">M</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_708_16">NewForm</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</a>.<b>all</b> (<a href="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</a>'First)'Address); + <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_711_7">M</a> = <a href="terminal_interface-curses-forms__ads.htm#ref_56_4">Null_Form</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>; <b>end</b> <b>if</b>; - <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_711_7">M</A>; + <b>return</b> <a href="terminal_interface-curses-forms__adb.htm#ref_711_7">M</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_625_13">Create</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_727_14" HREF="terminal_interface-curses-forms__ads.htm#ref_636_14">Delete</A></span> (<span class="symbol"><A NAME="ref_727_22" HREF="terminal_interface-curses-forms__ads.htm#ref_636_22">Frm</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_625_13">Create</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_727_14" href="terminal_interface-curses-forms__ads.htm#ref_636_14">Delete</a></span> (<span class="symbol"><a name="ref_727_22" href="terminal_interface-curses-forms__ads.htm#ref_636_22">Frm</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_729_16">Free</A></span> (<span class="symbol"><A NAME="ref_729_22" HREF="terminal_interface-curses-forms__adb.htm#ref_729_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_729_16">Free</a></span> (<span class="symbol"><a name="ref_729_22">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Free, "free_form"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_729_16">Free</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_636_22">Frm</A>)); - <A HREF="terminal_interface-curses-forms__ads.htm#ref_636_22">Frm</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_4">Null_Form</A>; - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_636_14">Delete</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | man page form_opts.3x</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_743_14" HREF="terminal_interface-curses-forms__ads.htm#ref_646_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_743_27" HREF="terminal_interface-curses-forms__ads.htm#ref_646_27">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_744_27" HREF="terminal_interface-curses-forms__ads.htm#ref_647_27">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</A>) + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_729_16">Free</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_636_22">Frm</a>)); + <a href="terminal_interface-curses-forms__ads.htm#ref_636_22">Frm</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_56_4">Null_Form</a>; + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_636_14">Delete</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | man page form_opts.3x</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_743_14" href="terminal_interface-curses-forms__ads.htm#ref_646_14">Set_Options</a></span> (<span class="symbol"><a name="ref_743_27" href="terminal_interface-curses-forms__ads.htm#ref_646_27">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_744_27" href="terminal_interface-curses-forms__ads.htm#ref_647_27">Options</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_746_16">Set_Form_Opts</A></span> (<span class="symbol"><A NAME="ref_746_31" HREF="terminal_interface-curses-forms__adb.htm#ref_746_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_747_31" HREF="terminal_interface-curses-forms__adb.htm#ref_746_16">Opt</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_746_16">Set_Form_Opts</a></span> (<span class="symbol"><a name="ref_746_31">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_747_31">Opt</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Form_Opts, "set_form_opts"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_746_16">Set_Form_Opts</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_646_27">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_647_27">Options</A>)); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_646_14">Set_Options</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_756_14" HREF="terminal_interface-curses-forms__ads.htm#ref_652_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_756_30" HREF="terminal_interface-curses-forms__ads.htm#ref_652_30">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_757_30" HREF="terminal_interface-curses-forms__ads.htm#ref_653_30">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</A>; - <span class="symbol"><A NAME="ref_758_30" HREF="terminal_interface-curses-forms__ads.htm#ref_654_30">On</A></span> : Boolean := True) + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_746_16">Set_Form_Opts</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_646_27">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_647_27">Options</a>)); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_646_14">Set_Options</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_756_14" href="terminal_interface-curses-forms__ads.htm#ref_652_14">Switch_Options</a></span> (<span class="symbol"><a name="ref_756_30" href="terminal_interface-curses-forms__ads.htm#ref_652_30">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_757_30" href="terminal_interface-curses-forms__ads.htm#ref_653_30">Options</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>; + <span class="symbol"><a name="ref_758_30" href="terminal_interface-curses-forms__ads.htm#ref_654_30">On</a></span> : Boolean := True) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_760_16">Form_Opts_On</A></span> (<span class="symbol"><A NAME="ref_760_30" HREF="terminal_interface-curses-forms__adb.htm#ref_760_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_761_30" HREF="terminal_interface-curses-forms__adb.htm#ref_760_16">Opt</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_760_16">Form_Opts_On</a></span> (<span class="symbol"><a name="ref_760_30">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_761_30">Opt</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Form_Opts_On, "form_opts_on"); - <b>function</b> <span class="symbol"><A NAME="ref_763_16">Form_Opts_Off</A></span> (<span class="symbol"><A NAME="ref_763_31" HREF="terminal_interface-curses-forms__adb.htm#ref_763_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_764_31" HREF="terminal_interface-curses-forms__adb.htm#ref_763_16">Opt</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_763_16">Form_Opts_Off</a></span> (<span class="symbol"><a name="ref_763_31">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_764_31">Opt</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Form_Opts_Off, "form_opts_off"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_654_30">On</A> <b>then</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_760_16">Form_Opts_On</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_652_30">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_653_30">Options</A>)); + <b>if</b> <a href="terminal_interface-curses-forms__ads.htm#ref_654_30">On</a> <b>then</b> + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_760_16">Form_Opts_On</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_652_30">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_653_30">Options</a>)); <b>else</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_763_16">Form_Opts_Off</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_652_30">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_653_30">Options</A>)); + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_763_16">Form_Opts_Off</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_652_30">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_653_30">Options</a>)); <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_652_14">Switch_Options</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_777_14" HREF="terminal_interface-curses-forms__ads.htm#ref_660_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_777_27" HREF="terminal_interface-curses-forms__ads.htm#ref_660_27">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_778_27" HREF="terminal_interface-curses-forms__ads.htm#ref_661_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</A>) + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_652_14">Switch_Options</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_777_14" href="terminal_interface-curses-forms__ads.htm#ref_660_14">Get_Options</a></span> (<span class="symbol"><a name="ref_777_27" href="terminal_interface-curses-forms__ads.htm#ref_660_27">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_778_27" href="terminal_interface-curses-forms__ads.htm#ref_661_27">Options</a></span> : <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_780_16">Form_Opts</A></span> (<span class="symbol"><A NAME="ref_780_27" HREF="terminal_interface-curses-forms__adb.htm#ref_780_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</A>; + <b>function</b> <span class="symbol"><a name="ref_780_16">Form_Opts</a></span> (<span class="symbol"><a name="ref_780_27">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>; <b>pragma</b> Import (C, Form_Opts, "form_opts"); <b>begin</b> - <A HREF="terminal_interface-curses-forms__ads.htm#ref_661_27">Options</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_780_16">Form_Opts</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_660_27">Frm</A>); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_660_14">Get_Options</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_789_13" HREF="terminal_interface-curses-forms__ads.htm#ref_665_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_789_26" HREF="terminal_interface-curses-forms__ads.htm#ref_665_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_4">Null_Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</A> + <a href="terminal_interface-curses-forms__ads.htm#ref_661_27">Options</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_780_16">Form_Opts</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_660_27">Frm</a>); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_660_14">Get_Options</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>function</b> <span class="symbol"><a name="ref_789_13" href="terminal_interface-curses-forms__ads.htm#ref_665_13">Get_Options</a></span> (<span class="symbol"><a name="ref_789_26" href="terminal_interface-curses-forms__ads.htm#ref_665_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_56_4">Null_Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a> <b>is</b> - <span class="symbol"><A NAME="ref_791_7">Fos</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</A>; + <span class="symbol"><a name="ref_791_7">Fos</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>; <b>begin</b> - <A HREF="terminal_interface-curses-forms__ads.htm#ref_660_14">Get_Options</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_665_26">Frm</A>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_791_7">Fos</A>); - <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_791_7">Fos</A>; - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_665_13">Get_Options</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | man page form_post.3x</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_803_14" HREF="terminal_interface-curses-forms__ads.htm#ref_674_14">Post</A></span> (<span class="symbol"><A NAME="ref_803_20" HREF="terminal_interface-curses-forms__ads.htm#ref_674_20">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_804_20" HREF="terminal_interface-curses-forms__ads.htm#ref_675_20">Post</A></span> : Boolean := True) + <a href="terminal_interface-curses-forms__ads.htm#ref_660_14">Get_Options</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_665_26">Frm</a>, <a href="terminal_interface-curses-forms__adb.htm#ref_791_7">Fos</a>); + <b>return</b> <a href="terminal_interface-curses-forms__adb.htm#ref_791_7">Fos</a>; + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_665_13">Get_Options</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | man page form_post.3x</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_803_14" href="terminal_interface-curses-forms__ads.htm#ref_674_14">Post</a></span> (<span class="symbol"><a name="ref_803_20" href="terminal_interface-curses-forms__ads.htm#ref_674_20">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_804_20" href="terminal_interface-curses-forms__ads.htm#ref_675_20">Post</a></span> : Boolean := True) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_806_16">M_Post</A></span> (<span class="symbol"><A NAME="ref_806_24" HREF="terminal_interface-curses-forms__adb.htm#ref_806_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_806_16">M_Post</a></span> (<span class="symbol"><a name="ref_806_24">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, M_Post, "post_form"); - <b>function</b> <span class="symbol"><A NAME="ref_808_16">M_Unpost</A></span> (<span class="symbol"><A NAME="ref_808_26" HREF="terminal_interface-curses-forms__adb.htm#ref_808_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_808_16">M_Unpost</a></span> (<span class="symbol"><a name="ref_808_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, M_Unpost, "unpost_form"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_675_20">Post</A> <b>then</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_806_16">M_Post</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_674_20">Frm</A>)); + <b>if</b> <a href="terminal_interface-curses-forms__ads.htm#ref_675_20">Post</a> <b>then</b> + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_806_16">M_Post</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_674_20">Frm</a>)); <b>else</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_808_16">M_Unpost</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_674_20">Frm</A>)); + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_808_16">M_Unpost</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_674_20">Frm</a>)); <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_674_14">Post</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | man page form_cursor.3x</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_825_14" HREF="terminal_interface-curses-forms__ads.htm#ref_685_14">Position_Cursor</A></span> (<span class="symbol"><A NAME="ref_825_31" HREF="terminal_interface-curses-forms__ads.htm#ref_685_31">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_674_14">Post</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | man page form_cursor.3x</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_825_14" href="terminal_interface-curses-forms__ads.htm#ref_685_14">Position_Cursor</a></span> (<span class="symbol"><a name="ref_825_31" href="terminal_interface-curses-forms__ads.htm#ref_685_31">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_827_16">Pos_Form_Cursor</A></span> (<span class="symbol"><A NAME="ref_827_33" HREF="terminal_interface-curses-forms__adb.htm#ref_827_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_827_16">Pos_Form_Cursor</a></span> (<span class="symbol"><a name="ref_827_33">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Pos_Form_Cursor, "pos_form_cursor"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_827_16">Pos_Form_Cursor</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_685_31">Frm</A>)); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_685_14">Position_Cursor</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | man page form_data.3x</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_840_13" HREF="terminal_interface-curses-forms__ads.htm#ref_694_13">Data_Ahead</A></span> (<span class="symbol"><A NAME="ref_840_25" HREF="terminal_interface-curses-forms__ads.htm#ref_694_25">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> Boolean + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_827_16">Pos_Form_Cursor</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_685_31">Frm</a>)); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_685_14">Position_Cursor</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | man page form_data.3x</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>function</b> <span class="symbol"><a name="ref_840_13" href="terminal_interface-curses-forms__ads.htm#ref_694_13">Data_Ahead</a></span> (<span class="symbol"><a name="ref_840_25" href="terminal_interface-curses-forms__ads.htm#ref_694_25">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> Boolean <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_842_16">Ahead</A></span> (<span class="symbol"><A NAME="ref_842_23" HREF="terminal_interface-curses-forms__adb.htm#ref_842_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_842_16">Ahead</a></span> (<span class="symbol"><a name="ref_842_23">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Ahead, "data_ahead"); - <span class="symbol"><A NAME="ref_845_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_842_16">Ahead</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_694_25">Frm</A>); + <span class="symbol"><a name="ref_845_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_842_16">Ahead</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_694_25">Frm</a>); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_845_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</A> <b>then</b> + <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_845_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</a> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_694_13">Data_Ahead</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_856_13" HREF="terminal_interface-curses-forms__ads.htm#ref_699_13">Data_Behind</A></span> (<span class="symbol"><A NAME="ref_856_26" HREF="terminal_interface-curses-forms__ads.htm#ref_699_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> Boolean + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_694_13">Data_Ahead</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>function</b> <span class="symbol"><a name="ref_856_13" href="terminal_interface-curses-forms__ads.htm#ref_699_13">Data_Behind</a></span> (<span class="symbol"><a name="ref_856_26" href="terminal_interface-curses-forms__ads.htm#ref_699_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> Boolean <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_858_16">Behind</A></span> (<span class="symbol"><A NAME="ref_858_24" HREF="terminal_interface-curses-forms__adb.htm#ref_858_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_858_16">Behind</a></span> (<span class="symbol"><a name="ref_858_24">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Behind, "data_behind"); - <span class="symbol"><A NAME="ref_861_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_858_16">Behind</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_699_26">Frm</A>); + <span class="symbol"><a name="ref_861_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_858_16">Behind</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_699_26">Frm</a>); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_861_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</A> <b>then</b> + <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_861_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</a> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_699_13">Data_Behind</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | man page form_driver.3x</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_876_13" HREF="terminal_interface-curses-forms__ads.htm#ref_713_13">Driver</A></span> (<span class="symbol"><A NAME="ref_876_21" HREF="terminal_interface-curses-forms__ads.htm#ref_713_21">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_877_21" HREF="terminal_interface-curses-forms__ads.htm#ref_714_21">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_707_9">Driver_Result</A> + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_699_13">Data_Behind</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | man page form_driver.3x</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>function</b> <span class="symbol"><a name="ref_876_13" href="terminal_interface-curses-forms__ads.htm#ref_713_13">Driver</a></span> (<span class="symbol"><a name="ref_876_21" href="terminal_interface-curses-forms__ads.htm#ref_713_21">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_877_21" href="terminal_interface-curses-forms__ads.htm#ref_714_21">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_707_9">Driver_Result</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_879_16">Frm_Driver</A></span> (<span class="symbol"><A NAME="ref_879_28" HREF="terminal_interface-curses-forms__adb.htm#ref_879_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; <span class="symbol"><A NAME="ref_879_40" HREF="terminal_interface-curses-forms__adb.htm#ref_879_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_879_16">Frm_Driver</a></span> (<span class="symbol"><a name="ref_879_28">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; <span class="symbol"><a name="ref_879_40">Key</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Frm_Driver, "form_driver"); - <span class="symbol"><A NAME="ref_882_7">R</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_879_16">Frm_Driver</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_713_21">Frm</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_714_21">Key</A>)); + <span class="symbol"><a name="ref_882_7">R</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_879_16">Frm_Driver</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_713_21">Frm</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_714_21">Key</a>)); <b>begin</b> - <b>case</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_882_7">R</A> <b>is</b> - <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_77_7">E_Unknown_Command</A> => - <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_709_27">Unknown_Request</A>; - <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_7">E_Invalid_Field</A> => - <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_710_27">Invalid_Field</A>; - <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_73_7">E_Request_Denied</A> => - <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_708_27">Request_Denied</A>; + <b>case</b> <a href="terminal_interface-curses-forms__adb.htm#ref_882_7">R</a> <b>is</b> + <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_77_7">E_Unknown_Command</a> => + <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_709_27">Unknown_Request</a>; + <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_72_7">E_Invalid_Field</a> => + <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_710_27">Invalid_Field</a>; + <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_73_7">E_Request_Denied</a> => + <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_708_27">Request_Denied</a>; <b>when</b> <b>others</b> => - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_882_7">R</A>); - <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_707_27">Form_Ok</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_882_7">R</a>); + <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_707_27">Form_Ok</a>; <b>end</b> <b>case</b>; - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_713_13">Driver</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | man page form_page.3x</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_903_14" HREF="terminal_interface-curses-forms__ads.htm#ref_725_14">Set_Current</A></span> (<span class="symbol"><A NAME="ref_903_27" HREF="terminal_interface-curses-forms__ads.htm#ref_725_27">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_904_27" HREF="terminal_interface-curses-forms__ads.htm#ref_726_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_713_13">Driver</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | man page form_page.3x</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_903_14" href="terminal_interface-curses-forms__ads.htm#ref_725_14">Set_Current</a></span> (<span class="symbol"><a name="ref_903_27" href="terminal_interface-curses-forms__ads.htm#ref_725_27">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_904_27" href="terminal_interface-curses-forms__ads.htm#ref_726_27">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_906_16">Set_Current_Fld</A></span> (<span class="symbol"><A NAME="ref_906_33" HREF="terminal_interface-curses-forms__adb.htm#ref_906_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; <span class="symbol"><A NAME="ref_906_45" HREF="terminal_interface-curses-forms__adb.htm#ref_906_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_906_16">Set_Current_Fld</a></span> (<span class="symbol"><a name="ref_906_33">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; <span class="symbol"><a name="ref_906_45">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Current_Fld, "set_current_field"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_906_16">Set_Current_Fld</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_725_27">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_726_27">Fld</A>)); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_725_14">Set_Current</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_915_13" HREF="terminal_interface-curses-forms__ads.htm#ref_731_13">Current</A></span> (<span class="symbol"><A NAME="ref_915_22" HREF="terminal_interface-curses-forms__ads.htm#ref_731_22">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A> + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_906_16">Set_Current_Fld</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_725_27">Frm</a>, <a href="terminal_interface-curses-forms__ads.htm#ref_726_27">Fld</a>)); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_725_14">Set_Current</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>function</b> <span class="symbol"><a name="ref_915_13" href="terminal_interface-curses-forms__ads.htm#ref_731_13">Current</a></span> (<span class="symbol"><a name="ref_915_22" href="terminal_interface-curses-forms__ads.htm#ref_731_22">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_917_16">Current_Fld</A></span> (<span class="symbol"><A NAME="ref_917_29" HREF="terminal_interface-curses-forms__adb.htm#ref_917_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; + <b>function</b> <span class="symbol"><a name="ref_917_16">Current_Fld</a></span> (<span class="symbol"><a name="ref_917_29">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; <b>pragma</b> Import (C, Current_Fld, "current_field"); - <span class="symbol"><A NAME="ref_920_7">Fld</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_917_16">Current_Fld</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_731_22">Frm</A>); + <span class="symbol"><a name="ref_920_7">Fld</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_917_16">Current_Fld</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_731_22">Frm</a>); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_920_7">Fld</A> = <A HREF="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_920_7">Fld</a> = <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>; <b>end</b> <b>if</b>; - <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_920_7">Fld</A>; - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_731_13">Current</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_930_14" HREF="terminal_interface-curses-forms__ads.htm#ref_736_14">Set_Page</A></span> (<span class="symbol"><A NAME="ref_930_24" HREF="terminal_interface-curses-forms__ads.htm#ref_736_24">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_931_24" HREF="terminal_interface-curses-forms__ads.htm#ref_737_24">Page</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</A>'First) + <b>return</b> <a href="terminal_interface-curses-forms__adb.htm#ref_920_7">Fld</a>; + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_731_13">Current</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_930_14" href="terminal_interface-curses-forms__ads.htm#ref_736_14">Set_Page</a></span> (<span class="symbol"><a name="ref_930_24" href="terminal_interface-curses-forms__ads.htm#ref_736_24">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_931_24" href="terminal_interface-curses-forms__ads.htm#ref_737_24">Page</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</a>'First) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_933_16">Set_Frm_Page</A></span> (<span class="symbol"><A NAME="ref_933_30" HREF="terminal_interface-curses-forms__adb.htm#ref_933_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; <span class="symbol"><A NAME="ref_933_42" HREF="terminal_interface-curses-forms__adb.htm#ref_933_16">Pg</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_933_16">Set_Frm_Page</a></span> (<span class="symbol"><a name="ref_933_30">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; <span class="symbol"><a name="ref_933_42">Pg</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Frm_Page, "set_form_page"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_933_16">Set_Frm_Page</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_736_24">Frm</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_737_24">Page</A>))); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_736_14">Set_Page</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_942_13" HREF="terminal_interface-curses-forms__ads.htm#ref_742_13">Page</A></span> (<span class="symbol"><A NAME="ref_942_19" HREF="terminal_interface-curses-forms__ads.htm#ref_742_19">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</A> + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_933_16">Set_Frm_Page</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_736_24">Frm</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_737_24">Page</a>))); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_736_14">Set_Page</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>function</b> <span class="symbol"><a name="ref_942_13" href="terminal_interface-curses-forms__ads.htm#ref_742_13">Page</a></span> (<span class="symbol"><a name="ref_942_19" href="terminal_interface-curses-forms__ads.htm#ref_742_19">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_944_16">Get_Page</A></span> (<span class="symbol"><A NAME="ref_944_26" HREF="terminal_interface-curses-forms__adb.htm#ref_944_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_944_16">Get_Page</a></span> (<span class="symbol"><a name="ref_944_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Get_Page, "form_page"); - <span class="symbol"><A NAME="ref_947_7">P</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_944_16">Get_Page</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_742_19">Frm</A>); + <span class="symbol"><a name="ref_947_7">P</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_944_16">Get_Page</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_742_19">Frm</a>); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_947_7">P</A> < 0 <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_947_7">P</a> < 0 <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>; <b>else</b> - <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_947_7">P</A>); + <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_947_7">P</a>); <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_742_13">Page</A>; + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_742_13">Page</a>; - <b>function</b> <span class="symbol"><A NAME="ref_956_13" HREF="terminal_interface-curses-forms__ads.htm#ref_747_13">Get_Index</A></span> (<span class="symbol"><A NAME="ref_956_24" HREF="terminal_interface-curses-forms__ads.htm#ref_747_24">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) <b>return</b> Positive + <b>function</b> <span class="symbol"><a name="ref_956_13" href="terminal_interface-curses-forms__ads.htm#ref_747_13">Get_Index</a></span> (<span class="symbol"><a name="ref_956_24" href="terminal_interface-curses-forms__ads.htm#ref_747_24">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> Positive <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_958_16">Get_Fieldindex</A></span> (<span class="symbol"><A NAME="ref_958_32" HREF="terminal_interface-curses-forms__adb.htm#ref_958_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_958_16">Get_Fieldindex</a></span> (<span class="symbol"><a name="ref_958_32">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Get_Fieldindex, "field_index"); - <span class="symbol"><A NAME="ref_961_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_958_16">Get_Fieldindex</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_747_24">Fld</A>); + <span class="symbol"><a name="ref_961_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_958_16">Get_Fieldindex</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_747_24">Fld</a>); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_961_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_961_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</a>; <b>end</b> <b>if</b>; - <b>return</b> Positive (Natural (<A HREF="terminal_interface-curses-forms__adb.htm#ref_961_7">Res</A>) + Positive'First); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_747_13">Get_Index</A>; - - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | man page form_new_page.3x</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_976_14" HREF="terminal_interface-curses-forms__ads.htm#ref_759_14">Set_New_Page</A></span> (<span class="symbol"><A NAME="ref_976_28" HREF="terminal_interface-curses-forms__ads.htm#ref_759_28">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_977_28" HREF="terminal_interface-curses-forms__ads.htm#ref_760_28">New_Page</A></span> : Boolean := True) + <b>return</b> Positive (Natural (<a href="terminal_interface-curses-forms__adb.htm#ref_961_7">Res</a>) + Positive'First); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_747_13">Get_Index</a>; + + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | man page form_new_page.3x</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_976_14" href="terminal_interface-curses-forms__ads.htm#ref_759_14">Set_New_Page</a></span> (<span class="symbol"><a name="ref_976_28" href="terminal_interface-curses-forms__ads.htm#ref_759_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_977_28" href="terminal_interface-curses-forms__ads.htm#ref_760_28">New_Page</a></span> : Boolean := True) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_979_16">Set_Page</A></span> (<span class="symbol"><A NAME="ref_979_26" HREF="terminal_interface-curses-forms__adb.htm#ref_979_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; <span class="symbol"><A NAME="ref_979_39" HREF="terminal_interface-curses-forms__adb.htm#ref_979_16">Flg</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_979_16">Set_Page</a></span> (<span class="symbol"><a name="ref_979_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; <span class="symbol"><a name="ref_979_39">Flg</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Page, "set_new_page"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_979_16">Set_Page</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_759_28">Fld</A>, Boolean'Pos (<A HREF="terminal_interface-curses-forms__ads.htm#ref_760_28">New_Page</A>))); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_759_14">Set_New_Page</A>; - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_988_13" HREF="terminal_interface-curses-forms__ads.htm#ref_765_13">Is_New_Page</A></span> (<span class="symbol"><A NAME="ref_988_26" HREF="terminal_interface-curses-forms__ads.htm#ref_765_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) <b>return</b> Boolean + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-forms__adb.htm#ref_979_16">Set_Page</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_759_28">Fld</a>, Boolean'Pos (<a href="terminal_interface-curses-forms__ads.htm#ref_760_28">New_Page</a>))); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_759_14">Set_New_Page</a>; + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- |</em></span> + <b>function</b> <span class="symbol"><a name="ref_988_13" href="terminal_interface-curses-forms__ads.htm#ref_765_13">Is_New_Page</a></span> (<span class="symbol"><a name="ref_988_26" href="terminal_interface-curses-forms__ads.htm#ref_765_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> Boolean <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_990_16">Is_New</A></span> (<span class="symbol"><A NAME="ref_990_24" HREF="terminal_interface-curses-forms__adb.htm#ref_990_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_990_16">Is_New</a></span> (<span class="symbol"><a name="ref_990_24">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Is_New, "new_page"); - <span class="symbol"><A NAME="ref_993_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_990_16">Is_New</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_765_26">Fld</A>); + <span class="symbol"><a name="ref_993_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-forms__adb.htm#ref_990_16">Is_New</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_765_26">Fld</a>); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_993_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</A> <b>then</b> + <b>if</b> <a href="terminal_interface-curses-forms__adb.htm#ref_993_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</a> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_765_13">Is_New_Page</A>; + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_765_13">Is_New_Page</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1002_14" HREF="terminal_interface-curses-forms__ads.htm#ref_138_14">Free</A></span> (<span class="symbol"><A NAME="ref_1002_20" HREF="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</A>; - <span class="symbol"><A NAME="ref_1003_20" HREF="terminal_interface-curses-forms__ads.htm#ref_139_20">Free_Fields</A></span> : Boolean := False) + <b>procedure</b> <span class="symbol"><a name="ref_1002_14" href="terminal_interface-curses-forms__ads.htm#ref_138_14">Free</a></span> (<span class="symbol"><a name="ref_1002_20" href="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</a>; + <span class="symbol"><a name="ref_1003_20" href="terminal_interface-curses-forms__ads.htm#ref_139_20">Free_Fields</a></span> : Boolean := False) <b>is</b> <b>procedure</b> Release <b>is</b> <b>new</b> Ada.Unchecked_Deallocation - (Field_Array, <A HREF="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</A>); + (Field_Array, <a href="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</a>); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_139_20">Free_Fields</A> <b>then</b> - <b>for</b> <span class="symbol"><A NAME="ref_1009_14">I</A></span> <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</A>'First .. (<A HREF="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</A>'Last - 1) <b>loop</b> - <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_1009_14">I</A>) /= <A HREF="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</A> <b>then</b> - <A HREF="terminal_interface-curses-forms__ads.htm#ref_317_14">Delete</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_1009_14">I</A>)); + <b>if</b> <a href="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</a> /= <b>null</b> <b>and</b> <b>then</b> <a href="terminal_interface-curses-forms__ads.htm#ref_139_20">Free_Fields</a> <b>then</b> + <b>for</b> <span class="symbol"><a name="ref_1009_14">I</a></span> <b>in</b> <a href="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</a>'First .. (<a href="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</a>'Last - 1) <b>loop</b> + <b>if</b> <a href="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</a>.<b>all</b> (<a href="terminal_interface-curses-forms__adb.htm#ref_1009_14">I</a>) /= <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a> <b>then</b> + <a href="terminal_interface-curses-forms__ads.htm#ref_317_14">Delete</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</a>.<b>all</b> (<a href="terminal_interface-curses-forms__adb.htm#ref_1009_14">I</a>)); <b>end</b> <b>if</b>; <b>end</b> <b>loop</b>; <b>end</b> <b>if</b>; - Release (<A HREF="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</A>); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_138_14">Free</A>; + Release (<a href="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</a>); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_138_14">Free</a>; - <span class="comment"><EM>-- |=====================================================================</EM></span> + <span class="comment"><em>-- |=====================================================================</em></span> - <b>function</b> <span class="symbol"><A NAME="ref_1020_13" HREF="terminal_interface-curses-forms__ads.htm#ref_105_13">Default_Field_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</A> + <b>function</b> <span class="symbol"><a name="ref_1020_13" href="terminal_interface-curses-forms__ads.htm#ref_105_13">Default_Field_Options</a></span> <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a> <b>is</b> <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_418_13">Get_Options</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</A>); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_105_13">Default_Field_Options</A>; + <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_418_13">Get_Options</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a>); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_105_13">Default_Field_Options</a>; - <b>function</b> <span class="symbol"><A NAME="ref_1026_13" HREF="terminal_interface-curses-forms__ads.htm#ref_127_13">Default_Form_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</A> + <b>function</b> <span class="symbol"><a name="ref_1026_13" href="terminal_interface-curses-forms__ads.htm#ref_127_13">Default_Form_Options</a></span> <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a> <b>is</b> <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_665_13">Get_Options</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_56_4">Null_Form</A>); - <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_127_13">Default_Form_Options</A>; + <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_665_13">Get_Options</a> (<a href="terminal_interface-curses-forms__ads.htm#ref_56_4">Null_Form</a>); + <b>end</b> <a href="terminal_interface-curses-forms__ads.htm#ref_127_13">Default_Form_Options</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-forms__ads.htm b/doc/html/ada/terminal_interface-curses-forms__ads.htm index ee5ce13bcf37..22a91e4772c0 100644 --- a/doc/html/ada/terminal_interface-curses-forms__ads.htm +++ b/doc/html/ada/terminal_interface-curses-forms__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-forms.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-forms.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,790 +11,790 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-forms.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Form --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1998-2009,2014 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.34 @</EM></span> -<span class="comment"><EM>-- @Date: 2020/02/02 23:34:34 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-forms.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Form --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1998-2009,2014 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.34 @</em></span> +<span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>with</b> System; <b>with</b> Ada.Characters.Latin_1; -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<span class="symbol"><A NAME="ref_46_35" HREF="terminal_interface-curses-forms__adb.htm#ref_51_40">Forms</A></span> <b>is</b> - <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>); - <b>pragma</b> Linker_Options ("-lform" & <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_9_4">DFT_ARG_SUFFIX</A>); +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_46_35" href="terminal_interface-curses-forms__adb.htm#ref_51_40">Forms</a></span> <b>is</b> + <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>); + <b>pragma</b> Linker_Options ("-lform" & <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_9_4">DFT_ARG_SUFFIX</a>); Space : Character <b>renames</b> Ada.Characters.Latin_1.Space; - <b>type</b> <span class="symbol"><A NAME="ref_52_9">Field</A></span> <b>is</b> <b>private</b>; - <b>type</b> <span class="symbol"><A NAME="ref_53_9">Form</A></span> <b>is</b> <b>private</b>; + <b>type</b> <span class="symbol"><a name="ref_52_9">Field</a></span> <b>is</b> <b>private</b>; + <b>type</b> <span class="symbol"><a name="ref_53_9">Form</a></span> <b>is</b> <b>private</b>; - <span class="symbol"><A NAME="ref_55_4">Null_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_56_4">Null_Form</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; + <span class="symbol"><a name="ref_55_4">Null_Field</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_56_4">Null_Form</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; - <b>type</b> <span class="symbol"><A NAME="ref_58_9">Field_Justification</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_58_33">None</A></span>, - <span class="symbol"><A NAME="ref_59_33">Left</A></span>, - <span class="symbol"><A NAME="ref_60_33">Center</A></span>, - <span class="symbol"><A NAME="ref_61_33">Right</A></span>); + <b>type</b> <span class="symbol"><a name="ref_58_9">Field_Justification</a></span> <b>is</b> (<span class="symbol"><a name="ref_58_33">None</a></span>, + <span class="symbol"><a name="ref_59_33">Left</a></span>, + <span class="symbol"><a name="ref_60_33">Center</a></span>, + <span class="symbol"><a name="ref_61_33">Right</a></span>); - <b>type</b> <span class="symbol"><A NAME="ref_63_9">Field_Option_Set</A></span> <b>is</b> + <b>type</b> <span class="symbol"><a name="ref_63_9">Field_Option_Set</a></span> <b>is</b> <b>record</b> - <span class="symbol"><A NAME="ref_65_10">Visible</A></span> : Boolean; - <span class="symbol"><A NAME="ref_66_10">Active</A></span> : Boolean; - <span class="symbol"><A NAME="ref_67_10">Public</A></span> : Boolean; - <span class="symbol"><A NAME="ref_68_10">Edit</A></span> : Boolean; - <span class="symbol"><A NAME="ref_69_10">Wrap</A></span> : Boolean; - <span class="symbol"><A NAME="ref_70_10">Blank</A></span> : Boolean; - <span class="symbol"><A NAME="ref_71_10">Auto_Skip</A></span> : Boolean; - <span class="symbol"><A NAME="ref_72_10">Null_Ok</A></span> : Boolean; - <span class="symbol"><A NAME="ref_73_10">Pass_Ok</A></span> : Boolean; - <span class="symbol"><A NAME="ref_74_10">Static</A></span> : Boolean; + <span class="symbol"><a name="ref_65_10">Visible</a></span> : Boolean; + <span class="symbol"><a name="ref_66_10">Active</a></span> : Boolean; + <span class="symbol"><a name="ref_67_10">Public</a></span> : Boolean; + <span class="symbol"><a name="ref_68_10">Edit</a></span> : Boolean; + <span class="symbol"><a name="ref_69_10">Wrap</a></span> : Boolean; + <span class="symbol"><a name="ref_70_10">Blank</a></span> : Boolean; + <span class="symbol"><a name="ref_71_10">Auto_Skip</a></span> : Boolean; + <span class="symbol"><a name="ref_72_10">Null_Ok</a></span> : Boolean; + <span class="symbol"><a name="ref_73_10">Pass_Ok</a></span> : Boolean; + <span class="symbol"><a name="ref_74_10">Static</a></span> : Boolean; <b>end</b> <b>record</b>; - <b>pragma</b> Convention (C_Pass_By_Copy, <A HREF="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</A>); + <b>pragma</b> Convention (C_Pass_By_Copy, <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>); - <b>for</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</A> <b>use</b> + <b>for</b> <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a> <b>use</b> <b>record</b> - <A HREF="terminal_interface-curses-forms__ads.htm#ref_65_10">Visible</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_279_4">O_VISIBLE_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_280_4">O_VISIBLE_Last</A>; - <A HREF="terminal_interface-curses-forms__ads.htm#ref_66_10">Active</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_281_4">O_ACTIVE_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_282_4">O_ACTIVE_Last</A>; - <A HREF="terminal_interface-curses-forms__ads.htm#ref_67_10">Public</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_283_4">O_PUBLIC_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_284_4">O_PUBLIC_Last</A>; - <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_10">Edit</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_285_4">O_EDIT_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_286_4">O_EDIT_Last</A>; - <A HREF="terminal_interface-curses-forms__ads.htm#ref_69_10">Wrap</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_287_4">O_WRAP_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_288_4">O_WRAP_Last</A>; - <A HREF="terminal_interface-curses-forms__ads.htm#ref_70_10">Blank</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_289_4">O_BLANK_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_290_4">O_BLANK_Last</A>; - <A HREF="terminal_interface-curses-forms__ads.htm#ref_71_10">Auto_Skip</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_291_4">O_AUTOSKIP_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_292_4">O_AUTOSKIP_Last</A>; - <A HREF="terminal_interface-curses-forms__ads.htm#ref_72_10">Null_Ok</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_293_4">O_NULLOK_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_294_4">O_NULLOK_Last</A>; - <A HREF="terminal_interface-curses-forms__ads.htm#ref_73_10">Pass_Ok</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_295_4">O_PASSOK_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_296_4">O_PASSOK_Last</A>; - <A HREF="terminal_interface-curses-forms__ads.htm#ref_74_10">Static</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_297_4">O_STATIC_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_298_4">O_STATIC_Last</A>; + <a href="terminal_interface-curses-forms__ads.htm#ref_65_10">Visible</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_279_4">O_VISIBLE_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_280_4">O_VISIBLE_Last</a>; + <a href="terminal_interface-curses-forms__ads.htm#ref_66_10">Active</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_281_4">O_ACTIVE_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_282_4">O_ACTIVE_Last</a>; + <a href="terminal_interface-curses-forms__ads.htm#ref_67_10">Public</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_283_4">O_PUBLIC_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_284_4">O_PUBLIC_Last</a>; + <a href="terminal_interface-curses-forms__ads.htm#ref_68_10">Edit</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_285_4">O_EDIT_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_286_4">O_EDIT_Last</a>; + <a href="terminal_interface-curses-forms__ads.htm#ref_69_10">Wrap</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_287_4">O_WRAP_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_288_4">O_WRAP_Last</a>; + <a href="terminal_interface-curses-forms__ads.htm#ref_70_10">Blank</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_289_4">O_BLANK_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_290_4">O_BLANK_Last</a>; + <a href="terminal_interface-curses-forms__ads.htm#ref_71_10">Auto_Skip</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_291_4">O_AUTOSKIP_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_292_4">O_AUTOSKIP_Last</a>; + <a href="terminal_interface-curses-forms__ads.htm#ref_72_10">Null_Ok</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_293_4">O_NULLOK_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_294_4">O_NULLOK_Last</a>; + <a href="terminal_interface-curses-forms__ads.htm#ref_73_10">Pass_Ok</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_295_4">O_PASSOK_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_296_4">O_PASSOK_Last</a>; + <a href="terminal_interface-curses-forms__ads.htm#ref_74_10">Static</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_297_4">O_STATIC_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_298_4">O_STATIC_Last</a>; <b>end</b> <b>record</b>; <b>pragma</b> Warnings (Off); - <b>for</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</A>'Size <b>use</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_299_4">Field_Options_Size</A>; + <b>for</b> <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>'Size <b>use</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_299_4">Field_Options_Size</a>; <b>pragma</b> Warnings (On); - <b>function</b> <span class="symbol"><A NAME="ref_105_13" HREF="terminal_interface-curses-forms__adb.htm#ref_1020_13">Default_Field_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</A>; - <span class="comment"><EM>-- The initial defaults for the field options.</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_105_13">Default_Field_Options</A>); + <b>function</b> <span class="symbol"><a name="ref_105_13" href="terminal_interface-curses-forms__adb.htm#ref_1020_13">Default_Field_Options</a></span> <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>; + <span class="comment"><em>-- The initial defaults for the field options.</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_105_13">Default_Field_Options</a>); - <b>type</b> <span class="symbol"><A NAME="ref_109_9">Form_Option_Set</A></span> <b>is</b> + <b>type</b> <span class="symbol"><a name="ref_109_9">Form_Option_Set</a></span> <b>is</b> <b>record</b> - <span class="symbol"><A NAME="ref_111_10">NL_Overload</A></span> : Boolean; - <span class="symbol"><A NAME="ref_112_10">BS_Overload</A></span> : Boolean; + <span class="symbol"><a name="ref_111_10">NL_Overload</a></span> : Boolean; + <span class="symbol"><a name="ref_112_10">BS_Overload</a></span> : Boolean; <b>end</b> <b>record</b>; - <b>pragma</b> Convention (C_Pass_By_Copy, <A HREF="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</A>); + <b>pragma</b> Convention (C_Pass_By_Copy, <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>); - <b>for</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</A> <b>use</b> + <b>for</b> <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a> <b>use</b> <b>record</b> - <A HREF="terminal_interface-curses-forms__ads.htm#ref_111_10">NL_Overload</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_303_4">O_NL_OVERLOAD_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_304_4">O_NL_OVERLOAD_Last</A>; - <A HREF="terminal_interface-curses-forms__ads.htm#ref_112_10">BS_Overload</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_305_4">O_BS_OVERLOAD_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_306_4">O_BS_OVERLOAD_Last</A>; + <a href="terminal_interface-curses-forms__ads.htm#ref_111_10">NL_Overload</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_303_4">O_NL_OVERLOAD_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_304_4">O_NL_OVERLOAD_Last</a>; + <a href="terminal_interface-curses-forms__ads.htm#ref_112_10">BS_Overload</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_305_4">O_BS_OVERLOAD_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_306_4">O_BS_OVERLOAD_Last</a>; <b>end</b> <b>record</b>; <b>pragma</b> Warnings (Off); - <b>for</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</A>'Size <b>use</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_299_4">Field_Options_Size</A>; + <b>for</b> <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>'Size <b>use</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_299_4">Field_Options_Size</a>; <b>pragma</b> Warnings (On); - <b>function</b> <span class="symbol"><A NAME="ref_127_13" HREF="terminal_interface-curses-forms__adb.htm#ref_1026_13">Default_Form_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</A>; - <span class="comment"><EM>-- The initial defaults for the form options.</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_127_13">Default_Form_Options</A>); + <b>function</b> <span class="symbol"><a name="ref_127_13" href="terminal_interface-curses-forms__adb.htm#ref_1026_13">Default_Form_Options</a></span> <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>; + <span class="comment"><em>-- The initial defaults for the form options.</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_127_13">Default_Form_Options</a>); - <b>type</b> <span class="symbol"><A NAME="ref_131_9">Buffer_Number</A></span> <b>is</b> <b>new</b> Natural; + <b>type</b> <span class="symbol"><a name="ref_131_9">Buffer_Number</a></span> <b>is</b> <b>new</b> Natural; - <b>type</b> Field_Array <b>is</b> <b>array</b> (Positive <b>range</b> <>) <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; + <b>type</b> Field_Array <b>is</b> <b>array</b> (Positive <b>range</b> <>) <b>of</b> <b>aliased</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; <b>pragma</b> Convention (C, Field_Array); - <b>type</b> <span class="symbol"><A NAME="ref_136_9">Field_Array_Access</A></span> <b>is</b> <b>access</b> Field_Array; - - <b>procedure</b> <span class="symbol"><A NAME="ref_138_14" HREF="terminal_interface-curses-forms__adb.htm#ref_1002_14">Free</A></span> (<span class="symbol"><A NAME="ref_138_20" HREF="terminal_interface-curses-forms__adb.htm#ref_1002_20">FA</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</A>; - <span class="symbol"><A NAME="ref_139_20" HREF="terminal_interface-curses-forms__adb.htm#ref_1003_20">Free_Fields</A></span> : Boolean := False); - <span class="comment"><EM>-- Release the memory for an allocated field array</EM></span> - <span class="comment"><EM>-- If Free_Fields is True, call Delete() for all the fields in</EM></span> - <span class="comment"><EM>-- the array.</EM></span> - - <b>subtype</b> <span class="symbol"><A NAME="ref_144_12">Form_Request_Code</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</A> <b>range</b> (<A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 1) .. (<A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 57); - - <span class="comment"><EM>-- The prefix F_ stands for "Form Request"</EM></span> - <span class="symbol"><A NAME="ref_147_4">F_Next_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 1; - <span class="symbol"><A NAME="ref_148_4">F_Previous_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 2; - <span class="symbol"><A NAME="ref_149_4">F_First_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 3; - <span class="symbol"><A NAME="ref_150_4">F_Last_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 4; - - <span class="symbol"><A NAME="ref_152_4">F_Next_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 5; - <span class="symbol"><A NAME="ref_153_4">F_Previous_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 6; - <span class="symbol"><A NAME="ref_154_4">F_First_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 7; - <span class="symbol"><A NAME="ref_155_4">F_Last_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 8; - <span class="symbol"><A NAME="ref_156_4">F_Sorted_Next_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 9; - <span class="symbol"><A NAME="ref_157_4">F_Sorted_Previous_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 10; - <span class="symbol"><A NAME="ref_158_4">F_Sorted_First_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 11; - <span class="symbol"><A NAME="ref_159_4">F_Sorted_Last_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 12; - <span class="symbol"><A NAME="ref_160_4">F_Left_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 13; - <span class="symbol"><A NAME="ref_161_4">F_Right_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 14; - <span class="symbol"><A NAME="ref_162_4">F_Up_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 15; - <span class="symbol"><A NAME="ref_163_4">F_Down_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 16; - - <span class="symbol"><A NAME="ref_165_4">F_Next_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 17; - <span class="symbol"><A NAME="ref_166_4">F_Previous_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 18; - <span class="symbol"><A NAME="ref_167_4">F_Next_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 19; - <span class="symbol"><A NAME="ref_168_4">F_Previous_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 20; - <span class="symbol"><A NAME="ref_169_4">F_Next_Word</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 21; - <span class="symbol"><A NAME="ref_170_4">F_Previous_Word</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 22; - <span class="symbol"><A NAME="ref_171_4">F_Begin_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 23; - <span class="symbol"><A NAME="ref_172_4">F_End_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 24; - <span class="symbol"><A NAME="ref_173_4">F_Begin_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 25; - <span class="symbol"><A NAME="ref_174_4">F_End_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 26; - <span class="symbol"><A NAME="ref_175_4">F_Left_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 27; - <span class="symbol"><A NAME="ref_176_4">F_Right_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 28; - <span class="symbol"><A NAME="ref_177_4">F_Up_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 29; - <span class="symbol"><A NAME="ref_178_4">F_Down_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 30; - - <span class="symbol"><A NAME="ref_180_4">F_New_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 31; - <span class="symbol"><A NAME="ref_181_4">F_Insert_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 32; - <span class="symbol"><A NAME="ref_182_4">F_Insert_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 33; - <span class="symbol"><A NAME="ref_183_4">F_Delete_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 34; - <span class="symbol"><A NAME="ref_184_4">F_Delete_Previous</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 35; - <span class="symbol"><A NAME="ref_185_4">F_Delete_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 36; - <span class="symbol"><A NAME="ref_186_4">F_Delete_Word</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 37; - <span class="symbol"><A NAME="ref_187_4">F_Clear_EOL</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 38; - <span class="symbol"><A NAME="ref_188_4">F_Clear_EOF</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 39; - <span class="symbol"><A NAME="ref_189_4">F_Clear_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 40; - <span class="symbol"><A NAME="ref_190_4">F_Overlay_Mode</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 41; - <span class="symbol"><A NAME="ref_191_4">F_Insert_Mode</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 42; - - <span class="comment"><EM>-- Vertical Scrolling</EM></span> - <span class="symbol"><A NAME="ref_194_4">F_ScrollForward_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 43; - <span class="symbol"><A NAME="ref_195_4">F_ScrollBackward_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 44; - <span class="symbol"><A NAME="ref_196_4">F_ScrollForward_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 45; - <span class="symbol"><A NAME="ref_197_4">F_ScrollBackward_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 46; - <span class="symbol"><A NAME="ref_198_4">F_ScrollForward_HalfPage</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 47; - <span class="symbol"><A NAME="ref_199_4">F_ScrollBackward_HalfPage</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 48; - - <span class="comment"><EM>-- Horizontal Scrolling</EM></span> - <span class="symbol"><A NAME="ref_202_4">F_HScrollForward_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 49; - <span class="symbol"><A NAME="ref_203_4">F_HScrollBackward_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 50; - <span class="symbol"><A NAME="ref_204_4">F_HScrollForward_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 51; - <span class="symbol"><A NAME="ref_205_4">F_HScrollBackward_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 52; - <span class="symbol"><A NAME="ref_206_4">F_HScrollForward_HalfLine</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 53; - <span class="symbol"><A NAME="ref_207_4">F_HScrollBackward_HalfLine</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 54; - - <span class="symbol"><A NAME="ref_209_4">F_Validate_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 55; - <span class="symbol"><A NAME="ref_210_4">F_Next_Choice</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 56; - <span class="symbol"><A NAME="ref_211_4">F_Previous_Choice</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 57; - - <span class="comment"><EM>-- For those who like the old 'C' style request names</EM></span> - REQ_NEXT_PAGE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_147_4">F_Next_Page</A>; - REQ_PREV_PAGE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_148_4">F_Previous_Page</A>; - REQ_FIRST_PAGE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_149_4">F_First_Page</A>; - REQ_LAST_PAGE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_150_4">F_Last_Page</A>; - - REQ_NEXT_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_152_4">F_Next_Field</A>; - REQ_PREV_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_153_4">F_Previous_Field</A>; - REQ_FIRST_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_154_4">F_First_Field</A>; - REQ_LAST_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_155_4">F_Last_Field</A>; - REQ_SNEXT_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_156_4">F_Sorted_Next_Field</A>; - REQ_SPREV_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_157_4">F_Sorted_Previous_Field</A>; - REQ_SFIRST_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_158_4">F_Sorted_First_Field</A>; - REQ_SLAST_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_159_4">F_Sorted_Last_Field</A>; - REQ_LEFT_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_160_4">F_Left_Field</A>; - REQ_RIGHT_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_161_4">F_Right_Field</A>; - REQ_UP_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_162_4">F_Up_Field</A>; - REQ_DOWN_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_163_4">F_Down_Field</A>; - - REQ_NEXT_CHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_165_4">F_Next_Char</A>; - REQ_PREV_CHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_166_4">F_Previous_Char</A>; - REQ_NEXT_LINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_167_4">F_Next_Line</A>; - REQ_PREV_LINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_168_4">F_Previous_Line</A>; - REQ_NEXT_WORD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_169_4">F_Next_Word</A>; - REQ_PREV_WORD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_170_4">F_Previous_Word</A>; - REQ_BEG_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_171_4">F_Begin_Field</A>; - REQ_END_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_172_4">F_End_Field</A>; - REQ_BEG_LINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_173_4">F_Begin_Line</A>; - REQ_END_LINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_174_4">F_End_Line</A>; - REQ_LEFT_CHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_175_4">F_Left_Char</A>; - REQ_RIGHT_CHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_176_4">F_Right_Char</A>; - REQ_UP_CHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_177_4">F_Up_Char</A>; - REQ_DOWN_CHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_178_4">F_Down_Char</A>; - - REQ_NEW_LINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_180_4">F_New_Line</A>; - REQ_INS_CHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_181_4">F_Insert_Char</A>; - REQ_INS_LINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_182_4">F_Insert_Line</A>; - REQ_DEL_CHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_183_4">F_Delete_Char</A>; - REQ_DEL_PREV : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_184_4">F_Delete_Previous</A>; - REQ_DEL_LINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_185_4">F_Delete_Line</A>; - REQ_DEL_WORD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_186_4">F_Delete_Word</A>; - REQ_CLR_EOL : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_187_4">F_Clear_EOL</A>; - REQ_CLR_EOF : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_188_4">F_Clear_EOF</A>; - REQ_CLR_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_189_4">F_Clear_Field</A>; - REQ_OVL_MODE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_190_4">F_Overlay_Mode</A>; - REQ_INS_MODE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_191_4">F_Insert_Mode</A>; - - REQ_SCR_FLINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_194_4">F_ScrollForward_Line</A>; - REQ_SCR_BLINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_195_4">F_ScrollBackward_Line</A>; - REQ_SCR_FPAGE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_196_4">F_ScrollForward_Page</A>; - REQ_SCR_BPAGE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_197_4">F_ScrollBackward_Page</A>; - REQ_SCR_FHPAGE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_198_4">F_ScrollForward_HalfPage</A>; - REQ_SCR_BHPAGE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_199_4">F_ScrollBackward_HalfPage</A>; - - REQ_SCR_FCHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_202_4">F_HScrollForward_Char</A>; - REQ_SCR_BCHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_203_4">F_HScrollBackward_Char</A>; - REQ_SCR_HFLINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_204_4">F_HScrollForward_Line</A>; - REQ_SCR_HBLINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_205_4">F_HScrollBackward_Line</A>; - REQ_SCR_HFHALF : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_206_4">F_HScrollForward_HalfLine</A>; - REQ_SCR_HBHALF : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_207_4">F_HScrollBackward_HalfLine</A>; - - REQ_VALIDATION : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_209_4">F_Validate_Field</A>; - REQ_NEXT_CHOICE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_210_4">F_Next_Choice</A>; - REQ_PREV_CHOICE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_211_4">F_Previous_Choice</A>; - - <b>procedure</b> <span class="symbol"><A NAME="ref_278_14" HREF="terminal_interface-curses-forms__adb.htm#ref_65_14">Request_Name</A></span> (<span class="symbol"><A NAME="ref_278_28" HREF="terminal_interface-curses-forms__adb.htm#ref_65_28">Key</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A>; - <span class="symbol"><A NAME="ref_279_28" HREF="terminal_interface-curses-forms__adb.htm#ref_66_33">Name</A></span> : <b>out</b> String); - - <b>function</b> <span class="symbol"><A NAME="ref_281_14" HREF="terminal_interface-curses-forms__adb.htm#ref_74_13">Request_Name</A></span> (<span class="symbol"><A NAME="ref_281_28" HREF="terminal_interface-curses-forms__adb.htm#ref_74_27">Key</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A>) <b>return</b> String; - <span class="comment"><EM>-- Same as function</EM></span> + <b>type</b> <span class="symbol"><a name="ref_136_9">Field_Array_Access</a></span> <b>is</b> <b>access</b> Field_Array; + + <b>procedure</b> <span class="symbol"><a name="ref_138_14" href="terminal_interface-curses-forms__adb.htm#ref_1002_14">Free</a></span> (<span class="symbol"><a name="ref_138_20" href="terminal_interface-curses-forms__adb.htm#ref_1002_20">FA</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</a>; + <span class="symbol"><a name="ref_139_20" href="terminal_interface-curses-forms__adb.htm#ref_1003_20">Free_Fields</a></span> : Boolean := False); + <span class="comment"><em>-- Release the memory for an allocated field array</em></span> + <span class="comment"><em>-- If Free_Fields is True, call Delete() for all the fields in</em></span> + <span class="comment"><em>-- the array.</em></span> + + <b>subtype</b> <span class="symbol"><a name="ref_144_12">Form_Request_Code</a></span> <b>is</b> <a href="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</a> <b>range</b> (<a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 1) .. (<a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 57); + + <span class="comment"><em>-- The prefix F_ stands for "Form Request"</em></span> + <span class="symbol"><a name="ref_147_4">F_Next_Page</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 1; + <span class="symbol"><a name="ref_148_4">F_Previous_Page</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 2; + <span class="symbol"><a name="ref_149_4">F_First_Page</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 3; + <span class="symbol"><a name="ref_150_4">F_Last_Page</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 4; + + <span class="symbol"><a name="ref_152_4">F_Next_Field</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 5; + <span class="symbol"><a name="ref_153_4">F_Previous_Field</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 6; + <span class="symbol"><a name="ref_154_4">F_First_Field</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 7; + <span class="symbol"><a name="ref_155_4">F_Last_Field</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 8; + <span class="symbol"><a name="ref_156_4">F_Sorted_Next_Field</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 9; + <span class="symbol"><a name="ref_157_4">F_Sorted_Previous_Field</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 10; + <span class="symbol"><a name="ref_158_4">F_Sorted_First_Field</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 11; + <span class="symbol"><a name="ref_159_4">F_Sorted_Last_Field</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 12; + <span class="symbol"><a name="ref_160_4">F_Left_Field</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 13; + <span class="symbol"><a name="ref_161_4">F_Right_Field</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 14; + <span class="symbol"><a name="ref_162_4">F_Up_Field</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 15; + <span class="symbol"><a name="ref_163_4">F_Down_Field</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 16; + + <span class="symbol"><a name="ref_165_4">F_Next_Char</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 17; + <span class="symbol"><a name="ref_166_4">F_Previous_Char</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 18; + <span class="symbol"><a name="ref_167_4">F_Next_Line</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 19; + <span class="symbol"><a name="ref_168_4">F_Previous_Line</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 20; + <span class="symbol"><a name="ref_169_4">F_Next_Word</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 21; + <span class="symbol"><a name="ref_170_4">F_Previous_Word</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 22; + <span class="symbol"><a name="ref_171_4">F_Begin_Field</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 23; + <span class="symbol"><a name="ref_172_4">F_End_Field</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 24; + <span class="symbol"><a name="ref_173_4">F_Begin_Line</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 25; + <span class="symbol"><a name="ref_174_4">F_End_Line</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 26; + <span class="symbol"><a name="ref_175_4">F_Left_Char</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 27; + <span class="symbol"><a name="ref_176_4">F_Right_Char</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 28; + <span class="symbol"><a name="ref_177_4">F_Up_Char</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 29; + <span class="symbol"><a name="ref_178_4">F_Down_Char</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 30; + + <span class="symbol"><a name="ref_180_4">F_New_Line</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 31; + <span class="symbol"><a name="ref_181_4">F_Insert_Char</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 32; + <span class="symbol"><a name="ref_182_4">F_Insert_Line</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 33; + <span class="symbol"><a name="ref_183_4">F_Delete_Char</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 34; + <span class="symbol"><a name="ref_184_4">F_Delete_Previous</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 35; + <span class="symbol"><a name="ref_185_4">F_Delete_Line</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 36; + <span class="symbol"><a name="ref_186_4">F_Delete_Word</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 37; + <span class="symbol"><a name="ref_187_4">F_Clear_EOL</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 38; + <span class="symbol"><a name="ref_188_4">F_Clear_EOF</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 39; + <span class="symbol"><a name="ref_189_4">F_Clear_Field</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 40; + <span class="symbol"><a name="ref_190_4">F_Overlay_Mode</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 41; + <span class="symbol"><a name="ref_191_4">F_Insert_Mode</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 42; + + <span class="comment"><em>-- Vertical Scrolling</em></span> + <span class="symbol"><a name="ref_194_4">F_ScrollForward_Line</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 43; + <span class="symbol"><a name="ref_195_4">F_ScrollBackward_Line</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 44; + <span class="symbol"><a name="ref_196_4">F_ScrollForward_Page</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 45; + <span class="symbol"><a name="ref_197_4">F_ScrollBackward_Page</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 46; + <span class="symbol"><a name="ref_198_4">F_ScrollForward_HalfPage</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 47; + <span class="symbol"><a name="ref_199_4">F_ScrollBackward_HalfPage</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 48; + + <span class="comment"><em>-- Horizontal Scrolling</em></span> + <span class="symbol"><a name="ref_202_4">F_HScrollForward_Char</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 49; + <span class="symbol"><a name="ref_203_4">F_HScrollBackward_Char</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 50; + <span class="symbol"><a name="ref_204_4">F_HScrollForward_Line</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 51; + <span class="symbol"><a name="ref_205_4">F_HScrollBackward_Line</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 52; + <span class="symbol"><a name="ref_206_4">F_HScrollForward_HalfLine</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 53; + <span class="symbol"><a name="ref_207_4">F_HScrollBackward_HalfLine</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 54; + + <span class="symbol"><a name="ref_209_4">F_Validate_Field</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 55; + <span class="symbol"><a name="ref_210_4">F_Next_Choice</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 56; + <span class="symbol"><a name="ref_211_4">F_Previous_Choice</a></span> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 57; + + <span class="comment"><em>-- For those who like the old 'C' style request names</em></span> + REQ_NEXT_PAGE : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_147_4">F_Next_Page</a>; + REQ_PREV_PAGE : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_148_4">F_Previous_Page</a>; + REQ_FIRST_PAGE : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_149_4">F_First_Page</a>; + REQ_LAST_PAGE : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_150_4">F_Last_Page</a>; + + REQ_NEXT_FIELD : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_152_4">F_Next_Field</a>; + REQ_PREV_FIELD : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_153_4">F_Previous_Field</a>; + REQ_FIRST_FIELD : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_154_4">F_First_Field</a>; + REQ_LAST_FIELD : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_155_4">F_Last_Field</a>; + REQ_SNEXT_FIELD : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_156_4">F_Sorted_Next_Field</a>; + REQ_SPREV_FIELD : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_157_4">F_Sorted_Previous_Field</a>; + REQ_SFIRST_FIELD : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_158_4">F_Sorted_First_Field</a>; + REQ_SLAST_FIELD : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_159_4">F_Sorted_Last_Field</a>; + REQ_LEFT_FIELD : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_160_4">F_Left_Field</a>; + REQ_RIGHT_FIELD : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_161_4">F_Right_Field</a>; + REQ_UP_FIELD : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_162_4">F_Up_Field</a>; + REQ_DOWN_FIELD : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_163_4">F_Down_Field</a>; + + REQ_NEXT_CHAR : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_165_4">F_Next_Char</a>; + REQ_PREV_CHAR : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_166_4">F_Previous_Char</a>; + REQ_NEXT_LINE : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_167_4">F_Next_Line</a>; + REQ_PREV_LINE : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_168_4">F_Previous_Line</a>; + REQ_NEXT_WORD : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_169_4">F_Next_Word</a>; + REQ_PREV_WORD : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_170_4">F_Previous_Word</a>; + REQ_BEG_FIELD : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_171_4">F_Begin_Field</a>; + REQ_END_FIELD : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_172_4">F_End_Field</a>; + REQ_BEG_LINE : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_173_4">F_Begin_Line</a>; + REQ_END_LINE : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_174_4">F_End_Line</a>; + REQ_LEFT_CHAR : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_175_4">F_Left_Char</a>; + REQ_RIGHT_CHAR : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_176_4">F_Right_Char</a>; + REQ_UP_CHAR : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_177_4">F_Up_Char</a>; + REQ_DOWN_CHAR : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_178_4">F_Down_Char</a>; + + REQ_NEW_LINE : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_180_4">F_New_Line</a>; + REQ_INS_CHAR : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_181_4">F_Insert_Char</a>; + REQ_INS_LINE : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_182_4">F_Insert_Line</a>; + REQ_DEL_CHAR : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_183_4">F_Delete_Char</a>; + REQ_DEL_PREV : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_184_4">F_Delete_Previous</a>; + REQ_DEL_LINE : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_185_4">F_Delete_Line</a>; + REQ_DEL_WORD : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_186_4">F_Delete_Word</a>; + REQ_CLR_EOL : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_187_4">F_Clear_EOL</a>; + REQ_CLR_EOF : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_188_4">F_Clear_EOF</a>; + REQ_CLR_FIELD : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_189_4">F_Clear_Field</a>; + REQ_OVL_MODE : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_190_4">F_Overlay_Mode</a>; + REQ_INS_MODE : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_191_4">F_Insert_Mode</a>; + + REQ_SCR_FLINE : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_194_4">F_ScrollForward_Line</a>; + REQ_SCR_BLINE : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_195_4">F_ScrollBackward_Line</a>; + REQ_SCR_FPAGE : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_196_4">F_ScrollForward_Page</a>; + REQ_SCR_BPAGE : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_197_4">F_ScrollBackward_Page</a>; + REQ_SCR_FHPAGE : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_198_4">F_ScrollForward_HalfPage</a>; + REQ_SCR_BHPAGE : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_199_4">F_ScrollBackward_HalfPage</a>; + + REQ_SCR_FCHAR : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_202_4">F_HScrollForward_Char</a>; + REQ_SCR_BCHAR : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_203_4">F_HScrollBackward_Char</a>; + REQ_SCR_HFLINE : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_204_4">F_HScrollForward_Line</a>; + REQ_SCR_HBLINE : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_205_4">F_HScrollBackward_Line</a>; + REQ_SCR_HFHALF : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_206_4">F_HScrollForward_HalfLine</a>; + REQ_SCR_HBHALF : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_207_4">F_HScrollBackward_HalfLine</a>; + + REQ_VALIDATION : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_209_4">F_Validate_Field</a>; + REQ_NEXT_CHOICE : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_210_4">F_Next_Choice</a>; + REQ_PREV_CHOICE : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_211_4">F_Previous_Choice</a>; + + <b>procedure</b> <span class="symbol"><a name="ref_278_14" href="terminal_interface-curses-forms__adb.htm#ref_65_14">Request_Name</a></span> (<span class="symbol"><a name="ref_278_28" href="terminal_interface-curses-forms__adb.htm#ref_65_28">Key</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a>; + <span class="symbol"><a name="ref_279_28" href="terminal_interface-curses-forms__adb.htm#ref_66_33">Name</a></span> : <b>out</b> String); + + <b>function</b> <span class="symbol"><a name="ref_281_14" href="terminal_interface-curses-forms__adb.htm#ref_74_13">Request_Name</a></span> (<span class="symbol"><a name="ref_281_28" href="terminal_interface-curses-forms__adb.htm#ref_74_27">Key</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</a>) <b>return</b> String; + <span class="comment"><em>-- Same as function</em></span> <b>pragma</b> Inline (Request_Name); - <span class="comment"><EM>------------------</EM></span> - <span class="comment"><EM>-- Exceptions --</EM></span> - <span class="comment"><EM>------------------</EM></span> - <span class="symbol"><A NAME="ref_288_4">Form_Exception</A></span> : <b>exception</b>; - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/form_field_new.3x.html">form_field_new.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_1">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_295_13" HREF="terminal_interface-curses-forms__adb.htm#ref_92_13">Create</A></span> (<span class="symbol"><A NAME="ref_295_21" HREF="terminal_interface-curses-forms__adb.htm#ref_92_21">Height</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_296_21" HREF="terminal_interface-curses-forms__adb.htm#ref_93_21">Width</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>; - <span class="symbol"><A NAME="ref_297_21" HREF="terminal_interface-curses-forms__adb.htm#ref_94_21">Top</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_298_21" HREF="terminal_interface-curses-forms__adb.htm#ref_95_21">Left</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_299_21" HREF="terminal_interface-curses-forms__adb.htm#ref_96_21">Off_Screen</A></span> : Natural := 0; - <span class="symbol"><A NAME="ref_300_21" HREF="terminal_interface-curses-forms__adb.htm#ref_97_21">More_Buffers</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A>'First) - <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_new.3x.html">new_field()</A></EM></span> - <span class="comment"><EM>-- An overloaded Create is defined later. Pragma Inline appears there.</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_2">|</A></EM></span> - <b>function</b> New_Field (<span class="symbol"><A NAME="ref_306_24">Height</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_307_24">Width</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>; - <span class="symbol"><A NAME="ref_308_24">Top</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_309_24">Left</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_310_24">Off_Screen</A></span> : Natural := 0; - <span class="symbol"><A NAME="ref_311_24">More_Buffers</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A>'First) - <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_295_13">Create</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_new.3x.html">new_field()</A></EM></span> + <span class="comment"><em>------------------</em></span> + <span class="comment"><em>-- Exceptions --</em></span> + <span class="comment"><em>------------------</em></span> + <span class="symbol"><a name="ref_288_4">Form_Exception</a></span> : <b>exception</b>; + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/form_field_new.3x.html">form_field_new.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_1">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_295_13" href="terminal_interface-curses-forms__adb.htm#ref_92_13">Create</a></span> (<span class="symbol"><a name="ref_295_21" href="terminal_interface-curses-forms__adb.htm#ref_92_21">Height</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_296_21" href="terminal_interface-curses-forms__adb.htm#ref_93_21">Width</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>; + <span class="symbol"><a name="ref_297_21" href="terminal_interface-curses-forms__adb.htm#ref_94_21">Top</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_298_21" href="terminal_interface-curses-forms__adb.htm#ref_95_21">Left</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_299_21" href="terminal_interface-curses-forms__adb.htm#ref_96_21">Off_Screen</a></span> : Natural := 0; + <span class="symbol"><a name="ref_300_21" href="terminal_interface-curses-forms__adb.htm#ref_97_21">More_Buffers</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>'First) + <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_new.3x.html">new_field()</A></em></span> + <span class="comment"><em>-- An overloaded Create is defined later. Pragma Inline appears there.</em></span> + + <span class="comment"><em>-- <A NAME="AFU_2">|</A></em></span> + <b>function</b> New_Field (<span class="symbol"><a name="ref_306_24">Height</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_307_24">Width</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>; + <span class="symbol"><a name="ref_308_24">Top</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_309_24">Left</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_310_24">Off_Screen</a></span> : Natural := 0; + <span class="symbol"><a name="ref_311_24">More_Buffers</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>'First) + <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_295_13">Create</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_new.3x.html">new_field()</A></em></span> <b>pragma</b> Inline (New_Field); - <span class="comment"><EM>-- <A NAME="AFU_3">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_317_14" HREF="terminal_interface-curses-forms__adb.htm#ref_115_14">Delete</A></span> (<span class="symbol"><A NAME="ref_317_22" HREF="terminal_interface-curses-forms__adb.htm#ref_115_22">Fld</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_new.3x.html">free_field()</A></EM></span> - <span class="comment"><EM>-- Reset Fld to Null_Field</EM></span> - <span class="comment"><EM>-- An overloaded Delete is defined later. Pragma Inline appears there.</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_4">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_323_13" HREF="terminal_interface-curses-forms__adb.htm#ref_127_13">Duplicate</A></span> (<span class="symbol"><A NAME="ref_323_24" HREF="terminal_interface-curses-forms__adb.htm#ref_127_24">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_324_24" HREF="terminal_interface-curses-forms__adb.htm#ref_128_24">Top</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_325_24" HREF="terminal_interface-curses-forms__adb.htm#ref_129_24">Left</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_new.3x.html">dup_field()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_3">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_317_14" href="terminal_interface-curses-forms__adb.htm#ref_115_14">Delete</a></span> (<span class="symbol"><a name="ref_317_22" href="terminal_interface-curses-forms__adb.htm#ref_115_22">Fld</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_new.3x.html">free_field()</A></em></span> + <span class="comment"><em>-- Reset Fld to Null_Field</em></span> + <span class="comment"><em>-- An overloaded Delete is defined later. Pragma Inline appears there.</em></span> + + <span class="comment"><em>-- <A NAME="AFU_4">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_323_13" href="terminal_interface-curses-forms__adb.htm#ref_127_13">Duplicate</a></span> (<span class="symbol"><a name="ref_323_24" href="terminal_interface-curses-forms__adb.htm#ref_127_24">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_324_24" href="terminal_interface-curses-forms__adb.htm#ref_128_24">Top</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_325_24" href="terminal_interface-curses-forms__adb.htm#ref_129_24">Left</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_new.3x.html">dup_field()</A></em></span> <b>pragma</b> Inline (Duplicate); - <span class="comment"><EM>-- <A NAME="AFU_5">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_330_13" HREF="terminal_interface-curses-forms__adb.htm#ref_148_13">Link</A></span> (<span class="symbol"><A NAME="ref_330_19" HREF="terminal_interface-curses-forms__adb.htm#ref_148_19">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_331_19" HREF="terminal_interface-curses-forms__adb.htm#ref_149_19">Top</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_332_19" HREF="terminal_interface-curses-forms__adb.htm#ref_150_19">Left</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_new.3x.html">link_field()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_330_13">Link</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/form_field_just.3x.html">form_field_just.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_6">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_341_14" HREF="terminal_interface-curses-forms__adb.htm#ref_173_14">Set_Justification</A></span> (<span class="symbol"><A NAME="ref_341_33" HREF="terminal_interface-curses-forms__adb.htm#ref_173_33">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_342_33" HREF="terminal_interface-curses-forms__adb.htm#ref_174_33">Just</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_58_9">Field_Justification</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_58_33">None</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_just.3x.html">set_field_just()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_341_14">Set_Justification</A>); - - <span class="comment"><EM>-- <A NAME="AFU_7">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_347_13" HREF="terminal_interface-curses-forms__adb.htm#ref_187_13">Get_Justification</A></span> (<span class="symbol"><A NAME="ref_347_32" HREF="terminal_interface-curses-forms__adb.htm#ref_187_32">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_58_9">Field_Justification</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_just.3x.html">field_just()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_347_13">Get_Justification</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/form_field_buffer.3x.html">form_field_buffer.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_8">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_356_14" HREF="terminal_interface-curses-forms__adb.htm#ref_201_14">Set_Buffer</A></span> - (<span class="symbol"><A NAME="ref_357_7" HREF="terminal_interface-curses-forms__adb.htm#ref_202_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_358_7" HREF="terminal_interface-curses-forms__adb.htm#ref_203_7">Buffer</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A>'First; - <span class="symbol"><A NAME="ref_359_7" HREF="terminal_interface-curses-forms__adb.htm#ref_204_7">Str</A></span> : String); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_buffer.3x.html">set_field_buffer()</A></EM></span> - <span class="comment"><EM>-- Not inlined</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_9">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_364_14" HREF="terminal_interface-curses-forms__adb.htm#ref_218_14">Get_Buffer</A></span> - (<span class="symbol"><A NAME="ref_365_7" HREF="terminal_interface-curses-forms__adb.htm#ref_219_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_366_7" HREF="terminal_interface-curses-forms__adb.htm#ref_220_7">Buffer</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A>'First; - <span class="symbol"><A NAME="ref_367_7" HREF="terminal_interface-curses-forms__adb.htm#ref_221_7">Str</A></span> : <b>out</b> String); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_buffer.3x.html">field_buffer()</A></EM></span> - - <b>function</b> <span class="symbol"><A NAME="ref_370_13" HREF="terminal_interface-curses-forms__adb.htm#ref_230_13">Get_Buffer</A></span> - (<span class="symbol"><A NAME="ref_371_7" HREF="terminal_interface-curses-forms__adb.htm#ref_231_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_372_7" HREF="terminal_interface-curses-forms__adb.htm#ref_232_7">Buffer</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A>'First) <b>return</b> String; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_buffer.3x.html">field_buffer()</A></EM></span> - <span class="comment"><EM>-- Same but as function</EM></span> + <span class="comment"><em>-- <A NAME="AFU_5">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_330_13" href="terminal_interface-curses-forms__adb.htm#ref_148_13">Link</a></span> (<span class="symbol"><a name="ref_330_19" href="terminal_interface-curses-forms__adb.htm#ref_148_19">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_331_19" href="terminal_interface-curses-forms__adb.htm#ref_149_19">Top</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_332_19" href="terminal_interface-curses-forms__adb.htm#ref_150_19">Left</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_new.3x.html">link_field()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_330_13">Link</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/form_field_just.3x.html">form_field_just.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_6">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_341_14" href="terminal_interface-curses-forms__adb.htm#ref_173_14">Set_Justification</a></span> (<span class="symbol"><a name="ref_341_33" href="terminal_interface-curses-forms__adb.htm#ref_173_33">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_342_33" href="terminal_interface-curses-forms__adb.htm#ref_174_33">Just</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_58_9">Field_Justification</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_58_33">None</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_just.3x.html">set_field_just()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_341_14">Set_Justification</a>); + + <span class="comment"><em>-- <A NAME="AFU_7">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_347_13" href="terminal_interface-curses-forms__adb.htm#ref_187_13">Get_Justification</a></span> (<span class="symbol"><a name="ref_347_32" href="terminal_interface-curses-forms__adb.htm#ref_187_32">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_58_9">Field_Justification</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_just.3x.html">field_just()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_347_13">Get_Justification</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/form_field_buffer.3x.html">form_field_buffer.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_8">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_356_14" href="terminal_interface-curses-forms__adb.htm#ref_201_14">Set_Buffer</a></span> + (<span class="symbol"><a name="ref_357_7" href="terminal_interface-curses-forms__adb.htm#ref_202_7">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_358_7" href="terminal_interface-curses-forms__adb.htm#ref_203_7">Buffer</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>'First; + <span class="symbol"><a name="ref_359_7" href="terminal_interface-curses-forms__adb.htm#ref_204_7">Str</a></span> : String); + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_buffer.3x.html">set_field_buffer()</A></em></span> + <span class="comment"><em>-- Not inlined</em></span> + + <span class="comment"><em>-- <A NAME="AFU_9">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_364_14" href="terminal_interface-curses-forms__adb.htm#ref_218_14">Get_Buffer</a></span> + (<span class="symbol"><a name="ref_365_7" href="terminal_interface-curses-forms__adb.htm#ref_219_7">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_366_7" href="terminal_interface-curses-forms__adb.htm#ref_220_7">Buffer</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>'First; + <span class="symbol"><a name="ref_367_7" href="terminal_interface-curses-forms__adb.htm#ref_221_7">Str</a></span> : <b>out</b> String); + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_buffer.3x.html">field_buffer()</A></em></span> + + <b>function</b> <span class="symbol"><a name="ref_370_13" href="terminal_interface-curses-forms__adb.htm#ref_230_13">Get_Buffer</a></span> + (<span class="symbol"><a name="ref_371_7" href="terminal_interface-curses-forms__adb.htm#ref_231_7">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_372_7" href="terminal_interface-curses-forms__adb.htm#ref_232_7">Buffer</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>'First) <b>return</b> String; + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_buffer.3x.html">field_buffer()</A></em></span> + <span class="comment"><em>-- Same but as function</em></span> <b>pragma</b> Inline (Get_Buffer); - <span class="comment"><EM>-- <A NAME="AFU_10">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_378_14" HREF="terminal_interface-curses-forms__adb.htm#ref_243_14">Set_Status</A></span> (<span class="symbol"><A NAME="ref_378_26" HREF="terminal_interface-curses-forms__adb.htm#ref_243_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_379_26" HREF="terminal_interface-curses-forms__adb.htm#ref_244_26">Status</A></span> : Boolean := True); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_buffer.3x.html">set_field_status()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_378_14">Set_Status</A>); - - <span class="comment"><EM>-- <A NAME="AFU_11">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_384_13" HREF="terminal_interface-curses-forms__adb.htm#ref_258_13">Changed</A></span> (<span class="symbol"><A NAME="ref_384_22" HREF="terminal_interface-curses-forms__adb.htm#ref_258_22">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) <b>return</b> Boolean; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_buffer.3x.html">field_status()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_384_13">Changed</A>); - - <span class="comment"><EM>-- <A NAME="AFU_12">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_389_14" HREF="terminal_interface-curses-forms__adb.htm#ref_274_14">Set_Maximum_Size</A></span> (<span class="symbol"><A NAME="ref_389_32" HREF="terminal_interface-curses-forms__adb.htm#ref_274_32">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_390_32" HREF="terminal_interface-curses-forms__adb.htm#ref_275_32">Max</A></span> : Natural := 0); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_buffer.3x.html">set_field_max()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_389_14">Set_Maximum_Size</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/form_field_opts.3x.html">form_field_opts.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_13">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_399_14" HREF="terminal_interface-curses-forms__adb.htm#ref_291_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_399_27" HREF="terminal_interface-curses-forms__adb.htm#ref_291_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_400_27" HREF="terminal_interface-curses-forms__adb.htm#ref_292_27">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_opts.3x.html">set_field_opts()</A></EM></span> - <span class="comment"><EM>-- An overloaded version is defined later. Pragma Inline appears there</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_14">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_405_14" HREF="terminal_interface-curses-forms__adb.htm#ref_304_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_405_30" HREF="terminal_interface-curses-forms__adb.htm#ref_304_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_406_30" HREF="terminal_interface-curses-forms__adb.htm#ref_305_30">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</A>; - <span class="symbol"><A NAME="ref_407_30" HREF="terminal_interface-curses-forms__adb.htm#ref_306_30">On</A></span> : Boolean := True); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_opts.3x.html">field_opts_on()</A></EM></span> - <span class="comment"><EM>-- AKA: field_opts_off()</EM></span> - <span class="comment"><EM>-- An overloaded version is defined later. Pragma Inline appears there</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_15">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_413_14" HREF="terminal_interface-curses-forms__adb.htm#ref_325_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_413_27" HREF="terminal_interface-curses-forms__adb.htm#ref_325_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_414_27" HREF="terminal_interface-curses-forms__adb.htm#ref_326_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_opts.3x.html">field_opts()</A></EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_16">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_418_13" HREF="terminal_interface-curses-forms__adb.htm#ref_337_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_418_26" HREF="terminal_interface-curses-forms__adb.htm#ref_337_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</A>) - <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_opts.3x.html">field_opts()</A></EM></span> - <span class="comment"><EM>-- An overloaded version is defined later. Pragma Inline appears there</EM></span> - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/form_field_attributes.3x.html">form_field_attributes.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_17">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_428_14" HREF="terminal_interface-curses-forms__adb.htm#ref_352_14">Set_Foreground</A></span> - (<span class="symbol"><A NAME="ref_429_7" HREF="terminal_interface-curses-forms__adb.htm#ref_353_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_430_7" HREF="terminal_interface-curses-forms__adb.htm#ref_354_7">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</A>; - <span class="symbol"><A NAME="ref_431_7" HREF="terminal_interface-curses-forms__adb.htm#ref_355_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'First); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_attributes.3x.html">set_field_fore()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_428_14">Set_Foreground</A>); - - <span class="comment"><EM>-- <A NAME="AFU_18">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_436_14" HREF="terminal_interface-curses-forms__adb.htm#ref_369_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_436_26" HREF="terminal_interface-curses-forms__adb.htm#ref_369_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_437_26" HREF="terminal_interface-curses-forms__adb.htm#ref_370_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_attributes.3x.html">field_fore()</A></EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_19">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_441_14" HREF="terminal_interface-curses-forms__adb.htm#ref_378_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_441_26" HREF="terminal_interface-curses-forms__adb.htm#ref_378_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_442_26" HREF="terminal_interface-curses-forms__adb.htm#ref_379_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A>; - <span class="symbol"><A NAME="ref_443_26" HREF="terminal_interface-curses-forms__adb.htm#ref_380_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_attributes.3x.html">field_fore()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_10">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_378_14" href="terminal_interface-curses-forms__adb.htm#ref_243_14">Set_Status</a></span> (<span class="symbol"><a name="ref_378_26" href="terminal_interface-curses-forms__adb.htm#ref_243_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_379_26" href="terminal_interface-curses-forms__adb.htm#ref_244_26">Status</a></span> : Boolean := True); + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_buffer.3x.html">set_field_status()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_378_14">Set_Status</a>); + + <span class="comment"><em>-- <A NAME="AFU_11">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_384_13" href="terminal_interface-curses-forms__adb.htm#ref_258_13">Changed</a></span> (<span class="symbol"><a name="ref_384_22" href="terminal_interface-curses-forms__adb.htm#ref_258_22">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> Boolean; + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_buffer.3x.html">field_status()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_384_13">Changed</a>); + + <span class="comment"><em>-- <A NAME="AFU_12">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_389_14" href="terminal_interface-curses-forms__adb.htm#ref_274_14">Set_Maximum_Size</a></span> (<span class="symbol"><a name="ref_389_32" href="terminal_interface-curses-forms__adb.htm#ref_274_32">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_390_32" href="terminal_interface-curses-forms__adb.htm#ref_275_32">Max</a></span> : Natural := 0); + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_buffer.3x.html">set_field_max()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_389_14">Set_Maximum_Size</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/form_field_opts.3x.html">form_field_opts.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_13">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_399_14" href="terminal_interface-curses-forms__adb.htm#ref_291_14">Set_Options</a></span> (<span class="symbol"><a name="ref_399_27" href="terminal_interface-curses-forms__adb.htm#ref_291_27">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_400_27" href="terminal_interface-curses-forms__adb.htm#ref_292_27">Options</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_opts.3x.html">set_field_opts()</A></em></span> + <span class="comment"><em>-- An overloaded version is defined later. Pragma Inline appears there</em></span> + + <span class="comment"><em>-- <A NAME="AFU_14">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_405_14" href="terminal_interface-curses-forms__adb.htm#ref_304_14">Switch_Options</a></span> (<span class="symbol"><a name="ref_405_30" href="terminal_interface-curses-forms__adb.htm#ref_304_30">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_406_30" href="terminal_interface-curses-forms__adb.htm#ref_305_30">Options</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>; + <span class="symbol"><a name="ref_407_30" href="terminal_interface-curses-forms__adb.htm#ref_306_30">On</a></span> : Boolean := True); + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_opts.3x.html">field_opts_on()</A></em></span> + <span class="comment"><em>-- AKA: field_opts_off()</em></span> + <span class="comment"><em>-- An overloaded version is defined later. Pragma Inline appears there</em></span> + + <span class="comment"><em>-- <A NAME="AFU_15">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_413_14" href="terminal_interface-curses-forms__adb.htm#ref_325_14">Get_Options</a></span> (<span class="symbol"><a name="ref_413_27" href="terminal_interface-curses-forms__adb.htm#ref_325_27">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_414_27" href="terminal_interface-curses-forms__adb.htm#ref_326_27">Options</a></span> : <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_opts.3x.html">field_opts()</A></em></span> + + <span class="comment"><em>-- <A NAME="AFU_16">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_418_13" href="terminal_interface-curses-forms__adb.htm#ref_337_13">Get_Options</a></span> (<span class="symbol"><a name="ref_418_26" href="terminal_interface-curses-forms__adb.htm#ref_337_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a>) + <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_63_9">Field_Option_Set</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_opts.3x.html">field_opts()</A></em></span> + <span class="comment"><em>-- An overloaded version is defined later. Pragma Inline appears there</em></span> + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/form_field_attributes.3x.html">form_field_attributes.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_17">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_428_14" href="terminal_interface-curses-forms__adb.htm#ref_352_14">Set_Foreground</a></span> + (<span class="symbol"><a name="ref_429_7" href="terminal_interface-curses-forms__adb.htm#ref_353_7">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_430_7" href="terminal_interface-curses-forms__adb.htm#ref_354_7">Fore</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>; + <span class="symbol"><a name="ref_431_7" href="terminal_interface-curses-forms__adb.htm#ref_355_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First); + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_attributes.3x.html">set_field_fore()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_428_14">Set_Foreground</a>); + + <span class="comment"><em>-- <A NAME="AFU_18">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_436_14" href="terminal_interface-curses-forms__adb.htm#ref_369_14">Foreground</a></span> (<span class="symbol"><a name="ref_436_26" href="terminal_interface-curses-forms__adb.htm#ref_369_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_437_26" href="terminal_interface-curses-forms__adb.htm#ref_370_26">Fore</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_attributes.3x.html">field_fore()</A></em></span> + + <span class="comment"><em>-- <A NAME="AFU_19">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_441_14" href="terminal_interface-curses-forms__adb.htm#ref_378_14">Foreground</a></span> (<span class="symbol"><a name="ref_441_26" href="terminal_interface-curses-forms__adb.htm#ref_378_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_442_26" href="terminal_interface-curses-forms__adb.htm#ref_379_26">Fore</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>; + <span class="symbol"><a name="ref_443_26" href="terminal_interface-curses-forms__adb.htm#ref_380_26">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_attributes.3x.html">field_fore()</A></em></span> <b>pragma</b> Inline (Foreground); - <span class="comment"><EM>-- <A NAME="AFU_20">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_448_14" HREF="terminal_interface-curses-forms__adb.htm#ref_391_14">Set_Background</A></span> - (<span class="symbol"><A NAME="ref_449_7" HREF="terminal_interface-curses-forms__adb.htm#ref_392_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_450_7" HREF="terminal_interface-curses-forms__adb.htm#ref_393_7">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</A>; - <span class="symbol"><A NAME="ref_451_7" HREF="terminal_interface-curses-forms__adb.htm#ref_394_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'First); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_attributes.3x.html">set_field_back()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_20">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_448_14" href="terminal_interface-curses-forms__adb.htm#ref_391_14">Set_Background</a></span> + (<span class="symbol"><a name="ref_449_7" href="terminal_interface-curses-forms__adb.htm#ref_392_7">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_450_7" href="terminal_interface-curses-forms__adb.htm#ref_393_7">Back</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>; + <span class="symbol"><a name="ref_451_7" href="terminal_interface-curses-forms__adb.htm#ref_394_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First); + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_attributes.3x.html">set_field_back()</A></em></span> <b>pragma</b> Inline (Set_Background); - <span class="comment"><EM>-- <A NAME="AFU_21">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_456_14" HREF="terminal_interface-curses-forms__adb.htm#ref_408_14">Background</A></span> (<span class="symbol"><A NAME="ref_456_26" HREF="terminal_interface-curses-forms__adb.htm#ref_408_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_457_26" HREF="terminal_interface-curses-forms__adb.htm#ref_409_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_attributes.3x.html">field_back()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_21">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_456_14" href="terminal_interface-curses-forms__adb.htm#ref_408_14">Background</a></span> (<span class="symbol"><a name="ref_456_26" href="terminal_interface-curses-forms__adb.htm#ref_408_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_457_26" href="terminal_interface-curses-forms__adb.htm#ref_409_26">Back</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_attributes.3x.html">field_back()</A></em></span> - <span class="comment"><EM>-- <A NAME="AFU_22">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_461_14" HREF="terminal_interface-curses-forms__adb.htm#ref_417_14">Background</A></span> (<span class="symbol"><A NAME="ref_461_26" HREF="terminal_interface-curses-forms__adb.htm#ref_417_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_462_26" HREF="terminal_interface-curses-forms__adb.htm#ref_418_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A>; - <span class="symbol"><A NAME="ref_463_26" HREF="terminal_interface-curses-forms__adb.htm#ref_419_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_attributes.3x.html">field_back()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_22">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_461_14" href="terminal_interface-curses-forms__adb.htm#ref_417_14">Background</a></span> (<span class="symbol"><a name="ref_461_26" href="terminal_interface-curses-forms__adb.htm#ref_417_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_462_26" href="terminal_interface-curses-forms__adb.htm#ref_418_26">Back</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>; + <span class="symbol"><a name="ref_463_26" href="terminal_interface-curses-forms__adb.htm#ref_419_26">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_attributes.3x.html">field_back()</A></em></span> <b>pragma</b> Inline (Background); - <span class="comment"><EM>-- <A NAME="AFU_23">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_468_14" HREF="terminal_interface-curses-forms__adb.htm#ref_430_14">Set_Pad_Character</A></span> (<span class="symbol"><A NAME="ref_468_33" HREF="terminal_interface-curses-forms__adb.htm#ref_430_33">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_469_33" HREF="terminal_interface-curses-forms__adb.htm#ref_431_33">Pad</A></span> : Character := Space); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_attributes.3x.html">set_field_pad()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_468_14">Set_Pad_Character</A>); - - <span class="comment"><EM>-- <A NAME="AFU_24">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_474_14" HREF="terminal_interface-curses-forms__adb.htm#ref_444_14">Pad_Character</A></span> (<span class="symbol"><A NAME="ref_474_29" HREF="terminal_interface-curses-forms__adb.htm#ref_444_29">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_475_29" HREF="terminal_interface-curses-forms__adb.htm#ref_445_29">Pad</A></span> : <b>out</b> Character); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_attributes.3x.html">field_pad()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_474_14">Pad_Character</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/form_field_info.3x.html">form_field_info.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_25">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_484_14" HREF="terminal_interface-curses-forms__adb.htm#ref_459_14">Info</A></span> (<span class="symbol"><A NAME="ref_484_20" HREF="terminal_interface-curses-forms__adb.htm#ref_459_20">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_485_20" HREF="terminal_interface-curses-forms__adb.htm#ref_460_20">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_486_20" HREF="terminal_interface-curses-forms__adb.htm#ref_461_20">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>; - <span class="symbol"><A NAME="ref_487_20" HREF="terminal_interface-curses-forms__adb.htm#ref_462_20">First_Row</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_488_20" HREF="terminal_interface-curses-forms__adb.htm#ref_463_20">First_Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_489_20" HREF="terminal_interface-curses-forms__adb.htm#ref_464_20">Off_Screen</A></span> : <b>out</b> Natural; - <span class="symbol"><A NAME="ref_490_20" HREF="terminal_interface-curses-forms__adb.htm#ref_465_20">Additional_Buffers</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_info.3x.html">field_info()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_484_14">Info</A>); - - <span class="comment"><EM>-- <A NAME="AFU_26">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_495_14" HREF="terminal_interface-curses-forms__adb.htm#ref_489_14">Dynamic_Info</A></span> (<span class="symbol"><A NAME="ref_495_28" HREF="terminal_interface-curses-forms__adb.htm#ref_489_28">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_496_28" HREF="terminal_interface-curses-forms__adb.htm#ref_490_28">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_497_28" HREF="terminal_interface-curses-forms__adb.htm#ref_491_28">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>; - <span class="symbol"><A NAME="ref_498_28" HREF="terminal_interface-curses-forms__adb.htm#ref_492_28">Max</A></span> : <b>out</b> Natural); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field_info.3x.html">dynamic_field_info()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_495_14">Dynamic_Info</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/form_win.3x.html">form_win.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_27">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_507_14" HREF="terminal_interface-curses-forms__adb.htm#ref_514_14">Set_Window</A></span> (<span class="symbol"><A NAME="ref_507_26" HREF="terminal_interface-curses-forms__adb.htm#ref_514_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_508_26" HREF="terminal_interface-curses-forms__adb.htm#ref_515_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_win.3x.html">set_form_win()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_507_14">Set_Window</A>); - - <span class="comment"><EM>-- <A NAME="AFU_28">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_513_13" HREF="terminal_interface-curses-forms__adb.htm#ref_527_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_513_25" HREF="terminal_interface-curses-forms__adb.htm#ref_527_25">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_win.3x.html">form_win()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_513_13">Get_Window</A>); - - <span class="comment"><EM>-- <A NAME="AFU_29">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_518_14" HREF="terminal_interface-curses-forms__adb.htm#ref_539_14">Set_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_518_30" HREF="terminal_interface-curses-forms__adb.htm#ref_539_30">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_519_30" HREF="terminal_interface-curses-forms__adb.htm#ref_540_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_win.3x.html">set_form_sub()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_518_14">Set_Sub_Window</A>); - - <span class="comment"><EM>-- <A NAME="AFU_30">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_524_13" HREF="terminal_interface-curses-forms__adb.htm#ref_552_13">Get_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_524_29" HREF="terminal_interface-curses-forms__adb.htm#ref_552_29">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_win.3x.html">form_sub()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_524_13">Get_Sub_Window</A>); - - <span class="comment"><EM>-- <A NAME="AFU_31">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_529_14" HREF="terminal_interface-curses-forms__adb.htm#ref_564_14">Scale</A></span> (<span class="symbol"><A NAME="ref_529_21" HREF="terminal_interface-curses-forms__adb.htm#ref_564_21">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_530_21" HREF="terminal_interface-curses-forms__adb.htm#ref_565_21">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_531_21" HREF="terminal_interface-curses-forms__adb.htm#ref_566_21">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_win.3x.html">scale_form()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_529_14">Scale</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/form_hook.3x.html">form_hook.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <b>type</b> <span class="symbol"><A NAME="ref_539_9">Form_Hook_Function</A></span> <b>is</b> <b>access</b> <b>procedure</b> (<span class="symbol"><A NAME="ref_539_49" HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>); - <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>); - - <span class="comment"><EM>-- <A NAME="AFU_32">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_543_14" HREF="terminal_interface-curses-forms__adb.htm#ref_585_14">Set_Field_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_543_35" HREF="terminal_interface-curses-forms__adb.htm#ref_585_35">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_544_35" HREF="terminal_interface-curses-forms__adb.htm#ref_586_35">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_hook.3x.html">set_field_init()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_543_14">Set_Field_Init_Hook</A>); - - <span class="comment"><EM>-- <A NAME="AFU_33">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_549_14" HREF="terminal_interface-curses-forms__adb.htm#ref_598_14">Set_Field_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_549_35" HREF="terminal_interface-curses-forms__adb.htm#ref_598_35">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_550_35" HREF="terminal_interface-curses-forms__adb.htm#ref_599_35">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_hook.3x.html">set_field_term()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_549_14">Set_Field_Term_Hook</A>); - - <span class="comment"><EM>-- <A NAME="AFU_34">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_555_14" HREF="terminal_interface-curses-forms__adb.htm#ref_611_14">Set_Form_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_555_34" HREF="terminal_interface-curses-forms__adb.htm#ref_611_34">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_556_34" HREF="terminal_interface-curses-forms__adb.htm#ref_612_34">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_hook.3x.html">set_form_init()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_555_14">Set_Form_Init_Hook</A>); - - <span class="comment"><EM>-- <A NAME="AFU_35">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_561_14" HREF="terminal_interface-curses-forms__adb.htm#ref_624_14">Set_Form_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_561_34" HREF="terminal_interface-curses-forms__adb.htm#ref_624_34">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_562_34" HREF="terminal_interface-curses-forms__adb.htm#ref_625_34">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_hook.3x.html">set_form_term()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_561_14">Set_Form_Term_Hook</A>); - - <span class="comment"><EM>-- <A NAME="AFU_36">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_567_13">Get_Field_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_567_34" HREF="terminal_interface-curses-forms__ads.htm#ref_567_13">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_hook.3x.html">field_init()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_23">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_468_14" href="terminal_interface-curses-forms__adb.htm#ref_430_14">Set_Pad_Character</a></span> (<span class="symbol"><a name="ref_468_33" href="terminal_interface-curses-forms__adb.htm#ref_430_33">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_469_33" href="terminal_interface-curses-forms__adb.htm#ref_431_33">Pad</a></span> : Character := Space); + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_attributes.3x.html">set_field_pad()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_468_14">Set_Pad_Character</a>); + + <span class="comment"><em>-- <A NAME="AFU_24">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_474_14" href="terminal_interface-curses-forms__adb.htm#ref_444_14">Pad_Character</a></span> (<span class="symbol"><a name="ref_474_29" href="terminal_interface-curses-forms__adb.htm#ref_444_29">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_475_29" href="terminal_interface-curses-forms__adb.htm#ref_445_29">Pad</a></span> : <b>out</b> Character); + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_attributes.3x.html">field_pad()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_474_14">Pad_Character</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/form_field_info.3x.html">form_field_info.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_25">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_484_14" href="terminal_interface-curses-forms__adb.htm#ref_459_14">Info</a></span> (<span class="symbol"><a name="ref_484_20" href="terminal_interface-curses-forms__adb.htm#ref_459_20">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_485_20" href="terminal_interface-curses-forms__adb.htm#ref_460_20">Lines</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_486_20" href="terminal_interface-curses-forms__adb.htm#ref_461_20">Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>; + <span class="symbol"><a name="ref_487_20" href="terminal_interface-curses-forms__adb.htm#ref_462_20">First_Row</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_488_20" href="terminal_interface-curses-forms__adb.htm#ref_463_20">First_Column</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_489_20" href="terminal_interface-curses-forms__adb.htm#ref_464_20">Off_Screen</a></span> : <b>out</b> Natural; + <span class="symbol"><a name="ref_490_20" href="terminal_interface-curses-forms__adb.htm#ref_465_20">Additional_Buffers</a></span> : <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_info.3x.html">field_info()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_484_14">Info</a>); + + <span class="comment"><em>-- <A NAME="AFU_26">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_495_14" href="terminal_interface-curses-forms__adb.htm#ref_489_14">Dynamic_Info</a></span> (<span class="symbol"><a name="ref_495_28" href="terminal_interface-curses-forms__adb.htm#ref_489_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_496_28" href="terminal_interface-curses-forms__adb.htm#ref_490_28">Lines</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_497_28" href="terminal_interface-curses-forms__adb.htm#ref_491_28">Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>; + <span class="symbol"><a name="ref_498_28" href="terminal_interface-curses-forms__adb.htm#ref_492_28">Max</a></span> : <b>out</b> Natural); + <span class="comment"><em>-- AKA: <A HREF="../man/form_field_info.3x.html">dynamic_field_info()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_495_14">Dynamic_Info</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/form_win.3x.html">form_win.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_27">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_507_14" href="terminal_interface-curses-forms__adb.htm#ref_514_14">Set_Window</a></span> (<span class="symbol"><a name="ref_507_26" href="terminal_interface-curses-forms__adb.htm#ref_514_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_508_26" href="terminal_interface-curses-forms__adb.htm#ref_515_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/form_win.3x.html">set_form_win()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_507_14">Set_Window</a>); + + <span class="comment"><em>-- <A NAME="AFU_28">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_513_13" href="terminal_interface-curses-forms__adb.htm#ref_527_13">Get_Window</a></span> (<span class="symbol"><a name="ref_513_25" href="terminal_interface-curses-forms__adb.htm#ref_527_25">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/form_win.3x.html">form_win()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_513_13">Get_Window</a>); + + <span class="comment"><em>-- <A NAME="AFU_29">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_518_14" href="terminal_interface-curses-forms__adb.htm#ref_539_14">Set_Sub_Window</a></span> (<span class="symbol"><a name="ref_518_30" href="terminal_interface-curses-forms__adb.htm#ref_539_30">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_519_30" href="terminal_interface-curses-forms__adb.htm#ref_540_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/form_win.3x.html">set_form_sub()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_518_14">Set_Sub_Window</a>); + + <span class="comment"><em>-- <A NAME="AFU_30">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_524_13" href="terminal_interface-curses-forms__adb.htm#ref_552_13">Get_Sub_Window</a></span> (<span class="symbol"><a name="ref_524_29" href="terminal_interface-curses-forms__adb.htm#ref_552_29">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/form_win.3x.html">form_sub()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_524_13">Get_Sub_Window</a>); + + <span class="comment"><em>-- <A NAME="AFU_31">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_529_14" href="terminal_interface-curses-forms__adb.htm#ref_564_14">Scale</a></span> (<span class="symbol"><a name="ref_529_21" href="terminal_interface-curses-forms__adb.htm#ref_564_21">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_530_21" href="terminal_interface-curses-forms__adb.htm#ref_565_21">Lines</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_531_21" href="terminal_interface-curses-forms__adb.htm#ref_566_21">Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/form_win.3x.html">scale_form()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_529_14">Scale</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/form_hook.3x.html">form_hook.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <b>type</b> <span class="symbol"><a name="ref_539_9">Form_Hook_Function</a></span> <b>is</b> <b>access</b> <b>procedure</b> (<span class="symbol"><a name="ref_539_49">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>); + <b>pragma</b> Convention (C, <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>); + + <span class="comment"><em>-- <A NAME="AFU_32">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_543_14" href="terminal_interface-curses-forms__adb.htm#ref_585_14">Set_Field_Init_Hook</a></span> (<span class="symbol"><a name="ref_543_35" href="terminal_interface-curses-forms__adb.htm#ref_585_35">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_544_35" href="terminal_interface-curses-forms__adb.htm#ref_586_35">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/form_hook.3x.html">set_field_init()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_543_14">Set_Field_Init_Hook</a>); + + <span class="comment"><em>-- <A NAME="AFU_33">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_549_14" href="terminal_interface-curses-forms__adb.htm#ref_598_14">Set_Field_Term_Hook</a></span> (<span class="symbol"><a name="ref_549_35" href="terminal_interface-curses-forms__adb.htm#ref_598_35">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_550_35" href="terminal_interface-curses-forms__adb.htm#ref_599_35">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/form_hook.3x.html">set_field_term()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_549_14">Set_Field_Term_Hook</a>); + + <span class="comment"><em>-- <A NAME="AFU_34">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_555_14" href="terminal_interface-curses-forms__adb.htm#ref_611_14">Set_Form_Init_Hook</a></span> (<span class="symbol"><a name="ref_555_34" href="terminal_interface-curses-forms__adb.htm#ref_611_34">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_556_34" href="terminal_interface-curses-forms__adb.htm#ref_612_34">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/form_hook.3x.html">set_form_init()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_555_14">Set_Form_Init_Hook</a>); + + <span class="comment"><em>-- <A NAME="AFU_35">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_561_14" href="terminal_interface-curses-forms__adb.htm#ref_624_14">Set_Form_Term_Hook</a></span> (<span class="symbol"><a name="ref_561_34" href="terminal_interface-curses-forms__adb.htm#ref_624_34">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_562_34" href="terminal_interface-curses-forms__adb.htm#ref_625_34">Proc</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/form_hook.3x.html">set_form_term()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_561_14">Set_Form_Term_Hook</a>); + + <span class="comment"><em>-- <A NAME="AFU_36">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_567_13">Get_Field_Init_Hook</a></span> (<span class="symbol"><a name="ref_567_34">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/form_hook.3x.html">field_init()</A></em></span> <b>pragma</b> Import (C, Get_Field_Init_Hook, "field_init"); - <span class="comment"><EM>-- <A NAME="AFU_37">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_572_13">Get_Field_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_572_34" HREF="terminal_interface-curses-forms__ads.htm#ref_572_13">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_hook.3x.html">field_term()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_37">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_572_13">Get_Field_Term_Hook</a></span> (<span class="symbol"><a name="ref_572_34">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/form_hook.3x.html">field_term()</A></em></span> <b>pragma</b> Import (C, Get_Field_Term_Hook, "field_term"); - <span class="comment"><EM>-- <A NAME="AFU_38">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_577_13">Get_Form_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_577_33" HREF="terminal_interface-curses-forms__ads.htm#ref_577_13">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_hook.3x.html">form_init()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_38">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_577_13">Get_Form_Init_Hook</a></span> (<span class="symbol"><a name="ref_577_33">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/form_hook.3x.html">form_init()</A></em></span> <b>pragma</b> Import (C, Get_Form_Init_Hook, "form_init"); - <span class="comment"><EM>-- <A NAME="AFU_39">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_582_13">Get_Form_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_582_33" HREF="terminal_interface-curses-forms__ads.htm#ref_582_13">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_hook.3x.html">form_term()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_39">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_582_13">Get_Form_Term_Hook</a></span> (<span class="symbol"><a name="ref_582_33">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/form_hook.3x.html">form_term()</A></em></span> <b>pragma</b> Import (C, Get_Form_Term_Hook, "form_term"); - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/form_field.3x.html">form_field.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_40">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_591_14" HREF="terminal_interface-curses-forms__adb.htm#ref_641_14">Redefine</A></span> (<span class="symbol"><A NAME="ref_591_24" HREF="terminal_interface-curses-forms__adb.htm#ref_641_24">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_592_24" HREF="terminal_interface-curses-forms__adb.htm#ref_642_24">Flds</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field.3x.html">set_form_fields()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_591_14">Redefine</A>); - - <span class="comment"><EM>-- <A NAME="AFU_41">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_597_14">Set_Fields</A></span> (<span class="symbol"><A NAME="ref_597_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_598_26">Flds</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</A>) <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_591_14">Redefine</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field.3x.html">set_form_fields()</A></EM></span> - <span class="comment"><EM>-- pragma Inline (Set_Fields);</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_42">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_603_13" HREF="terminal_interface-curses-forms__adb.htm#ref_659_13">Fields</A></span> (<span class="symbol"><A NAME="ref_603_21" HREF="terminal_interface-curses-forms__adb.htm#ref_659_21">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_604_21" HREF="terminal_interface-curses-forms__adb.htm#ref_660_21">Index</A></span> : Positive) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field.3x.html">form_fields()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_603_13">Fields</A>); - - <span class="comment"><EM>-- <A NAME="AFU_43">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_609_13" HREF="terminal_interface-curses-forms__adb.htm#ref_679_13">Field_Count</A></span> (<span class="symbol"><A NAME="ref_609_26" HREF="terminal_interface-curses-forms__adb.htm#ref_679_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> Natural; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field.3x.html">field_count()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_609_13">Field_Count</A>); - - <span class="comment"><EM>-- <A NAME="AFU_44">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_614_14" HREF="terminal_interface-curses-forms__adb.htm#ref_689_14">Move</A></span> (<span class="symbol"><A NAME="ref_614_20" HREF="terminal_interface-curses-forms__adb.htm#ref_689_20">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_615_20" HREF="terminal_interface-curses-forms__adb.htm#ref_690_20">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_616_20" HREF="terminal_interface-curses-forms__adb.htm#ref_691_20">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_field.3x.html">move_field()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_614_14">Move</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/form_new.3x.html">form_new.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_45">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_625_13" HREF="terminal_interface-curses-forms__adb.htm#ref_706_13">Create</A></span> (<span class="symbol"><A NAME="ref_625_21" HREF="terminal_interface-curses-forms__adb.htm#ref_706_21">Fields</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_new.3x.html">new_form()</A></EM></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/form_field.3x.html">form_field.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_40">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_591_14" href="terminal_interface-curses-forms__adb.htm#ref_641_14">Redefine</a></span> (<span class="symbol"><a name="ref_591_24" href="terminal_interface-curses-forms__adb.htm#ref_641_24">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_592_24" href="terminal_interface-curses-forms__adb.htm#ref_642_24">Flds</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/form_field.3x.html">set_form_fields()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_591_14">Redefine</a>); + + <span class="comment"><em>-- <A NAME="AFU_41">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_597_14">Set_Fields</a></span> (<span class="symbol"><a name="ref_597_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_598_26">Flds</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</a>) <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_591_14">Redefine</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/form_field.3x.html">set_form_fields()</A></em></span> + <span class="comment"><em>-- pragma Inline (Set_Fields);</em></span> + + <span class="comment"><em>-- <A NAME="AFU_42">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_603_13" href="terminal_interface-curses-forms__adb.htm#ref_659_13">Fields</a></span> (<span class="symbol"><a name="ref_603_21" href="terminal_interface-curses-forms__adb.htm#ref_659_21">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_604_21" href="terminal_interface-curses-forms__adb.htm#ref_660_21">Index</a></span> : Positive) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/form_field.3x.html">form_fields()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_603_13">Fields</a>); + + <span class="comment"><em>-- <A NAME="AFU_43">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_609_13" href="terminal_interface-curses-forms__adb.htm#ref_679_13">Field_Count</a></span> (<span class="symbol"><a name="ref_609_26" href="terminal_interface-curses-forms__adb.htm#ref_679_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> Natural; + <span class="comment"><em>-- AKA: <A HREF="../man/form_field.3x.html">field_count()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_609_13">Field_Count</a>); + + <span class="comment"><em>-- <A NAME="AFU_44">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_614_14" href="terminal_interface-curses-forms__adb.htm#ref_689_14">Move</a></span> (<span class="symbol"><a name="ref_614_20" href="terminal_interface-curses-forms__adb.htm#ref_689_20">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_615_20" href="terminal_interface-curses-forms__adb.htm#ref_690_20">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_616_20" href="terminal_interface-curses-forms__adb.htm#ref_691_20">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/form_field.3x.html">move_field()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_614_14">Move</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/form_new.3x.html">form_new.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_45">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_625_13" href="terminal_interface-curses-forms__adb.htm#ref_706_13">Create</a></span> (<span class="symbol"><a name="ref_625_21" href="terminal_interface-curses-forms__adb.htm#ref_706_21">Fields</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/form_new.3x.html">new_form()</A></em></span> <b>pragma</b> Inline (Create); - <span class="comment"><EM>-- <A NAME="AFU_46">|</A></EM></span> - <b>function</b> New_Form (<span class="symbol"><A NAME="ref_630_23">Fields</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A> - <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_625_13">Create</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_new.3x.html">new_form()</A></EM></span> - <span class="comment"><EM>-- pragma Inline (New_Form);</EM></span> + <span class="comment"><em>-- <A NAME="AFU_46">|</A></em></span> + <b>function</b> New_Form (<span class="symbol"><a name="ref_630_23">Fields</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a> + <b>renames</b> <a href="terminal_interface-curses-forms__ads.htm#ref_625_13">Create</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/form_new.3x.html">new_form()</A></em></span> + <span class="comment"><em>-- pragma Inline (New_Form);</em></span> - <span class="comment"><EM>-- <A NAME="AFU_47">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_636_14" HREF="terminal_interface-curses-forms__adb.htm#ref_727_14">Delete</A></span> (<span class="symbol"><A NAME="ref_636_22" HREF="terminal_interface-curses-forms__adb.htm#ref_727_22">Frm</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_new.3x.html">free_form()</A></EM></span> - <span class="comment"><EM>-- Reset Frm to Null_Form</EM></span> + <span class="comment"><em>-- <A NAME="AFU_47">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_636_14" href="terminal_interface-curses-forms__adb.htm#ref_727_14">Delete</a></span> (<span class="symbol"><a name="ref_636_22" href="terminal_interface-curses-forms__adb.htm#ref_727_22">Frm</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/form_new.3x.html">free_form()</A></em></span> + <span class="comment"><em>-- Reset Frm to Null_Form</em></span> <b>pragma</b> Inline (Delete); - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/form_opts.3x.html">form_opts.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/form_opts.3x.html">form_opts.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> - <span class="comment"><EM>-- <A NAME="AFU_48">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_646_14" HREF="terminal_interface-curses-forms__adb.htm#ref_743_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_646_27" HREF="terminal_interface-curses-forms__adb.htm#ref_743_27">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_647_27" HREF="terminal_interface-curses-forms__adb.htm#ref_744_27">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_opts.3x.html">set_form_opts()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_48">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_646_14" href="terminal_interface-curses-forms__adb.htm#ref_743_14">Set_Options</a></span> (<span class="symbol"><a name="ref_646_27" href="terminal_interface-curses-forms__adb.htm#ref_743_27">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_647_27" href="terminal_interface-curses-forms__adb.htm#ref_744_27">Options</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/form_opts.3x.html">set_form_opts()</A></em></span> <b>pragma</b> Inline (Set_Options); - <span class="comment"><EM>-- <A NAME="AFU_49">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_652_14" HREF="terminal_interface-curses-forms__adb.htm#ref_756_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_652_30" HREF="terminal_interface-curses-forms__adb.htm#ref_756_30">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_653_30" HREF="terminal_interface-curses-forms__adb.htm#ref_757_30">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</A>; - <span class="symbol"><A NAME="ref_654_30" HREF="terminal_interface-curses-forms__adb.htm#ref_758_30">On</A></span> : Boolean := True); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_opts.3x.html">form_opts_on()</A></EM></span> - <span class="comment"><EM>-- AKA: form_opts_off()</EM></span> + <span class="comment"><em>-- <A NAME="AFU_49">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_652_14" href="terminal_interface-curses-forms__adb.htm#ref_756_14">Switch_Options</a></span> (<span class="symbol"><a name="ref_652_30" href="terminal_interface-curses-forms__adb.htm#ref_756_30">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_653_30" href="terminal_interface-curses-forms__adb.htm#ref_757_30">Options</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>; + <span class="symbol"><a name="ref_654_30" href="terminal_interface-curses-forms__adb.htm#ref_758_30">On</a></span> : Boolean := True); + <span class="comment"><em>-- AKA: <A HREF="../man/form_opts.3x.html">form_opts_on()</A></em></span> + <span class="comment"><em>-- AKA: form_opts_off()</em></span> <b>pragma</b> Inline (Switch_Options); - <span class="comment"><EM>-- <A NAME="AFU_50">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_660_14" HREF="terminal_interface-curses-forms__adb.htm#ref_777_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_660_27" HREF="terminal_interface-curses-forms__adb.htm#ref_777_27">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_661_27" HREF="terminal_interface-curses-forms__adb.htm#ref_778_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_opts.3x.html">form_opts()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_50">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_660_14" href="terminal_interface-curses-forms__adb.htm#ref_777_14">Get_Options</a></span> (<span class="symbol"><a name="ref_660_27" href="terminal_interface-curses-forms__adb.htm#ref_777_27">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_661_27" href="terminal_interface-curses-forms__adb.htm#ref_778_27">Options</a></span> : <b>out</b> <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/form_opts.3x.html">form_opts()</A></em></span> - <span class="comment"><EM>-- <A NAME="AFU_51">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_665_13" HREF="terminal_interface-curses-forms__adb.htm#ref_789_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_665_26" HREF="terminal_interface-curses-forms__adb.htm#ref_789_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_4">Null_Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_opts.3x.html">form_opts()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_51">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_665_13" href="terminal_interface-curses-forms__adb.htm#ref_789_13">Get_Options</a></span> (<span class="symbol"><a name="ref_665_26" href="terminal_interface-curses-forms__adb.htm#ref_789_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_56_4">Null_Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_109_9">Form_Option_Set</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/form_opts.3x.html">form_opts()</A></em></span> <b>pragma</b> Inline (Get_Options); - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/form_post.3x.html">form_post.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_52">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_674_14" HREF="terminal_interface-curses-forms__adb.htm#ref_803_14">Post</A></span> (<span class="symbol"><A NAME="ref_674_20" HREF="terminal_interface-curses-forms__adb.htm#ref_803_20">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_675_20" HREF="terminal_interface-curses-forms__adb.htm#ref_804_20">Post</A></span> : Boolean := True); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_post.3x.html">post_form()</A></EM></span> - <span class="comment"><EM>-- AKA: unpost_form()</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_674_14">Post</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/form_cursor.3x.html">form_cursor.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_53">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_685_14" HREF="terminal_interface-curses-forms__adb.htm#ref_825_14">Position_Cursor</A></span> (<span class="symbol"><A NAME="ref_685_31" HREF="terminal_interface-curses-forms__adb.htm#ref_825_31">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_cursor.3x.html">pos_form_cursor()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_685_14">Position_Cursor</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/form_data.3x.html">form_data.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_54">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_694_13" HREF="terminal_interface-curses-forms__adb.htm#ref_840_13">Data_Ahead</A></span> (<span class="symbol"><A NAME="ref_694_25" HREF="terminal_interface-curses-forms__adb.htm#ref_840_25">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> Boolean; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_data.3x.html">data_ahead()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_694_13">Data_Ahead</A>); - - <span class="comment"><EM>-- <A NAME="AFU_55">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_699_13" HREF="terminal_interface-curses-forms__adb.htm#ref_856_13">Data_Behind</A></span> (<span class="symbol"><A NAME="ref_699_26" HREF="terminal_interface-curses-forms__adb.htm#ref_856_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> Boolean; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_data.3x.html">data_behind()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_699_13">Data_Behind</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/form_driver.3x.html">form_driver.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <b>type</b> <span class="symbol"><A NAME="ref_707_9">Driver_Result</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_707_27">Form_Ok</A></span>, - <span class="symbol"><A NAME="ref_708_27">Request_Denied</A></span>, - <span class="symbol"><A NAME="ref_709_27">Unknown_Request</A></span>, - <span class="symbol"><A NAME="ref_710_27">Invalid_Field</A></span>); - - <span class="comment"><EM>-- <A NAME="AFU_56">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_713_13" HREF="terminal_interface-curses-forms__adb.htm#ref_876_13">Driver</A></span> (<span class="symbol"><A NAME="ref_713_21" HREF="terminal_interface-curses-forms__adb.htm#ref_876_21">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_714_21" HREF="terminal_interface-curses-forms__adb.htm#ref_877_21">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_707_9">Driver_Result</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_driver.3x.html">form_driver()</A></EM></span> - <span class="comment"><EM>-- Driver not inlined</EM></span> - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/form_page.3x.html">form_page.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <b>type</b> <span class="symbol"><A NAME="ref_722_9">Page_Number</A></span> <b>is</b> <b>new</b> Natural; - - <span class="comment"><EM>-- <A NAME="AFU_57">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_725_14" HREF="terminal_interface-curses-forms__adb.htm#ref_903_14">Set_Current</A></span> (<span class="symbol"><A NAME="ref_725_27" HREF="terminal_interface-curses-forms__adb.htm#ref_903_27">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_726_27" HREF="terminal_interface-curses-forms__adb.htm#ref_904_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_page.3x.html">set_current_field()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_725_14">Set_Current</A>); - - <span class="comment"><EM>-- <A NAME="AFU_58">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_731_13" HREF="terminal_interface-curses-forms__adb.htm#ref_915_13">Current</A></span> (<span class="symbol"><A NAME="ref_731_22" HREF="terminal_interface-curses-forms__adb.htm#ref_915_22">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_page.3x.html">current_field()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_731_13">Current</A>); - - <span class="comment"><EM>-- <A NAME="AFU_59">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_736_14" HREF="terminal_interface-curses-forms__adb.htm#ref_930_14">Set_Page</A></span> (<span class="symbol"><A NAME="ref_736_24" HREF="terminal_interface-curses-forms__adb.htm#ref_930_24">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>; - <span class="symbol"><A NAME="ref_737_24" HREF="terminal_interface-curses-forms__adb.htm#ref_931_24">Page</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</A>'First); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_page.3x.html">set_form_page()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_736_14">Set_Page</A>); - - <span class="comment"><EM>-- <A NAME="AFU_60">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_742_13" HREF="terminal_interface-curses-forms__adb.htm#ref_942_13">Page</A></span> (<span class="symbol"><A NAME="ref_742_19" HREF="terminal_interface-curses-forms__adb.htm#ref_942_19">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_page.3x.html">form_page()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_742_13">Page</A>); - - <span class="comment"><EM>-- <A NAME="AFU_61">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_747_13" HREF="terminal_interface-curses-forms__adb.htm#ref_956_13">Get_Index</A></span> (<span class="symbol"><A NAME="ref_747_24" HREF="terminal_interface-curses-forms__adb.htm#ref_956_24">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) <b>return</b> Positive; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_page.3x.html">field_index()</A></EM></span> - <span class="comment"><EM>-- Please note that in this binding we start the numbering of fields</EM></span> - <span class="comment"><EM>-- with 1. So this is number is one more than you get from the low</EM></span> - <span class="comment"><EM>-- level call.</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_747_13">Get_Index</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/form_new_page.3x.html">form_new_page.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_62">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_759_14" HREF="terminal_interface-curses-forms__adb.htm#ref_976_14">Set_New_Page</A></span> (<span class="symbol"><A NAME="ref_759_28" HREF="terminal_interface-curses-forms__adb.htm#ref_976_28">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>; - <span class="symbol"><A NAME="ref_760_28" HREF="terminal_interface-curses-forms__adb.htm#ref_977_28">New_Page</A></span> : Boolean := True); - <span class="comment"><EM>-- AKA: <A HREF="../man/form_new_page.3x.html">set_new_page()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_759_14">Set_New_Page</A>); - - <span class="comment"><EM>-- <A NAME="AFU_63">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_765_13" HREF="terminal_interface-curses-forms__adb.htm#ref_988_13">Is_New_Page</A></span> (<span class="symbol"><A NAME="ref_765_26" HREF="terminal_interface-curses-forms__adb.htm#ref_988_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A>) <b>return</b> Boolean; - <span class="comment"><EM>-- AKA: <A HREF="../man/form_new_page.3x.html">new_page()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_765_13">Is_New_Page</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/form_requestname.3x.html">form_requestname.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- Not Implemented: form_request_name, form_request_by_name</EM></span> - -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/form_post.3x.html">form_post.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_52">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_674_14" href="terminal_interface-curses-forms__adb.htm#ref_803_14">Post</a></span> (<span class="symbol"><a name="ref_674_20" href="terminal_interface-curses-forms__adb.htm#ref_803_20">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_675_20" href="terminal_interface-curses-forms__adb.htm#ref_804_20">Post</a></span> : Boolean := True); + <span class="comment"><em>-- AKA: <A HREF="../man/form_post.3x.html">post_form()</A></em></span> + <span class="comment"><em>-- AKA: unpost_form()</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_674_14">Post</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/form_cursor.3x.html">form_cursor.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_53">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_685_14" href="terminal_interface-curses-forms__adb.htm#ref_825_14">Position_Cursor</a></span> (<span class="symbol"><a name="ref_685_31" href="terminal_interface-curses-forms__adb.htm#ref_825_31">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/form_cursor.3x.html">pos_form_cursor()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_685_14">Position_Cursor</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/form_data.3x.html">form_data.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_54">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_694_13" href="terminal_interface-curses-forms__adb.htm#ref_840_13">Data_Ahead</a></span> (<span class="symbol"><a name="ref_694_25" href="terminal_interface-curses-forms__adb.htm#ref_840_25">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> Boolean; + <span class="comment"><em>-- AKA: <A HREF="../man/form_data.3x.html">data_ahead()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_694_13">Data_Ahead</a>); + + <span class="comment"><em>-- <A NAME="AFU_55">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_699_13" href="terminal_interface-curses-forms__adb.htm#ref_856_13">Data_Behind</a></span> (<span class="symbol"><a name="ref_699_26" href="terminal_interface-curses-forms__adb.htm#ref_856_26">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> Boolean; + <span class="comment"><em>-- AKA: <A HREF="../man/form_data.3x.html">data_behind()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_699_13">Data_Behind</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/form_driver.3x.html">form_driver.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <b>type</b> <span class="symbol"><a name="ref_707_9">Driver_Result</a></span> <b>is</b> (<span class="symbol"><a name="ref_707_27">Form_Ok</a></span>, + <span class="symbol"><a name="ref_708_27">Request_Denied</a></span>, + <span class="symbol"><a name="ref_709_27">Unknown_Request</a></span>, + <span class="symbol"><a name="ref_710_27">Invalid_Field</a></span>); + + <span class="comment"><em>-- <A NAME="AFU_56">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_713_13" href="terminal_interface-curses-forms__adb.htm#ref_876_13">Driver</a></span> (<span class="symbol"><a name="ref_713_21" href="terminal_interface-curses-forms__adb.htm#ref_876_21">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_714_21" href="terminal_interface-curses-forms__adb.htm#ref_877_21">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_707_9">Driver_Result</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/form_driver.3x.html">form_driver()</A></em></span> + <span class="comment"><em>-- Driver not inlined</em></span> + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/form_page.3x.html">form_page.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <b>type</b> <span class="symbol"><a name="ref_722_9">Page_Number</a></span> <b>is</b> <b>new</b> Natural; + + <span class="comment"><em>-- <A NAME="AFU_57">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_725_14" href="terminal_interface-curses-forms__adb.htm#ref_903_14">Set_Current</a></span> (<span class="symbol"><a name="ref_725_27" href="terminal_interface-curses-forms__adb.htm#ref_903_27">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_726_27" href="terminal_interface-curses-forms__adb.htm#ref_904_27">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/form_page.3x.html">set_current_field()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_725_14">Set_Current</a>); + + <span class="comment"><em>-- <A NAME="AFU_58">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_731_13" href="terminal_interface-curses-forms__adb.htm#ref_915_13">Current</a></span> (<span class="symbol"><a name="ref_731_22" href="terminal_interface-curses-forms__adb.htm#ref_915_22">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/form_page.3x.html">current_field()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_731_13">Current</a>); + + <span class="comment"><em>-- <A NAME="AFU_59">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_736_14" href="terminal_interface-curses-forms__adb.htm#ref_930_14">Set_Page</a></span> (<span class="symbol"><a name="ref_736_24" href="terminal_interface-curses-forms__adb.htm#ref_930_24">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>; + <span class="symbol"><a name="ref_737_24" href="terminal_interface-curses-forms__adb.htm#ref_931_24">Page</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</a> := <a href="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</a>'First); + <span class="comment"><em>-- AKA: <A HREF="../man/form_page.3x.html">set_form_page()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_736_14">Set_Page</a>); + + <span class="comment"><em>-- <A NAME="AFU_60">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_742_13" href="terminal_interface-curses-forms__adb.htm#ref_942_13">Page</a></span> (<span class="symbol"><a name="ref_742_19" href="terminal_interface-curses-forms__adb.htm#ref_942_19">Frm</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a>) <b>return</b> <a href="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/form_page.3x.html">form_page()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_742_13">Page</a>); + + <span class="comment"><em>-- <A NAME="AFU_61">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_747_13" href="terminal_interface-curses-forms__adb.htm#ref_956_13">Get_Index</a></span> (<span class="symbol"><a name="ref_747_24" href="terminal_interface-curses-forms__adb.htm#ref_956_24">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> Positive; + <span class="comment"><em>-- AKA: <A HREF="../man/form_page.3x.html">field_index()</A></em></span> + <span class="comment"><em>-- Please note that in this binding we start the numbering of fields</em></span> + <span class="comment"><em>-- with 1. So this is number is one more than you get from the low</em></span> + <span class="comment"><em>-- level call.</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_747_13">Get_Index</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/form_new_page.3x.html">form_new_page.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_62">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_759_14" href="terminal_interface-curses-forms__adb.htm#ref_976_14">Set_New_Page</a></span> (<span class="symbol"><a name="ref_759_28" href="terminal_interface-curses-forms__adb.htm#ref_976_28">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>; + <span class="symbol"><a name="ref_760_28" href="terminal_interface-curses-forms__adb.htm#ref_977_28">New_Page</a></span> : Boolean := True); + <span class="comment"><em>-- AKA: <A HREF="../man/form_new_page.3x.html">set_new_page()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_759_14">Set_New_Page</a>); + + <span class="comment"><em>-- <A NAME="AFU_63">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_765_13" href="terminal_interface-curses-forms__adb.htm#ref_988_13">Is_New_Page</a></span> (<span class="symbol"><a name="ref_765_26" href="terminal_interface-curses-forms__adb.htm#ref_988_26">Fld</a></span> : <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a>) <b>return</b> Boolean; + <span class="comment"><em>-- AKA: <A HREF="../man/form_new_page.3x.html">new_page()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-forms__ads.htm#ref_765_13">Is_New_Page</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/form_requestname.3x.html">form_requestname.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- Not Implemented: form_request_name, form_request_by_name</em></span> + +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>private</b> - <b>type</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address; - <b>type</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address; + <b>type</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address; + <b>type</b> <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address; - <A HREF="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</A> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</A> := 0; - <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_4">Null_Form</A> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</A> := 0; + <a href="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Field</a> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_52_9">Field</a> := 0; + <a href="terminal_interface-curses-forms__ads.htm#ref_56_4">Null_Form</a> : <b>constant</b> <a href="terminal_interface-curses-forms__ads.htm#ref_53_9">Form</a> := 0; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-forms__ads.htm#ref_46_35">Forms</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-menus-item_user_data__adb.htm b/doc/html/ada/terminal_interface-curses-menus-item_user_data__adb.htm index 188efdfc449e..558bbf6a3253 100644 --- a/doc/html/ada/terminal_interface-curses-menus-item_user_data__adb.htm +++ b/doc/html/ada/terminal_interface-curses-menus-item_user_data__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-menus-item_user_data.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-menus-item_user_data.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,80 +11,80 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-menus-item_user_data.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Menus.Item_User_Data --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2018,2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2009,2014 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.16 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-menus-item_user_data.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Menus.Item_User_Data --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2018,2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2009,2014 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.16 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</A>.<span class="symbol"><A NAME="ref_44_46" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_47_41">Item_User_Data</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>.<span class="symbol"><a name="ref_44_46" href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_47_41">Item_User_Data</a></span> <b>is</b> - <b>procedure</b> <span class="symbol"><A NAME="ref_46_14" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_59_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_46_29" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_59_29">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; - <span class="symbol"><A NAME="ref_47_29" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_60_29">Data</A></span> : <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_9">User_Access</A>) + <b>procedure</b> <span class="symbol"><a name="ref_46_14" href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_59_14">Set_User_Data</a></span> (<span class="symbol"><a name="ref_46_29" href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_59_29">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; + <span class="symbol"><a name="ref_47_29" href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_60_29">Data</a></span> : <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_9">User_Access</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_49_16">Set_Item_Userptr</A></span> (<span class="symbol"><A NAME="ref_49_34" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_49_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; - <span class="symbol"><A NAME="ref_50_34" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_49_16">Addr</A></span> : <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_9">User_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_49_16">Set_Item_Userptr</a></span> (<span class="symbol"><a name="ref_49_34">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; + <span class="symbol"><a name="ref_50_34">Addr</a></span> : <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_9">User_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Item_Userptr, "set_item_userptr"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_49_16">Set_Item_Userptr</A> (<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_59_29">Itm</A>, <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_60_29">Data</A>)); - <b>end</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_59_14">Set_User_Data</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus-item_user_data__adb.htm#ref_49_16">Set_Item_Userptr</a> (<a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_59_29">Itm</a>, <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_60_29">Data</a>)); + <b>end</b> <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_59_14">Set_User_Data</a>; - <b>function</b> <span class="symbol"><A NAME="ref_57_13" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_70_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_57_28" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_70_28">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_9">User_Access</A> + <b>function</b> <span class="symbol"><a name="ref_57_13" href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_70_13">Get_User_Data</a></span> (<span class="symbol"><a name="ref_57_28" href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_70_28">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_9">User_Access</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_59_16">Item_Userptr</A></span> (<span class="symbol"><A NAME="ref_59_30" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_59_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_9">User_Access</A>; + <b>function</b> <span class="symbol"><a name="ref_59_16">Item_Userptr</a></span> (<span class="symbol"><a name="ref_59_30">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_9">User_Access</a>; <b>pragma</b> Import (C, Item_Userptr, "item_userptr"); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_59_16">Item_Userptr</A> (<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_70_28">Itm</A>); - <b>end</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_70_13">Get_User_Data</A>; + <b>return</b> <a href="terminal_interface-curses-menus-item_user_data__adb.htm#ref_59_16">Item_Userptr</a> (<a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_70_28">Itm</a>); + <b>end</b> <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_70_13">Get_User_Data</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_65_14" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_65_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_65_29" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_65_29">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; - <span class="symbol"><A NAME="ref_66_29" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_66_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_9">User_Access</A>) + <b>procedure</b> <span class="symbol"><a name="ref_65_14" href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_65_14">Get_User_Data</a></span> (<span class="symbol"><a name="ref_65_29" href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_65_29">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; + <span class="symbol"><a name="ref_66_29" href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_66_29">Data</a></span> : <b>out</b> <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_9">User_Access</a>) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_66_29">Data</A> := <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_70_13">Get_User_Data</A> (<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_65_29">Itm</A>); - <b>end</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_65_14">Get_User_Data</A>; + <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_66_29">Data</a> := <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_70_13">Get_User_Data</a> (<a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_65_29">Itm</a>); + <b>end</b> <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_65_14">Get_User_Data</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</A>.<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_47_41">Item_User_Data</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>.<a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_47_41">Item_User_Data</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-menus-item_user_data__ads.htm b/doc/html/ada/terminal_interface-curses-menus-item_user_data__ads.htm index 3a31918a267e..44911be9177b 100644 --- a/doc/html/ada/terminal_interface-curses-menus-item_user_data__ads.htm +++ b/doc/html/ada/terminal_interface-curses-menus-item_user_data__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-menus-item_user_data.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-menus-item_user_data.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,83 +11,83 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-menus-item_user_data.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Menus.Item_User_Data --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1998-2006,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.18 @</EM></span> -<span class="comment"><EM>-- @Date: 2020/02/02 23:34:34 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-menus-item_user_data.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Menus.Item_User_Data --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1998-2006,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.18 @</em></span> +<span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>generic</b> - <b>type</b> <span class="symbol"><A NAME="ref_45_9" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_47_41">User</A></span> <b>is</b> <b>limited</b> <b>private</b>; - <b>type</b> <span class="symbol"><A NAME="ref_46_9" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_47_41">User_Access</A></span> <b>is</b> <b>access</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User</A>; -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</A>.<span class="symbol"><A NAME="ref_47_41" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_44_46">Item_User_Data</A></span> <b>is</b> - <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</A>.<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_47_41">Item_User_Data</A>); + <b>type</b> <span class="symbol"><a name="ref_45_9">User</a></span> <b>is</b> <b>limited</b> <b>private</b>; + <b>type</b> <span class="symbol"><a name="ref_46_9">User_Access</a></span> <b>is</b> <b>access</b> <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User</a>; +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>.<span class="symbol"><a name="ref_47_41" href="terminal_interface-curses-menus-item_user_data__adb.htm#ref_44_46">Item_User_Data</a></span> <b>is</b> + <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>.<a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_47_41">Item_User_Data</a>); - <span class="comment"><EM>-- The binding uses the same user pointer for menu items</EM></span> - <span class="comment"><EM>-- as the low level C implementation. So you can safely</EM></span> - <span class="comment"><EM>-- read or write the user pointer also with the C routines</EM></span> - <span class="comment"><EM>--</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/mitem_userptr.3x.html">mitem_userptr.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> + <span class="comment"><em>-- The binding uses the same user pointer for menu items</em></span> + <span class="comment"><em>-- as the low level C implementation. So you can safely</em></span> + <span class="comment"><em>-- read or write the user pointer also with the C routines</em></span> + <span class="comment"><em>--</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/mitem_userptr.3x.html">mitem_userptr.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> - <span class="comment"><EM>-- <A NAME="AFU_1">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_59_14" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_46_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_59_29" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_46_29">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; - <span class="symbol"><A NAME="ref_60_29" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_47_29">Data</A></span> : <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_9">User_Access</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/mitem_userptr.3x.html">set_item_userptr</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_59_14">Set_User_Data</A>); + <span class="comment"><em>-- <A NAME="AFU_1">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_59_14" href="terminal_interface-curses-menus-item_user_data__adb.htm#ref_46_14">Set_User_Data</a></span> (<span class="symbol"><a name="ref_59_29" href="terminal_interface-curses-menus-item_user_data__adb.htm#ref_46_29">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; + <span class="symbol"><a name="ref_60_29" href="terminal_interface-curses-menus-item_user_data__adb.htm#ref_47_29">Data</a></span> : <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_9">User_Access</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/mitem_userptr.3x.html">set_item_userptr</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_59_14">Set_User_Data</a>); - <span class="comment"><EM>-- <A NAME="AFU_2">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_65_14" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_65_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_65_29" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_65_29">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; - <span class="symbol"><A NAME="ref_66_29" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_66_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_9">User_Access</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/mitem_userptr.3x.html">item_userptr</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_2">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_65_14" href="terminal_interface-curses-menus-item_user_data__adb.htm#ref_65_14">Get_User_Data</a></span> (<span class="symbol"><a name="ref_65_29" href="terminal_interface-curses-menus-item_user_data__adb.htm#ref_65_29">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; + <span class="symbol"><a name="ref_66_29" href="terminal_interface-curses-menus-item_user_data__adb.htm#ref_66_29">Data</a></span> : <b>out</b> <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_9">User_Access</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/mitem_userptr.3x.html">item_userptr</A></em></span> - <span class="comment"><EM>-- <A NAME="AFU_3">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_70_13" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_57_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_70_28" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_57_28">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_9">User_Access</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/mitem_userptr.3x.html">item_userptr</A></EM></span> - <span class="comment"><EM>-- Same as function</EM></span> + <span class="comment"><em>-- <A NAME="AFU_3">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_70_13" href="terminal_interface-curses-menus-item_user_data__adb.htm#ref_57_13">Get_User_Data</a></span> (<span class="symbol"><a name="ref_70_28" href="terminal_interface-curses-menus-item_user_data__adb.htm#ref_57_28">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_9">User_Access</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/mitem_userptr.3x.html">item_userptr</A></em></span> + <span class="comment"><em>-- Same as function</em></span> <b>pragma</b> Inline (Get_User_Data); -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</A>.<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_47_41">Item_User_Data</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>.<a href="terminal_interface-curses-menus-item_user_data__ads.htm#ref_47_41">Item_User_Data</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-menus-menu_user_data__adb.htm b/doc/html/ada/terminal_interface-curses-menus-menu_user_data__adb.htm index 3b957c59f7d6..12c9eccd1409 100644 --- a/doc/html/ada/terminal_interface-curses-menus-menu_user_data__adb.htm +++ b/doc/html/ada/terminal_interface-curses-menus-menu_user_data__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-menus-menu_user_data.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-menus-menu_user_data.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,81 +11,81 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-menus-menu_user_data.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Menus.Menu_User_Data --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2018,2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2009,2014 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.17 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-menus-menu_user_data.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Menus.Menu_User_Data --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2018,2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2009,2014 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.17 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</A>.<span class="symbol"><A NAME="ref_44_46" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_46_41">Menu_User_Data</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>.<span class="symbol"><a name="ref_44_46" href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_46_41">Menu_User_Data</a></span> <b>is</b> - <b>procedure</b> <span class="symbol"><A NAME="ref_46_14" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_54_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_46_29" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_54_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_47_29" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_55_29">Data</A></span> : <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_9">User_Access</A>) + <b>procedure</b> <span class="symbol"><a name="ref_46_14" href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_54_14">Set_User_Data</a></span> (<span class="symbol"><a name="ref_46_29" href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_54_29">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_47_29" href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_55_29">Data</a></span> : <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_9">User_Access</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_49_16">Set_Menu_Userptr</A></span> (<span class="symbol"><A NAME="ref_49_34" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_49_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_50_34" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_49_16">Data</A></span> : <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_9">User_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_49_16">Set_Menu_Userptr</a></span> (<span class="symbol"><a name="ref_49_34">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_50_34">Data</a></span> : <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_9">User_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Menu_Userptr, "set_menu_userptr"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_49_16">Set_Menu_Userptr</A> (<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_54_29">Men</A>, <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_55_29">Data</A>)); + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_49_16">Set_Menu_Userptr</a> (<a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_54_29">Men</a>, <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_55_29">Data</a>)); - <b>end</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_54_14">Set_User_Data</A>; + <b>end</b> <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_54_14">Set_User_Data</a>; - <b>function</b> <span class="symbol"><A NAME="ref_58_13" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_65_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_58_28" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_65_28">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_9">User_Access</A> + <b>function</b> <span class="symbol"><a name="ref_58_13" href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_65_13">Get_User_Data</a></span> (<span class="symbol"><a name="ref_58_28" href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_65_28">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_9">User_Access</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_60_16">Menu_Userptr</A></span> (<span class="symbol"><A NAME="ref_60_30" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_60_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_9">User_Access</A>; + <b>function</b> <span class="symbol"><a name="ref_60_16">Menu_Userptr</a></span> (<span class="symbol"><a name="ref_60_30">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_9">User_Access</a>; <b>pragma</b> Import (C, Menu_Userptr, "menu_userptr"); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_60_16">Menu_Userptr</A> (<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_65_28">Men</A>); - <b>end</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_65_13">Get_User_Data</A>; + <b>return</b> <a href="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_60_16">Menu_Userptr</a> (<a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_65_28">Men</a>); + <b>end</b> <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_65_13">Get_User_Data</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_66_14" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_60_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_66_29" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_60_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_67_29" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_61_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_9">User_Access</A>) + <b>procedure</b> <span class="symbol"><a name="ref_66_14" href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_60_14">Get_User_Data</a></span> (<span class="symbol"><a name="ref_66_29" href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_60_29">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_67_29" href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_61_29">Data</a></span> : <b>out</b> <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_9">User_Access</a>) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_61_29">Data</A> := <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_65_13">Get_User_Data</A> (<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_60_29">Men</A>); - <b>end</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_60_14">Get_User_Data</A>; + <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_61_29">Data</a> := <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_65_13">Get_User_Data</a> (<a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_60_29">Men</a>); + <b>end</b> <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_60_14">Get_User_Data</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</A>.<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_46_41">Menu_User_Data</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>.<a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_46_41">Menu_User_Data</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-menus-menu_user_data__ads.htm b/doc/html/ada/terminal_interface-curses-menus-menu_user_data__ads.htm index e61d6b289c5f..aa398ef70701 100644 --- a/doc/html/ada/terminal_interface-curses-menus-menu_user_data__ads.htm +++ b/doc/html/ada/terminal_interface-curses-menus-menu_user_data__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-menus-menu_user_data.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-menus-menu_user_data.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,78 +11,78 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-menus-menu_user_data.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Menus.Menu_User_Data --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1998-2003,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.16 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-menus-menu_user_data.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Menus.Menu_User_Data --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1998-2003,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.16 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>generic</b> - <b>type</b> <span class="symbol"><A NAME="ref_44_9" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_46_41">User</A></span> <b>is</b> <b>limited</b> <b>private</b>; - <b>type</b> <span class="symbol"><A NAME="ref_45_9" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_46_41">User_Access</A></span> <b>is</b> <b>access</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User</A>; -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</A>.<span class="symbol"><A NAME="ref_46_41" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_44_46">Menu_User_Data</A></span> <b>is</b> - <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</A>.<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_46_41">Menu_User_Data</A>); + <b>type</b> <span class="symbol"><a name="ref_44_9">User</a></span> <b>is</b> <b>limited</b> <b>private</b>; + <b>type</b> <span class="symbol"><a name="ref_45_9">User_Access</a></span> <b>is</b> <b>access</b> <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User</a>; +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>.<span class="symbol"><a name="ref_46_41" href="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_44_46">Menu_User_Data</a></span> <b>is</b> + <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>.<a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_46_41">Menu_User_Data</a>); - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/menu_userptr.3x.html">menu_userptr.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/menu_userptr.3x.html">menu_userptr.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> - <span class="comment"><EM>-- <A NAME="AFU_1">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_54_14" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_46_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_54_29" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_46_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_55_29" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_47_29">Data</A></span> : <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_9">User_Access</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_userptr.3x.html">set_menu_userptr</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_54_14">Set_User_Data</A>); + <span class="comment"><em>-- <A NAME="AFU_1">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_54_14" href="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_46_14">Set_User_Data</a></span> (<span class="symbol"><a name="ref_54_29" href="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_46_29">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_55_29" href="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_47_29">Data</a></span> : <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_9">User_Access</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_userptr.3x.html">set_menu_userptr</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_54_14">Set_User_Data</a>); - <span class="comment"><EM>-- <A NAME="AFU_2">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_60_14" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_66_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_60_29" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_66_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_61_29" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_67_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_9">User_Access</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_userptr.3x.html">menu_userptr</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_2">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_60_14" href="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_66_14">Get_User_Data</a></span> (<span class="symbol"><a name="ref_60_29" href="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_66_29">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_61_29" href="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_67_29">Data</a></span> : <b>out</b> <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_9">User_Access</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_userptr.3x.html">menu_userptr</A></em></span> - <span class="comment"><EM>-- <A NAME="AFU_3">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_65_13" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_58_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_65_28" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_58_28">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_9">User_Access</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_userptr.3x.html">menu_userptr</A></EM></span> - <span class="comment"><EM>-- Same as function</EM></span> + <span class="comment"><em>-- <A NAME="AFU_3">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_65_13" href="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_58_13">Get_User_Data</a></span> (<span class="symbol"><a name="ref_65_28" href="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_58_28">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_9">User_Access</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/menu_userptr.3x.html">menu_userptr</A></em></span> + <span class="comment"><em>-- Same as function</em></span> <b>pragma</b> Inline (Get_User_Data); -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</A>.<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_46_41">Menu_User_Data</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>.<a href="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_46_41">Menu_User_Data</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-menus__adb.htm b/doc/html/ada/terminal_interface-curses-menus__adb.htm index d9d2513422b0..560273380537 100644 --- a/doc/html/ada/terminal_interface-curses-menus__adb.htm +++ b/doc/html/ada/terminal_interface-curses-menus__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-menus.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-menus.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,912 +11,912 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-menus.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Menus --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2018,2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.34 @</EM></span> -<span class="comment"><EM>-- @Date: 2020/02/02 23:34:34 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-menus.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Menus --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2018,2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.34 @</em></span> +<span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>with</b> Ada.Unchecked_Deallocation; -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings; -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Pointers; +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings; +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Pointers; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<span class="symbol"><A NAME="ref_50_40" HREF="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_50_40" href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a></span> <b>is</b> - <b>type</b> C_Item_Array <b>is</b> <b>array</b> (Natural <b>range</b> <>) <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; + <b>type</b> C_Item_Array <b>is</b> <b>array</b> (Natural <b>range</b> <>) <b>of</b> <b>aliased</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; <b>package</b> I_Array <b>is</b> <b>new</b> - <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Pointers (Natural, <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>, C_Item_Array, <A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</A>); + <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Pointers (Natural, <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>, C_Item_Array, <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a>); - <b>subtype</b> <span class="symbol"><A NAME="ref_56_12">chars_ptr</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings.chars_ptr; + <b>subtype</b> <span class="symbol"><a name="ref_56_12">chars_ptr</a></span> <b>is</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings.chars_ptr; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_59_14" HREF="terminal_interface-curses-menus__ads.htm#ref_102_14">Request_Name</A></span> (<span class="symbol"><A NAME="ref_59_28" HREF="terminal_interface-curses-menus__ads.htm#ref_102_28">Key</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A>; - <span class="symbol"><A NAME="ref_60_28" HREF="terminal_interface-curses-menus__ads.htm#ref_103_28">Name</A></span> : <b>out</b> String) +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_59_14" href="terminal_interface-curses-menus__ads.htm#ref_102_14">Request_Name</a></span> (<span class="symbol"><a name="ref_59_28" href="terminal_interface-curses-menus__ads.htm#ref_102_28">Key</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a>; + <span class="symbol"><a name="ref_60_28" href="terminal_interface-curses-menus__ads.htm#ref_103_28">Name</a></span> : <b>out</b> String) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_62_16">Request_Name</A></span> (<span class="symbol"><A NAME="ref_62_30" HREF="terminal_interface-curses-menus__adb.htm#ref_62_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</A>; + <b>function</b> <span class="symbol"><a name="ref_62_16">Request_Name</a></span> (<span class="symbol"><a name="ref_62_30">Key</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>; <b>pragma</b> Import (C, Request_Name, "menu_request_name"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_62_16">Request_Name</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_102_28">Key</A>)), <A HREF="terminal_interface-curses-menus__ads.htm#ref_103_28">Name</A>); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_102_14">Request_Name</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_62_16">Request_Name</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_102_28">Key</a>)), <a href="terminal_interface-curses-menus__ads.htm#ref_103_28">Name</a>); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_102_14">Request_Name</a>; - <b>function</b> <span class="symbol"><A NAME="ref_68_13" HREF="terminal_interface-curses-menus__ads.htm#ref_105_14">Request_Name</A></span> (<span class="symbol"><A NAME="ref_68_27" HREF="terminal_interface-curses-menus__ads.htm#ref_105_28">Key</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A>) <b>return</b> String + <b>function</b> <span class="symbol"><a name="ref_68_13" href="terminal_interface-curses-menus__ads.htm#ref_105_14">Request_Name</a></span> (<span class="symbol"><a name="ref_68_27" href="terminal_interface-curses-menus__ads.htm#ref_105_28">Key</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a>) <b>return</b> String <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_70_16">Request_Name</A></span> (<span class="symbol"><A NAME="ref_70_30" HREF="terminal_interface-curses-menus__adb.htm#ref_70_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</A>; + <b>function</b> <span class="symbol"><a name="ref_70_16">Request_Name</a></span> (<span class="symbol"><a name="ref_70_30">Key</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>; <b>pragma</b> Import (C, Request_Name, "menu_request_name"); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_70_16">Request_Name</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_105_28">Key</A>))); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_105_14">Request_Name</A>; + <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_70_16">Request_Name</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_105_28">Key</a>))); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_105_14">Request_Name</a>; - <b>function</b> <span class="symbol"><A NAME="ref_76_13" HREF="terminal_interface-curses-menus__ads.htm#ref_190_13">Create</A></span> (<span class="symbol"><A NAME="ref_76_21" HREF="terminal_interface-curses-menus__ads.htm#ref_190_21">Name</A></span> : String; - <span class="symbol"><A NAME="ref_77_21" HREF="terminal_interface-curses-menus__ads.htm#ref_191_21">Description</A></span> : String := "") <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A> + <b>function</b> <span class="symbol"><a name="ref_76_13" href="terminal_interface-curses-menus__ads.htm#ref_190_13">Create</a></span> (<span class="symbol"><a name="ref_76_21" href="terminal_interface-curses-menus__ads.htm#ref_190_21">Name</a></span> : String; + <span class="symbol"><a name="ref_77_21" href="terminal_interface-curses-menus__ads.htm#ref_191_21">Description</a></span> : String := "") <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a> <b>is</b> - <b>type</b> <span class="symbol"><A NAME="ref_79_12">Char_Ptr</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.char; - <b>function</b> <span class="symbol"><A NAME="ref_80_16">Newitem</A></span> (<span class="symbol"><A NAME="ref_80_25" HREF="terminal_interface-curses-menus__adb.htm#ref_80_16">Name</A></span>, <span class="symbol"><A NAME="ref_80_31" HREF="terminal_interface-curses-menus__adb.htm#ref_80_16">Desc</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_79_12">Char_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; + <b>type</b> <span class="symbol"><a name="ref_79_12">Char_Ptr</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.char; + <b>function</b> <span class="symbol"><a name="ref_80_16">Newitem</a></span> (<span class="symbol"><a name="ref_80_25">Name</a></span>, <span class="symbol"><a name="ref_80_31">Desc</a></span> : <a href="terminal_interface-curses-menus__adb.htm#ref_79_12">Char_Ptr</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; <b>pragma</b> Import (C, Newitem, "new_item"); - <b>type</b> Name_String <b>is</b> <b>new</b> char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#ref_190_21">Name</A>'Length); - <b>type</b> <span class="symbol"><A NAME="ref_84_12">Name_String_Ptr</A></span> <b>is</b> <b>access</b> Name_String; - <b>pragma</b> Controlled (<A HREF="terminal_interface-curses-menus__adb.htm#ref_84_12">Name_String_Ptr</A>); - - <b>type</b> Desc_String <b>is</b> <b>new</b> char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#ref_191_21">Description</A>'Length); - <b>type</b> <span class="symbol"><A NAME="ref_88_12">Desc_String_Ptr</A></span> <b>is</b> <b>access</b> Desc_String; - <b>pragma</b> Controlled (<A HREF="terminal_interface-curses-menus__adb.htm#ref_88_12">Desc_String_Ptr</A>); - - <span class="symbol"><A NAME="ref_91_7">Name_Str</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_84_12">Name_String_Ptr</A> := <b>new</b> Name_String; - <span class="symbol"><A NAME="ref_92_7">Desc_Str</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_88_12">Desc_String_Ptr</A> := <b>new</b> Desc_String; - <span class="symbol"><A NAME="ref_93_7">Name_Len</A></span>, <span class="symbol"><A NAME="ref_93_17">Desc_Len</A></span> : size_t; - <span class="symbol"><A NAME="ref_94_7">Result</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; - <b>begin</b> - To_C (<A HREF="terminal_interface-curses-menus__ads.htm#ref_190_21">Name</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_91_7">Name_Str</A>.<b>all</b>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_93_7">Name_Len</A>); - To_C (<A HREF="terminal_interface-curses-menus__ads.htm#ref_191_21">Description</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_92_7">Desc_Str</A>.<b>all</b>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_93_17">Desc_Len</A>); - <A HREF="terminal_interface-curses-menus__adb.htm#ref_94_7">Result</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_80_16">Newitem</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_91_7">Name_Str</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_91_7">Name_Str</A>.<b>all</b>'First)'<b>Access</b>, - <A HREF="terminal_interface-curses-menus__adb.htm#ref_92_7">Desc_Str</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_92_7">Desc_Str</A>.<b>all</b>'First)'<b>Access</b>); - <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_94_7">Result</A> = <A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_528_4">Eti_System_Error</A>; + <b>type</b> Name_String <b>is</b> <b>new</b> char_array (0 .. <a href="terminal_interface-curses-menus__ads.htm#ref_190_21">Name</a>'Length); + <b>type</b> <span class="symbol"><a name="ref_84_12">Name_String_Ptr</a></span> <b>is</b> <b>access</b> Name_String; + <b>pragma</b> Controlled (<a href="terminal_interface-curses-menus__adb.htm#ref_84_12">Name_String_Ptr</a>); + + <b>type</b> Desc_String <b>is</b> <b>new</b> char_array (0 .. <a href="terminal_interface-curses-menus__ads.htm#ref_191_21">Description</a>'Length); + <b>type</b> <span class="symbol"><a name="ref_88_12">Desc_String_Ptr</a></span> <b>is</b> <b>access</b> Desc_String; + <b>pragma</b> Controlled (<a href="terminal_interface-curses-menus__adb.htm#ref_88_12">Desc_String_Ptr</a>); + + <span class="symbol"><a name="ref_91_7">Name_Str</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__adb.htm#ref_84_12">Name_String_Ptr</a> := <b>new</b> Name_String; + <span class="symbol"><a name="ref_92_7">Desc_Str</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__adb.htm#ref_88_12">Desc_String_Ptr</a> := <b>new</b> Desc_String; + <span class="symbol"><a name="ref_93_7">Name_Len</a></span>, <span class="symbol"><a name="ref_93_17">Desc_Len</a></span> : size_t; + <span class="symbol"><a name="ref_94_7">Result</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; + <b>begin</b> + To_C (<a href="terminal_interface-curses-menus__ads.htm#ref_190_21">Name</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_91_7">Name_Str</a>.<b>all</b>, <a href="terminal_interface-curses-menus__adb.htm#ref_93_7">Name_Len</a>); + To_C (<a href="terminal_interface-curses-menus__ads.htm#ref_191_21">Description</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_92_7">Desc_Str</a>.<b>all</b>, <a href="terminal_interface-curses-menus__adb.htm#ref_93_17">Desc_Len</a>); + <a href="terminal_interface-curses-menus__adb.htm#ref_94_7">Result</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_80_16">Newitem</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_91_7">Name_Str</a>.<b>all</b> (<a href="terminal_interface-curses-menus__adb.htm#ref_91_7">Name_Str</a>.<b>all</b>'First)'<b>Access</b>, + <a href="terminal_interface-curses-menus__adb.htm#ref_92_7">Desc_Str</a>.<b>all</b> (<a href="terminal_interface-curses-menus__adb.htm#ref_92_7">Desc_Str</a>.<b>all</b>'First)'<b>Access</b>); + <b>if</b> <a href="terminal_interface-curses-menus__adb.htm#ref_94_7">Result</a> = <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_528_4">Eti_System_Error</a>; <b>end</b> <b>if</b>; - <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_94_7">Result</A>; - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_190_13">Create</A>; + <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_94_7">Result</a>; + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_190_13">Create</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_106_14" HREF="terminal_interface-curses-menus__ads.htm#ref_202_14">Delete</A></span> (<span class="symbol"><A NAME="ref_106_22" HREF="terminal_interface-curses-menus__ads.htm#ref_202_22">Itm</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>) + <b>procedure</b> <span class="symbol"><a name="ref_106_14" href="terminal_interface-curses-menus__ads.htm#ref_202_14">Delete</a></span> (<span class="symbol"><a name="ref_106_22" href="terminal_interface-curses-menus__ads.htm#ref_202_22">Itm</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_108_16">Descname</A></span> (<span class="symbol"><A NAME="ref_108_26" HREF="terminal_interface-curses-menus__adb.htm#ref_108_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</A>; + <b>function</b> <span class="symbol"><a name="ref_108_16">Descname</a></span> (<span class="symbol"><a name="ref_108_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>; <b>pragma</b> Import (C, Descname, "item_description"); - <b>function</b> <span class="symbol"><A NAME="ref_110_16">Itemname</A></span> (<span class="symbol"><A NAME="ref_110_26" HREF="terminal_interface-curses-menus__adb.htm#ref_110_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</A>; + <b>function</b> <span class="symbol"><a name="ref_110_16">Itemname</a></span> (<span class="symbol"><a name="ref_110_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>; <b>pragma</b> Import (C, Itemname, "item_name"); - <b>function</b> <span class="symbol"><A NAME="ref_113_16">Freeitem</A></span> (<span class="symbol"><A NAME="ref_113_26" HREF="terminal_interface-curses-menus__adb.htm#ref_113_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_113_16">Freeitem</a></span> (<span class="symbol"><a name="ref_113_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Freeitem, "free_item"); - <span class="symbol"><A NAME="ref_116_7">Ptr</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</A>; + <span class="symbol"><a name="ref_116_7">Ptr</a></span> : <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>; <b>begin</b> - <A HREF="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_108_16">Descname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_202_22">Itm</A>); - <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</A> /= Null_Ptr <b>then</b> - <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings.Free (<A HREF="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</A>); + <a href="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_108_16">Descname</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_202_22">Itm</a>); + <b>if</b> <a href="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</a> /= Null_Ptr <b>then</b> + <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings.Free (<a href="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</a>); <b>end</b> <b>if</b>; - <A HREF="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_110_16">Itemname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_202_22">Itm</A>); - <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</A> /= Null_Ptr <b>then</b> - <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings.Free (<A HREF="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</A>); + <a href="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_110_16">Itemname</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_202_22">Itm</a>); + <b>if</b> <a href="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</a> /= Null_Ptr <b>then</b> + <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings.Free (<a href="terminal_interface-curses-menus__adb.htm#ref_116_7">Ptr</a>); <b>end</b> <b>if</b>; - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_113_16">Freeitem</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_202_22">Itm</A>)); - <A HREF="terminal_interface-curses-menus__ads.htm#ref_202_22">Itm</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</A>; - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_202_14">Delete</A>; -<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_130_14" HREF="terminal_interface-curses-menus__ads.htm#ref_211_14">Set_Value</A></span> (<span class="symbol"><A NAME="ref_130_25" HREF="terminal_interface-curses-menus__ads.htm#ref_211_25">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; - <span class="symbol"><A NAME="ref_131_25" HREF="terminal_interface-curses-menus__ads.htm#ref_212_25">Value</A></span> : Boolean := True) - <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_133_16">Set_Item_Val</A></span> (<span class="symbol"><A NAME="ref_133_30" HREF="terminal_interface-curses-menus__adb.htm#ref_133_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; - <span class="symbol"><A NAME="ref_134_30" HREF="terminal_interface-curses-menus__adb.htm#ref_133_16">Val</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_113_16">Freeitem</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_202_22">Itm</a>)); + <a href="terminal_interface-curses-menus__ads.htm#ref_202_22">Itm</a> := <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a>; + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_202_14">Delete</a>; +<span class="comment"><em>-------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_130_14" href="terminal_interface-curses-menus__ads.htm#ref_211_14">Set_Value</a></span> (<span class="symbol"><a name="ref_130_25" href="terminal_interface-curses-menus__ads.htm#ref_211_25">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; + <span class="symbol"><a name="ref_131_25" href="terminal_interface-curses-menus__ads.htm#ref_212_25">Value</a></span> : Boolean := True) + <b>is</b> + <b>function</b> <span class="symbol"><a name="ref_133_16">Set_Item_Val</a></span> (<span class="symbol"><a name="ref_133_30">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; + <span class="symbol"><a name="ref_134_30">Val</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Item_Val, "set_item_value"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_133_16">Set_Item_Val</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_211_25">Itm</A>, Boolean'Pos (<A HREF="terminal_interface-curses-menus__ads.htm#ref_212_25">Value</A>))); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_211_14">Set_Value</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_133_16">Set_Item_Val</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_211_25">Itm</a>, Boolean'Pos (<a href="terminal_interface-curses-menus__ads.htm#ref_212_25">Value</a>))); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_211_14">Set_Value</a>; - <b>function</b> <span class="symbol"><A NAME="ref_141_13" HREF="terminal_interface-curses-menus__ads.htm#ref_217_13">Value</A></span> (<span class="symbol"><A NAME="ref_141_20" HREF="terminal_interface-curses-menus__ads.htm#ref_217_20">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>) <b>return</b> Boolean + <b>function</b> <span class="symbol"><a name="ref_141_13" href="terminal_interface-curses-menus__ads.htm#ref_217_13">Value</a></span> (<span class="symbol"><a name="ref_141_20" href="terminal_interface-curses-menus__ads.htm#ref_217_20">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> Boolean <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_143_16">Item_Val</A></span> (<span class="symbol"><A NAME="ref_143_26" HREF="terminal_interface-curses-menus__adb.htm#ref_143_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_143_16">Item_Val</a></span> (<span class="symbol"><a name="ref_143_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Item_Val, "item_value"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_143_16">Item_Val</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_217_20">Itm</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</A> <b>then</b> + <b>if</b> <a href="terminal_interface-curses-menus__adb.htm#ref_143_16">Item_Val</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_217_20">Itm</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</a> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_217_13">Value</A>; + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_217_13">Value</a>; -<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_154_13" HREF="terminal_interface-curses-menus__ads.htm#ref_226_13">Visible</A></span> (<span class="symbol"><A NAME="ref_154_22" HREF="terminal_interface-curses-menus__ads.htm#ref_226_22">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>) <b>return</b> Boolean +<span class="comment"><em>-------------------------------------------------------------------------------</em></span> + <b>function</b> <span class="symbol"><a name="ref_154_13" href="terminal_interface-curses-menus__ads.htm#ref_226_13">Visible</a></span> (<span class="symbol"><a name="ref_154_22" href="terminal_interface-curses-menus__ads.htm#ref_226_22">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> Boolean <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_156_16">Item_Vis</A></span> (<span class="symbol"><A NAME="ref_156_26" HREF="terminal_interface-curses-menus__adb.htm#ref_156_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_156_16">Item_Vis</a></span> (<span class="symbol"><a name="ref_156_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Item_Vis, "item_visible"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_156_16">Item_Vis</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_226_22">Itm</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</A> <b>then</b> + <b>if</b> <a href="terminal_interface-curses-menus__adb.htm#ref_156_16">Item_Vis</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_226_22">Itm</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</a> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_226_13">Visible</A>; -<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_166_14" HREF="terminal_interface-curses-menus__ads.htm#ref_235_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_166_27" HREF="terminal_interface-curses-menus__ads.htm#ref_235_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; - <span class="symbol"><A NAME="ref_167_27" HREF="terminal_interface-curses-menus__ads.htm#ref_236_27">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</A>) + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_226_13">Visible</a>; +<span class="comment"><em>-------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_166_14" href="terminal_interface-curses-menus__ads.htm#ref_235_14">Set_Options</a></span> (<span class="symbol"><a name="ref_166_27" href="terminal_interface-curses-menus__ads.htm#ref_235_27">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; + <span class="symbol"><a name="ref_167_27" href="terminal_interface-curses-menus__ads.htm#ref_236_27">Options</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_169_16">Set_Item_Opts</A></span> (<span class="symbol"><A NAME="ref_169_31" HREF="terminal_interface-curses-menus__adb.htm#ref_169_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; - <span class="symbol"><A NAME="ref_170_31" HREF="terminal_interface-curses-menus__adb.htm#ref_169_16">Opt</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_169_16">Set_Item_Opts</a></span> (<span class="symbol"><a name="ref_169_31">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; + <span class="symbol"><a name="ref_170_31">Opt</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Item_Opts, "set_item_opts"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_169_16">Set_Item_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_235_27">Itm</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_236_27">Options</A>)); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_235_14">Set_Options</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_169_16">Set_Item_Opts</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_235_27">Itm</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_236_27">Options</a>)); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_235_14">Set_Options</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_177_14" HREF="terminal_interface-curses-menus__ads.htm#ref_241_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_177_30" HREF="terminal_interface-curses-menus__ads.htm#ref_241_30">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; - <span class="symbol"><A NAME="ref_178_30" HREF="terminal_interface-curses-menus__ads.htm#ref_242_30">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</A>; - <span class="symbol"><A NAME="ref_179_30" HREF="terminal_interface-curses-menus__ads.htm#ref_243_30">On</A></span> : Boolean := True) + <b>procedure</b> <span class="symbol"><a name="ref_177_14" href="terminal_interface-curses-menus__ads.htm#ref_241_14">Switch_Options</a></span> (<span class="symbol"><a name="ref_177_30" href="terminal_interface-curses-menus__ads.htm#ref_241_30">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; + <span class="symbol"><a name="ref_178_30" href="terminal_interface-curses-menus__ads.htm#ref_242_30">Options</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>; + <span class="symbol"><a name="ref_179_30" href="terminal_interface-curses-menus__ads.htm#ref_243_30">On</a></span> : Boolean := True) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_181_16">Item_Opts_On</A></span> (<span class="symbol"><A NAME="ref_181_30" HREF="terminal_interface-curses-menus__adb.htm#ref_181_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; - <span class="symbol"><A NAME="ref_182_30" HREF="terminal_interface-curses-menus__adb.htm#ref_181_16">Opt</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_181_16">Item_Opts_On</a></span> (<span class="symbol"><a name="ref_181_30">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; + <span class="symbol"><a name="ref_182_30">Opt</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Item_Opts_On, "item_opts_on"); - <b>function</b> <span class="symbol"><A NAME="ref_184_16">Item_Opts_Off</A></span> (<span class="symbol"><A NAME="ref_184_31" HREF="terminal_interface-curses-menus__adb.htm#ref_184_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; - <span class="symbol"><A NAME="ref_185_31" HREF="terminal_interface-curses-menus__adb.htm#ref_184_16">Opt</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_184_16">Item_Opts_Off</a></span> (<span class="symbol"><a name="ref_184_31">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; + <span class="symbol"><a name="ref_185_31">Opt</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Item_Opts_Off, "item_opts_off"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_243_30">On</A> <b>then</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_181_16">Item_Opts_On</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_241_30">Itm</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_242_30">Options</A>)); + <b>if</b> <a href="terminal_interface-curses-menus__ads.htm#ref_243_30">On</a> <b>then</b> + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_181_16">Item_Opts_On</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_241_30">Itm</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_242_30">Options</a>)); <b>else</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_184_16">Item_Opts_Off</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_241_30">Itm</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_242_30">Options</A>)); + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_184_16">Item_Opts_Off</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_241_30">Itm</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_242_30">Options</a>)); <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_241_14">Switch_Options</A>; + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_241_14">Switch_Options</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_196_14" HREF="terminal_interface-curses-menus__ads.htm#ref_250_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_196_27" HREF="terminal_interface-curses-menus__ads.htm#ref_250_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; - <span class="symbol"><A NAME="ref_197_27" HREF="terminal_interface-curses-menus__ads.htm#ref_251_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</A>) + <b>procedure</b> <span class="symbol"><a name="ref_196_14" href="terminal_interface-curses-menus__ads.htm#ref_250_14">Get_Options</a></span> (<span class="symbol"><a name="ref_196_27" href="terminal_interface-curses-menus__ads.htm#ref_250_27">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; + <span class="symbol"><a name="ref_197_27" href="terminal_interface-curses-menus__ads.htm#ref_251_27">Options</a></span> : <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_199_16">Item_Opts</A></span> (<span class="symbol"><A NAME="ref_199_27" HREF="terminal_interface-curses-menus__adb.htm#ref_199_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</A>; + <b>function</b> <span class="symbol"><a name="ref_199_16">Item_Opts</a></span> (<span class="symbol"><a name="ref_199_27">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>; <b>pragma</b> Import (C, Item_Opts, "item_opts"); <b>begin</b> - <A HREF="terminal_interface-curses-menus__ads.htm#ref_251_27">Options</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_199_16">Item_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_250_27">Itm</A>); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_250_14">Get_Options</A>; + <a href="terminal_interface-curses-menus__ads.htm#ref_251_27">Options</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_199_16">Item_Opts</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_250_27">Itm</a>); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_250_14">Get_Options</a>; - <b>function</b> <span class="symbol"><A NAME="ref_206_13" HREF="terminal_interface-curses-menus__ads.htm#ref_255_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_206_26" HREF="terminal_interface-curses-menus__ads.htm#ref_255_26">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</A> + <b>function</b> <span class="symbol"><a name="ref_206_13" href="terminal_interface-curses-menus__ads.htm#ref_255_13">Get_Options</a></span> (<span class="symbol"><a name="ref_206_26" href="terminal_interface-curses-menus__ads.htm#ref_255_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a> := <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a> <b>is</b> - <span class="symbol"><A NAME="ref_208_7">Ios</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</A>; + <span class="symbol"><a name="ref_208_7">Ios</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>; <b>begin</b> - <A HREF="terminal_interface-curses-menus__ads.htm#ref_250_14">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_255_26">Itm</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_208_7">Ios</A>); - <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_208_7">Ios</A>; - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_255_13">Get_Options</A>; -<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_214_14" HREF="terminal_interface-curses-menus__ads.htm#ref_264_14">Name</A></span> (<span class="symbol"><A NAME="ref_214_20" HREF="terminal_interface-curses-menus__ads.htm#ref_264_20">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; - <span class="symbol"><A NAME="ref_215_20" HREF="terminal_interface-curses-menus__ads.htm#ref_265_20">Name</A></span> : <b>out</b> String) + <a href="terminal_interface-curses-menus__ads.htm#ref_250_14">Get_Options</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_255_26">Itm</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_208_7">Ios</a>); + <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_208_7">Ios</a>; + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_255_13">Get_Options</a>; +<span class="comment"><em>-------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_214_14" href="terminal_interface-curses-menus__ads.htm#ref_264_14">Name</a></span> (<span class="symbol"><a name="ref_214_20" href="terminal_interface-curses-menus__ads.htm#ref_264_20">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; + <span class="symbol"><a name="ref_215_20" href="terminal_interface-curses-menus__ads.htm#ref_265_20">Name</a></span> : <b>out</b> String) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_217_16">Itemname</A></span> (<span class="symbol"><A NAME="ref_217_26" HREF="terminal_interface-curses-menus__adb.htm#ref_217_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</A>; + <b>function</b> <span class="symbol"><a name="ref_217_16">Itemname</a></span> (<span class="symbol"><a name="ref_217_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>; <b>pragma</b> Import (C, Itemname, "item_name"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_217_16">Itemname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_264_20">Itm</A>), <A HREF="terminal_interface-curses-menus__ads.htm#ref_265_20">Name</A>); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_264_14">Name</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_217_16">Itemname</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_264_20">Itm</a>), <a href="terminal_interface-curses-menus__ads.htm#ref_265_20">Name</a>); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_264_14">Name</a>; - <b>function</b> <span class="symbol"><A NAME="ref_223_13" HREF="terminal_interface-curses-menus__ads.htm#ref_267_14">Name</A></span> (<span class="symbol"><A NAME="ref_223_19" HREF="terminal_interface-curses-menus__ads.htm#ref_267_20">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>) <b>return</b> String + <b>function</b> <span class="symbol"><a name="ref_223_13" href="terminal_interface-curses-menus__ads.htm#ref_267_14">Name</a></span> (<span class="symbol"><a name="ref_223_19" href="terminal_interface-curses-menus__ads.htm#ref_267_20">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> String <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_225_16">Itemname</A></span> (<span class="symbol"><A NAME="ref_225_26" HREF="terminal_interface-curses-menus__adb.htm#ref_225_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</A>; + <b>function</b> <span class="symbol"><a name="ref_225_16">Itemname</a></span> (<span class="symbol"><a name="ref_225_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>; <b>pragma</b> Import (C, Itemname, "item_name"); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_225_16">Itemname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_267_20">Itm</A>)); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_267_14">Name</A>; + <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_225_16">Itemname</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_267_20">Itm</a>)); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_267_14">Name</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_231_14" HREF="terminal_interface-curses-menus__ads.htm#ref_273_14">Description</A></span> (<span class="symbol"><A NAME="ref_231_27" HREF="terminal_interface-curses-menus__ads.htm#ref_273_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; - <span class="symbol"><A NAME="ref_232_27" HREF="terminal_interface-curses-menus__ads.htm#ref_274_27">Description</A></span> : <b>out</b> String) + <b>procedure</b> <span class="symbol"><a name="ref_231_14" href="terminal_interface-curses-menus__ads.htm#ref_273_14">Description</a></span> (<span class="symbol"><a name="ref_231_27" href="terminal_interface-curses-menus__ads.htm#ref_273_27">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; + <span class="symbol"><a name="ref_232_27" href="terminal_interface-curses-menus__ads.htm#ref_274_27">Description</a></span> : <b>out</b> String) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_234_16">Descname</A></span> (<span class="symbol"><A NAME="ref_234_26" HREF="terminal_interface-curses-menus__adb.htm#ref_234_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</A>; + <b>function</b> <span class="symbol"><a name="ref_234_16">Descname</a></span> (<span class="symbol"><a name="ref_234_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>; <b>pragma</b> Import (C, Descname, "item_description"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_234_16">Descname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_273_27">Itm</A>), <A HREF="terminal_interface-curses-menus__ads.htm#ref_274_27">Description</A>); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_273_14">Description</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_234_16">Descname</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_273_27">Itm</a>), <a href="terminal_interface-curses-menus__ads.htm#ref_274_27">Description</a>); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_273_14">Description</a>; - <b>function</b> <span class="symbol"><A NAME="ref_240_13" HREF="terminal_interface-curses-menus__ads.htm#ref_277_14">Description</A></span> (<span class="symbol"><A NAME="ref_240_26" HREF="terminal_interface-curses-menus__ads.htm#ref_277_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>) <b>return</b> String + <b>function</b> <span class="symbol"><a name="ref_240_13" href="terminal_interface-curses-menus__ads.htm#ref_277_14">Description</a></span> (<span class="symbol"><a name="ref_240_26" href="terminal_interface-curses-menus__ads.htm#ref_277_27">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> String <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_242_16">Descname</A></span> (<span class="symbol"><A NAME="ref_242_26" HREF="terminal_interface-curses-menus__adb.htm#ref_242_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</A>; + <b>function</b> <span class="symbol"><a name="ref_242_16">Descname</a></span> (<span class="symbol"><a name="ref_242_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>; <b>pragma</b> Import (C, Descname, "item_description"); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_242_16">Descname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_277_27">Itm</A>)); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_277_14">Description</A>; -<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_248_14" HREF="terminal_interface-curses-menus__ads.htm#ref_287_14">Set_Current</A></span> (<span class="symbol"><A NAME="ref_248_27" HREF="terminal_interface-curses-menus__ads.htm#ref_287_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_249_27" HREF="terminal_interface-curses-menus__ads.htm#ref_288_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>) + <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_242_16">Descname</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_277_27">Itm</a>)); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_277_14">Description</a>; +<span class="comment"><em>-------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_248_14" href="terminal_interface-curses-menus__ads.htm#ref_287_14">Set_Current</a></span> (<span class="symbol"><a name="ref_248_27" href="terminal_interface-curses-menus__ads.htm#ref_287_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_249_27" href="terminal_interface-curses-menus__ads.htm#ref_288_27">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_251_16">Set_Curr_Item</A></span> (<span class="symbol"><A NAME="ref_251_31" HREF="terminal_interface-curses-menus__adb.htm#ref_251_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_252_31" HREF="terminal_interface-curses-menus__adb.htm#ref_251_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_251_16">Set_Curr_Item</a></span> (<span class="symbol"><a name="ref_251_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_252_31">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Curr_Item, "set_current_item"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_251_16">Set_Curr_Item</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_287_27">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_288_27">Itm</A>)); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_287_14">Set_Current</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_251_16">Set_Curr_Item</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_287_27">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_288_27">Itm</a>)); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_287_14">Set_Current</a>; - <b>function</b> <span class="symbol"><A NAME="ref_259_13" HREF="terminal_interface-curses-menus__ads.htm#ref_293_13">Current</A></span> (<span class="symbol"><A NAME="ref_259_22" HREF="terminal_interface-curses-menus__ads.htm#ref_293_22">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A> + <b>function</b> <span class="symbol"><a name="ref_259_13" href="terminal_interface-curses-menus__ads.htm#ref_293_13">Current</a></span> (<span class="symbol"><a name="ref_259_22" href="terminal_interface-curses-menus__ads.htm#ref_293_22">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_261_16">Curr_Item</A></span> (<span class="symbol"><A NAME="ref_261_27" HREF="terminal_interface-curses-menus__adb.htm#ref_261_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; + <b>function</b> <span class="symbol"><a name="ref_261_16">Curr_Item</a></span> (<span class="symbol"><a name="ref_261_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; <b>pragma</b> Import (C, Curr_Item, "current_item"); - <span class="symbol"><A NAME="ref_264_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_261_16">Curr_Item</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_293_22">Men</A>); + <span class="symbol"><a name="ref_264_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_261_16">Curr_Item</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_293_22">Men</a>); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_264_7">Res</A> = <A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_112_4">Menu_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-menus__adb.htm#ref_264_7">Res</a> = <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-menus__ads.htm#ref_112_4">Menu_Exception</a>; <b>end</b> <b>if</b>; - <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_264_7">Res</A>; - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_293_13">Current</A>; + <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_264_7">Res</a>; + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_293_13">Current</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_272_14" HREF="terminal_interface-curses-menus__ads.htm#ref_298_14">Set_Top_Row</A></span> (<span class="symbol"><A NAME="ref_272_27" HREF="terminal_interface-curses-menus__ads.htm#ref_298_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_273_27" HREF="terminal_interface-curses-menus__ads.htm#ref_299_27">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>) + <b>procedure</b> <span class="symbol"><a name="ref_272_14" href="terminal_interface-curses-menus__ads.htm#ref_298_14">Set_Top_Row</a></span> (<span class="symbol"><a name="ref_272_27" href="terminal_interface-curses-menus__ads.htm#ref_298_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_273_27" href="terminal_interface-curses-menus__ads.htm#ref_299_27">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_275_16">Set_Toprow</A></span> (<span class="symbol"><A NAME="ref_275_28" HREF="terminal_interface-curses-menus__adb.htm#ref_275_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_276_28" HREF="terminal_interface-curses-menus__adb.htm#ref_275_16">Line</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_275_16">Set_Toprow</a></span> (<span class="symbol"><a name="ref_275_28">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_276_28">Line</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Toprow, "set_top_row"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_275_16">Set_Toprow</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_298_27">Men</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_299_27">Line</A>))); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_298_14">Set_Top_Row</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_275_16">Set_Toprow</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_298_27">Men</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_299_27">Line</a>))); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_298_14">Set_Top_Row</a>; - <b>function</b> <span class="symbol"><A NAME="ref_283_13" HREF="terminal_interface-curses-menus__ads.htm#ref_304_13">Top_Row</A></span> (<span class="symbol"><A NAME="ref_283_22" HREF="terminal_interface-curses-menus__ads.htm#ref_304_22">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A> + <b>function</b> <span class="symbol"><a name="ref_283_13" href="terminal_interface-curses-menus__ads.htm#ref_304_13">Top_Row</a></span> (<span class="symbol"><a name="ref_283_22" href="terminal_interface-curses-menus__ads.htm#ref_304_22">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_285_16">Toprow</A></span> (<span class="symbol"><A NAME="ref_285_24" HREF="terminal_interface-curses-menus__adb.htm#ref_285_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_285_16">Toprow</a></span> (<span class="symbol"><a name="ref_285_24">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Toprow, "top_row"); - <span class="symbol"><A NAME="ref_288_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_285_16">Toprow</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_304_22">Men</A>); + <span class="symbol"><a name="ref_288_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_285_16">Toprow</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_304_22">Men</a>); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_288_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_112_4">Menu_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-menus__adb.htm#ref_288_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-menus__ads.htm#ref_112_4">Menu_Exception</a>; <b>end</b> <b>if</b>; - <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_288_7">Res</A>); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_304_13">Top_Row</A>; + <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_288_7">Res</a>); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_304_13">Top_Row</a>; - <b>function</b> <span class="symbol"><A NAME="ref_296_13" HREF="terminal_interface-curses-menus__ads.htm#ref_309_13">Get_Index</A></span> (<span class="symbol"><A NAME="ref_296_24" HREF="terminal_interface-curses-menus__ads.htm#ref_309_24">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>) <b>return</b> Positive + <b>function</b> <span class="symbol"><a name="ref_296_13" href="terminal_interface-curses-menus__ads.htm#ref_309_13">Get_Index</a></span> (<span class="symbol"><a name="ref_296_24" href="terminal_interface-curses-menus__ads.htm#ref_309_24">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> Positive <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_298_16">Get_Itemindex</A></span> (<span class="symbol"><A NAME="ref_298_31" HREF="terminal_interface-curses-menus__adb.htm#ref_298_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_298_16">Get_Itemindex</a></span> (<span class="symbol"><a name="ref_298_31">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Get_Itemindex, "item_index"); - <span class="symbol"><A NAME="ref_301_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_298_16">Get_Itemindex</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_309_24">Itm</A>); + <span class="symbol"><a name="ref_301_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_298_16">Get_Itemindex</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_309_24">Itm</a>); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_301_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_112_4">Menu_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-menus__adb.htm#ref_301_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-menus__ads.htm#ref_112_4">Menu_Exception</a>; <b>end</b> <b>if</b>; - <b>return</b> Positive (Natural (<A HREF="terminal_interface-curses-menus__adb.htm#ref_301_7">Res</A>) + Positive'First); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_309_13">Get_Index</A>; -<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_309_14" HREF="terminal_interface-curses-menus__ads.htm#ref_321_14">Post</A></span> (<span class="symbol"><A NAME="ref_309_20" HREF="terminal_interface-curses-menus__ads.htm#ref_321_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_310_20" HREF="terminal_interface-curses-menus__ads.htm#ref_322_20">Post</A></span> : Boolean := True) + <b>return</b> Positive (Natural (<a href="terminal_interface-curses-menus__adb.htm#ref_301_7">Res</a>) + Positive'First); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_309_13">Get_Index</a>; +<span class="comment"><em>-------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_309_14" href="terminal_interface-curses-menus__ads.htm#ref_321_14">Post</a></span> (<span class="symbol"><a name="ref_309_20" href="terminal_interface-curses-menus__ads.htm#ref_321_20">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_310_20" href="terminal_interface-curses-menus__ads.htm#ref_322_20">Post</a></span> : Boolean := True) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_312_16">M_Post</A></span> (<span class="symbol"><A NAME="ref_312_24" HREF="terminal_interface-curses-menus__adb.htm#ref_312_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_312_16">M_Post</a></span> (<span class="symbol"><a name="ref_312_24">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, M_Post, "post_menu"); - <b>function</b> <span class="symbol"><A NAME="ref_314_16">M_Unpost</A></span> (<span class="symbol"><A NAME="ref_314_26" HREF="terminal_interface-curses-menus__adb.htm#ref_314_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_314_16">M_Unpost</a></span> (<span class="symbol"><a name="ref_314_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, M_Unpost, "unpost_menu"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_322_20">Post</A> <b>then</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_312_16">M_Post</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_321_20">Men</A>)); + <b>if</b> <a href="terminal_interface-curses-menus__ads.htm#ref_322_20">Post</a> <b>then</b> + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_312_16">M_Post</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_321_20">Men</a>)); <b>else</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_314_16">M_Unpost</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_321_20">Men</A>)); + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_314_16">M_Unpost</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_321_20">Men</a>)); <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_321_14">Post</A>; -<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_325_14" HREF="terminal_interface-curses-menus__ads.htm#ref_332_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_325_27" HREF="terminal_interface-curses-menus__ads.htm#ref_332_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_326_27" HREF="terminal_interface-curses-menus__ads.htm#ref_333_27">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</A>) + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_321_14">Post</a>; +<span class="comment"><em>-------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_325_14" href="terminal_interface-curses-menus__ads.htm#ref_332_14">Set_Options</a></span> (<span class="symbol"><a name="ref_325_27" href="terminal_interface-curses-menus__ads.htm#ref_332_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_326_27" href="terminal_interface-curses-menus__ads.htm#ref_333_27">Options</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_328_16">Set_Menu_Opts</A></span> (<span class="symbol"><A NAME="ref_328_31" HREF="terminal_interface-curses-menus__adb.htm#ref_328_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_329_31" HREF="terminal_interface-curses-menus__adb.htm#ref_328_16">Opt</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_328_16">Set_Menu_Opts</a></span> (<span class="symbol"><a name="ref_328_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_329_31">Opt</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Menu_Opts, "set_menu_opts"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_328_16">Set_Menu_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_332_27">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_333_27">Options</A>)); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_332_14">Set_Options</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_328_16">Set_Menu_Opts</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_332_27">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_333_27">Options</a>)); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_332_14">Set_Options</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_336_14" HREF="terminal_interface-curses-menus__ads.htm#ref_338_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_336_30" HREF="terminal_interface-curses-menus__ads.htm#ref_338_30">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_337_30" HREF="terminal_interface-curses-menus__ads.htm#ref_339_30">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</A>; - <span class="symbol"><A NAME="ref_338_30" HREF="terminal_interface-curses-menus__ads.htm#ref_340_30">On</A></span> : Boolean := True) + <b>procedure</b> <span class="symbol"><a name="ref_336_14" href="terminal_interface-curses-menus__ads.htm#ref_338_14">Switch_Options</a></span> (<span class="symbol"><a name="ref_336_30" href="terminal_interface-curses-menus__ads.htm#ref_338_30">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_337_30" href="terminal_interface-curses-menus__ads.htm#ref_339_30">Options</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>; + <span class="symbol"><a name="ref_338_30" href="terminal_interface-curses-menus__ads.htm#ref_340_30">On</a></span> : Boolean := True) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_340_16">Menu_Opts_On</A></span> (<span class="symbol"><A NAME="ref_340_30" HREF="terminal_interface-curses-menus__adb.htm#ref_340_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_341_30" HREF="terminal_interface-curses-menus__adb.htm#ref_340_16">Opt</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_340_16">Menu_Opts_On</a></span> (<span class="symbol"><a name="ref_340_30">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_341_30">Opt</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Menu_Opts_On, "menu_opts_on"); - <b>function</b> <span class="symbol"><A NAME="ref_343_16">Menu_Opts_Off</A></span> (<span class="symbol"><A NAME="ref_343_31" HREF="terminal_interface-curses-menus__adb.htm#ref_343_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_344_31" HREF="terminal_interface-curses-menus__adb.htm#ref_343_16">Opt</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_343_16">Menu_Opts_Off</a></span> (<span class="symbol"><a name="ref_343_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_344_31">Opt</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Menu_Opts_Off, "menu_opts_off"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_340_30">On</A> <b>then</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_340_16">Menu_Opts_On</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_338_30">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_339_30">Options</A>)); + <b>if</b> <a href="terminal_interface-curses-menus__ads.htm#ref_340_30">On</a> <b>then</b> + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_340_16">Menu_Opts_On</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_338_30">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_339_30">Options</a>)); <b>else</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_343_16">Menu_Opts_Off</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_338_30">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_339_30">Options</A>)); + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_343_16">Menu_Opts_Off</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_338_30">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_339_30">Options</a>)); <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_338_14">Switch_Options</A>; + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_338_14">Switch_Options</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_355_14" HREF="terminal_interface-curses-menus__ads.htm#ref_346_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_355_27" HREF="terminal_interface-curses-menus__ads.htm#ref_346_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_356_27" HREF="terminal_interface-curses-menus__ads.htm#ref_347_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</A>) + <b>procedure</b> <span class="symbol"><a name="ref_355_14" href="terminal_interface-curses-menus__ads.htm#ref_346_14">Get_Options</a></span> (<span class="symbol"><a name="ref_355_27" href="terminal_interface-curses-menus__ads.htm#ref_346_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_356_27" href="terminal_interface-curses-menus__ads.htm#ref_347_27">Options</a></span> : <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_358_16">Menu_Opts</A></span> (<span class="symbol"><A NAME="ref_358_27" HREF="terminal_interface-curses-menus__adb.htm#ref_358_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</A>; + <b>function</b> <span class="symbol"><a name="ref_358_16">Menu_Opts</a></span> (<span class="symbol"><a name="ref_358_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>; <b>pragma</b> Import (C, Menu_Opts, "menu_opts"); <b>begin</b> - <A HREF="terminal_interface-curses-menus__ads.htm#ref_347_27">Options</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_358_16">Menu_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_346_27">Men</A>); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_346_14">Get_Options</A>; + <a href="terminal_interface-curses-menus__ads.htm#ref_347_27">Options</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_358_16">Menu_Opts</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_346_27">Men</a>); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_346_14">Get_Options</a>; - <b>function</b> <span class="symbol"><A NAME="ref_365_13" HREF="terminal_interface-curses-menus__ads.htm#ref_351_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_365_26" HREF="terminal_interface-curses-menus__ads.htm#ref_351_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_59_4">Null_Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</A> + <b>function</b> <span class="symbol"><a name="ref_365_13" href="terminal_interface-curses-menus__ads.htm#ref_351_13">Get_Options</a></span> (<span class="symbol"><a name="ref_365_26" href="terminal_interface-curses-menus__ads.htm#ref_351_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a> := <a href="terminal_interface-curses-menus__ads.htm#ref_59_4">Null_Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a> <b>is</b> - <span class="symbol"><A NAME="ref_367_7">Mos</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</A>; + <span class="symbol"><a name="ref_367_7">Mos</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>; <b>begin</b> - <A HREF="terminal_interface-curses-menus__ads.htm#ref_346_14">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_351_26">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_367_7">Mos</A>); - <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_367_7">Mos</A>; - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_351_13">Get_Options</A>; -<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_373_14" HREF="terminal_interface-curses-menus__ads.htm#ref_360_14">Set_Window</A></span> (<span class="symbol"><A NAME="ref_373_26" HREF="terminal_interface-curses-menus__ads.htm#ref_360_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_374_26" HREF="terminal_interface-curses-menus__ads.htm#ref_361_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) + <a href="terminal_interface-curses-menus__ads.htm#ref_346_14">Get_Options</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_351_26">Men</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_367_7">Mos</a>); + <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_367_7">Mos</a>; + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_351_13">Get_Options</a>; +<span class="comment"><em>-------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_373_14" href="terminal_interface-curses-menus__ads.htm#ref_360_14">Set_Window</a></span> (<span class="symbol"><a name="ref_373_26" href="terminal_interface-curses-menus__ads.htm#ref_360_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_374_26" href="terminal_interface-curses-menus__ads.htm#ref_361_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_376_16">Set_Menu_Win</A></span> (<span class="symbol"><A NAME="ref_376_30" HREF="terminal_interface-curses-menus__adb.htm#ref_376_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_377_30" HREF="terminal_interface-curses-menus__adb.htm#ref_376_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_376_16">Set_Menu_Win</a></span> (<span class="symbol"><a name="ref_376_30">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_377_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Menu_Win, "set_menu_win"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_376_16">Set_Menu_Win</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_360_26">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_361_26">Win</A>)); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_360_14">Set_Window</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_376_16">Set_Menu_Win</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_360_26">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_361_26">Win</a>)); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_360_14">Set_Window</a>; - <b>function</b> <span class="symbol"><A NAME="ref_384_13" HREF="terminal_interface-curses-menus__ads.htm#ref_366_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_384_25" HREF="terminal_interface-curses-menus__ads.htm#ref_366_25">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> + <b>function</b> <span class="symbol"><a name="ref_384_13" href="terminal_interface-curses-menus__ads.htm#ref_366_13">Get_Window</a></span> (<span class="symbol"><a name="ref_384_25" href="terminal_interface-curses-menus__ads.htm#ref_366_25">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_386_16">Menu_Win</A></span> (<span class="symbol"><A NAME="ref_386_26" HREF="terminal_interface-curses-menus__adb.htm#ref_386_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; + <b>function</b> <span class="symbol"><a name="ref_386_16">Menu_Win</a></span> (<span class="symbol"><a name="ref_386_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <b>pragma</b> Import (C, Menu_Win, "menu_win"); - <span class="symbol"><A NAME="ref_389_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_386_16">Menu_Win</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_366_25">Men</A>); + <span class="symbol"><a name="ref_389_7">W</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_386_16">Menu_Win</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_366_25">Men</a>); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_389_7">W</A>; - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_366_13">Get_Window</A>; + <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_389_7">W</a>; + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_366_13">Get_Window</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_394_14" HREF="terminal_interface-curses-menus__ads.htm#ref_371_14">Set_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_394_30" HREF="terminal_interface-curses-menus__ads.htm#ref_371_30">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_395_30" HREF="terminal_interface-curses-menus__ads.htm#ref_372_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) + <b>procedure</b> <span class="symbol"><a name="ref_394_14" href="terminal_interface-curses-menus__ads.htm#ref_371_14">Set_Sub_Window</a></span> (<span class="symbol"><a name="ref_394_30" href="terminal_interface-curses-menus__ads.htm#ref_371_30">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_395_30" href="terminal_interface-curses-menus__ads.htm#ref_372_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_397_16">Set_Menu_Sub</A></span> (<span class="symbol"><A NAME="ref_397_30" HREF="terminal_interface-curses-menus__adb.htm#ref_397_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_398_30" HREF="terminal_interface-curses-menus__adb.htm#ref_397_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_397_16">Set_Menu_Sub</a></span> (<span class="symbol"><a name="ref_397_30">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_398_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Menu_Sub, "set_menu_sub"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_397_16">Set_Menu_Sub</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_371_30">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_372_30">Win</A>)); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_371_14">Set_Sub_Window</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_397_16">Set_Menu_Sub</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_371_30">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_372_30">Win</a>)); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_371_14">Set_Sub_Window</a>; - <b>function</b> <span class="symbol"><A NAME="ref_405_13" HREF="terminal_interface-curses-menus__ads.htm#ref_377_13">Get_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_405_29" HREF="terminal_interface-curses-menus__ads.htm#ref_377_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> + <b>function</b> <span class="symbol"><a name="ref_405_13" href="terminal_interface-curses-menus__ads.htm#ref_377_13">Get_Sub_Window</a></span> (<span class="symbol"><a name="ref_405_29" href="terminal_interface-curses-menus__ads.htm#ref_377_29">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_407_16">Menu_Sub</A></span> (<span class="symbol"><A NAME="ref_407_26" HREF="terminal_interface-curses-menus__adb.htm#ref_407_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; + <b>function</b> <span class="symbol"><a name="ref_407_16">Menu_Sub</a></span> (<span class="symbol"><a name="ref_407_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <b>pragma</b> Import (C, Menu_Sub, "menu_sub"); - <span class="symbol"><A NAME="ref_410_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_407_16">Menu_Sub</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_377_29">Men</A>); + <span class="symbol"><a name="ref_410_7">W</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_407_16">Menu_Sub</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_377_29">Men</a>); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_410_7">W</A>; - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_377_13">Get_Sub_Window</A>; + <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_410_7">W</a>; + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_377_13">Get_Sub_Window</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_415_14" HREF="terminal_interface-curses-menus__ads.htm#ref_382_14">Scale</A></span> (<span class="symbol"><A NAME="ref_415_21" HREF="terminal_interface-curses-menus__ads.htm#ref_382_21">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_416_21" HREF="terminal_interface-curses-menus__ads.htm#ref_383_21">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_417_21" HREF="terminal_interface-curses-menus__ads.htm#ref_384_21">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>) + <b>procedure</b> <span class="symbol"><a name="ref_415_14" href="terminal_interface-curses-menus__ads.htm#ref_382_14">Scale</a></span> (<span class="symbol"><a name="ref_415_21" href="terminal_interface-curses-menus__ads.htm#ref_382_21">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_416_21" href="terminal_interface-curses-menus__ads.htm#ref_383_21">Lines</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_417_21" href="terminal_interface-curses-menus__ads.htm#ref_384_21">Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>) <b>is</b> - <b>type</b> <span class="symbol"><A NAME="ref_419_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <b>function</b> <span class="symbol"><A NAME="ref_420_16">M_Scale</A></span> (<span class="symbol"><A NAME="ref_420_25" HREF="terminal_interface-curses-menus__adb.htm#ref_420_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_421_25" HREF="terminal_interface-curses-menus__adb.htm#ref_420_16">Yp</A></span>, <span class="symbol"><A NAME="ref_421_29" HREF="terminal_interface-curses-menus__adb.htm#ref_420_16">Xp</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_419_12">C_Int_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>type</b> <span class="symbol"><a name="ref_419_12">C_Int_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <b>function</b> <span class="symbol"><a name="ref_420_16">M_Scale</a></span> (<span class="symbol"><a name="ref_420_25">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_421_25">Yp</a></span>, <span class="symbol"><a name="ref_421_29">Xp</a></span> : <a href="terminal_interface-curses-menus__adb.htm#ref_419_12">C_Int_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, M_Scale, "scale_menu"); - <span class="symbol"><A NAME="ref_424_7">X</A></span>, <span class="symbol"><A NAME="ref_424_10">Y</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <span class="symbol"><a name="ref_424_7">X</a></span>, <span class="symbol"><a name="ref_424_10">Y</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_420_16">M_Scale</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_382_21">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_424_10">Y</A>'<b>Access</b>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_424_7">X</A>'<b>Access</b>)); - <A HREF="terminal_interface-curses-menus__ads.htm#ref_383_21">Lines</A> := <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_424_10">Y</A>); - <A HREF="terminal_interface-curses-menus__ads.htm#ref_384_21">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_424_7">X</A>); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_382_14">Scale</A>; -<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_431_14" HREF="terminal_interface-curses-menus__ads.htm#ref_393_14">Position_Cursor</A></span> (<span class="symbol"><A NAME="ref_431_31" HREF="terminal_interface-curses-menus__ads.htm#ref_393_31">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_420_16">M_Scale</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_382_21">Men</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_424_10">Y</a>'<b>Access</b>, <a href="terminal_interface-curses-menus__adb.htm#ref_424_7">X</a>'<b>Access</b>)); + <a href="terminal_interface-curses-menus__ads.htm#ref_383_21">Lines</a> := <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_424_10">Y</a>); + <a href="terminal_interface-curses-menus__ads.htm#ref_384_21">Columns</a> := <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_424_7">X</a>); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_382_14">Scale</a>; +<span class="comment"><em>-------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_431_14" href="terminal_interface-curses-menus__ads.htm#ref_393_14">Position_Cursor</a></span> (<span class="symbol"><a name="ref_431_31" href="terminal_interface-curses-menus__ads.htm#ref_393_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_433_16">Pos_Menu_Cursor</A></span> (<span class="symbol"><A NAME="ref_433_33" HREF="terminal_interface-curses-menus__adb.htm#ref_433_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_433_16">Pos_Menu_Cursor</a></span> (<span class="symbol"><a name="ref_433_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Pos_Menu_Cursor, "pos_menu_cursor"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_433_16">Pos_Menu_Cursor</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_393_31">Men</A>)); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_393_14">Position_Cursor</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_433_16">Pos_Menu_Cursor</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_393_31">Men</a>)); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_393_14">Position_Cursor</a>; -<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_441_14" HREF="terminal_interface-curses-menus__ads.htm#ref_402_14">Set_Mark</A></span> (<span class="symbol"><A NAME="ref_441_24" HREF="terminal_interface-curses-menus__ads.htm#ref_402_24">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_442_24" HREF="terminal_interface-curses-menus__ads.htm#ref_403_24">Mark</A></span> : String) +<span class="comment"><em>-------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_441_14" href="terminal_interface-curses-menus__ads.htm#ref_402_14">Set_Mark</a></span> (<span class="symbol"><a name="ref_441_24" href="terminal_interface-curses-menus__ads.htm#ref_402_24">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_442_24" href="terminal_interface-curses-menus__ads.htm#ref_403_24">Mark</a></span> : String) <b>is</b> - <b>type</b> <span class="symbol"><A NAME="ref_444_12">Char_Ptr</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.char; - <b>function</b> <span class="symbol"><A NAME="ref_445_16">Set_Mark</A></span> (<span class="symbol"><A NAME="ref_445_26" HREF="terminal_interface-curses-menus__adb.htm#ref_445_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_446_26" HREF="terminal_interface-curses-menus__adb.htm#ref_445_16">Mark</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_444_12">Char_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>type</b> <span class="symbol"><a name="ref_444_12">Char_Ptr</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.char; + <b>function</b> <span class="symbol"><a name="ref_445_16">Set_Mark</a></span> (<span class="symbol"><a name="ref_445_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_446_26">Mark</a></span> : <a href="terminal_interface-curses-menus__adb.htm#ref_444_12">Char_Ptr</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Mark, "set_menu_mark"); - <span class="symbol"><A NAME="ref_449_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#ref_403_24">Mark</A>'Length); - <span class="symbol"><A NAME="ref_450_7">Len</A></span> : size_t; + <span class="symbol"><a name="ref_449_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses-menus__ads.htm#ref_403_24">Mark</a>'Length); + <span class="symbol"><a name="ref_450_7">Len</a></span> : size_t; <b>begin</b> - To_C (<A HREF="terminal_interface-curses-menus__ads.htm#ref_403_24">Mark</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_449_7">Txt</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_450_7">Len</A>); - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_445_16">Set_Mark</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_402_24">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_449_7">Txt</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_449_7">Txt</A>'First)'<b>Access</b>)); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_402_14">Set_Mark</A>; + To_C (<a href="terminal_interface-curses-menus__ads.htm#ref_403_24">Mark</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_449_7">Txt</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_450_7">Len</a>); + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_445_16">Set_Mark</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_402_24">Men</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_449_7">Txt</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_449_7">Txt</a>'First)'<b>Access</b>)); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_402_14">Set_Mark</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_456_14" HREF="terminal_interface-curses-menus__ads.htm#ref_408_14">Mark</A></span> (<span class="symbol"><A NAME="ref_456_20" HREF="terminal_interface-curses-menus__ads.htm#ref_408_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_457_20" HREF="terminal_interface-curses-menus__ads.htm#ref_409_20">Mark</A></span> : <b>out</b> String) + <b>procedure</b> <span class="symbol"><a name="ref_456_14" href="terminal_interface-curses-menus__ads.htm#ref_408_14">Mark</a></span> (<span class="symbol"><a name="ref_456_20" href="terminal_interface-curses-menus__ads.htm#ref_408_20">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_457_20" href="terminal_interface-curses-menus__ads.htm#ref_409_20">Mark</a></span> : <b>out</b> String) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_459_16">Get_Menu_Mark</A></span> (<span class="symbol"><A NAME="ref_459_31" HREF="terminal_interface-curses-menus__adb.htm#ref_459_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</A>; + <b>function</b> <span class="symbol"><a name="ref_459_16">Get_Menu_Mark</a></span> (<span class="symbol"><a name="ref_459_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>; <b>pragma</b> Import (C, Get_Menu_Mark, "menu_mark"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_459_16">Get_Menu_Mark</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_408_20">Men</A>), <A HREF="terminal_interface-curses-menus__ads.htm#ref_409_20">Mark</A>); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_408_14">Mark</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_459_16">Get_Menu_Mark</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_408_20">Men</a>), <a href="terminal_interface-curses-menus__ads.htm#ref_409_20">Mark</a>); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_408_14">Mark</a>; - <b>function</b> <span class="symbol"><A NAME="ref_465_13" HREF="terminal_interface-curses-menus__ads.htm#ref_412_14">Mark</A></span> (<span class="symbol"><A NAME="ref_465_19" HREF="terminal_interface-curses-menus__ads.htm#ref_412_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> String + <b>function</b> <span class="symbol"><a name="ref_465_13" href="terminal_interface-curses-menus__ads.htm#ref_412_14">Mark</a></span> (<span class="symbol"><a name="ref_465_19" href="terminal_interface-curses-menus__ads.htm#ref_412_20">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> String <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_467_16">Get_Menu_Mark</A></span> (<span class="symbol"><A NAME="ref_467_31" HREF="terminal_interface-curses-menus__adb.htm#ref_467_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</A>; + <b>function</b> <span class="symbol"><a name="ref_467_16">Get_Menu_Mark</a></span> (<span class="symbol"><a name="ref_467_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>; <b>pragma</b> Import (C, Get_Menu_Mark, "menu_mark"); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_467_16">Get_Menu_Mark</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_412_20">Men</A>)); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_412_14">Mark</A>; + <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_467_16">Get_Menu_Mark</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_412_20">Men</a>)); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_412_14">Mark</a>; -<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_474_14" HREF="terminal_interface-curses-menus__ads.htm#ref_422_14">Set_Foreground</A></span> - (<span class="symbol"><A NAME="ref_475_7" HREF="terminal_interface-curses-menus__ads.htm#ref_423_7">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_476_7" HREF="terminal_interface-curses-menus__ads.htm#ref_424_7">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</A>; - <span class="symbol"><A NAME="ref_477_7" HREF="terminal_interface-curses-menus__ads.htm#ref_425_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'First) +<span class="comment"><em>-------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_474_14" href="terminal_interface-curses-menus__ads.htm#ref_422_14">Set_Foreground</a></span> + (<span class="symbol"><a name="ref_475_7" href="terminal_interface-curses-menus__ads.htm#ref_423_7">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_476_7" href="terminal_interface-curses-menus__ads.htm#ref_424_7">Fore</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>; + <span class="symbol"><a name="ref_477_7" href="terminal_interface-curses-menus__ads.htm#ref_425_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_479_16">Set_Menu_Fore</A></span> (<span class="symbol"><A NAME="ref_479_31" HREF="terminal_interface-curses-menus__adb.htm#ref_479_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_480_31" HREF="terminal_interface-curses-menus__adb.htm#ref_479_16">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_479_16">Set_Menu_Fore</a></span> (<span class="symbol"><a name="ref_479_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_480_31">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Menu_Fore, "set_menu_fore"); - <span class="symbol"><A NAME="ref_483_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_492_10">Ch</A> => Character'First, - <A HREF="terminal_interface-curses__ads.htm#ref_491_10">Color</A> => <A HREF="terminal_interface-curses-menus__ads.htm#ref_425_7">Color</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A> => <A HREF="terminal_interface-curses-menus__ads.htm#ref_424_7">Fore</A>); + <span class="symbol"><a name="ref_483_7">Ch</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => Character'First, + <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses-menus__ads.htm#ref_425_7">Color</a>, + <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses-menus__ads.htm#ref_424_7">Fore</a>); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_479_16">Set_Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_423_7">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_483_7">Ch</A>)); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_422_14">Set_Foreground</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_479_16">Set_Menu_Fore</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_423_7">Men</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_483_7">Ch</a>)); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_422_14">Set_Foreground</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_490_14" HREF="terminal_interface-curses-menus__ads.htm#ref_430_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_490_26" HREF="terminal_interface-curses-menus__ads.htm#ref_430_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_491_26" HREF="terminal_interface-curses-menus__ads.htm#ref_431_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A>) + <b>procedure</b> <span class="symbol"><a name="ref_490_14" href="terminal_interface-curses-menus__ads.htm#ref_430_14">Foreground</a></span> (<span class="symbol"><a name="ref_490_26" href="terminal_interface-curses-menus__ads.htm#ref_430_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_491_26" href="terminal_interface-curses-menus__ads.htm#ref_431_26">Fore</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_493_16">Menu_Fore</A></span> (<span class="symbol"><A NAME="ref_493_27" HREF="terminal_interface-curses-menus__adb.htm#ref_493_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; + <b>function</b> <span class="symbol"><a name="ref_493_16">Menu_Fore</a></span> (<span class="symbol"><a name="ref_493_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; <b>pragma</b> Import (C, Menu_Fore, "menu_fore"); <b>begin</b> - <A HREF="terminal_interface-curses-menus__ads.htm#ref_431_26">Fore</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_493_16">Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_430_26">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A>; - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_430_14">Foreground</A>; + <a href="terminal_interface-curses-menus__ads.htm#ref_431_26">Fore</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_493_16">Menu_Fore</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_430_26">Men</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>; + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_430_14">Foreground</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_499_14" HREF="terminal_interface-curses-menus__ads.htm#ref_435_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_499_26" HREF="terminal_interface-curses-menus__ads.htm#ref_435_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_500_26" HREF="terminal_interface-curses-menus__ads.htm#ref_436_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A>; - <span class="symbol"><A NAME="ref_501_26" HREF="terminal_interface-curses-menus__ads.htm#ref_437_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>) + <b>procedure</b> <span class="symbol"><a name="ref_499_14" href="terminal_interface-curses-menus__ads.htm#ref_435_14">Foreground</a></span> (<span class="symbol"><a name="ref_499_26" href="terminal_interface-curses-menus__ads.htm#ref_435_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_500_26" href="terminal_interface-curses-menus__ads.htm#ref_436_26">Fore</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>; + <span class="symbol"><a name="ref_501_26" href="terminal_interface-curses-menus__ads.htm#ref_437_26">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_503_16">Menu_Fore</A></span> (<span class="symbol"><A NAME="ref_503_27" HREF="terminal_interface-curses-menus__adb.htm#ref_503_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; + <b>function</b> <span class="symbol"><a name="ref_503_16">Menu_Fore</a></span> (<span class="symbol"><a name="ref_503_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; <b>pragma</b> Import (C, Menu_Fore, "menu_fore"); <b>begin</b> - <A HREF="terminal_interface-curses-menus__ads.htm#ref_436_26">Fore</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_503_16">Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_435_26">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A>; - <A HREF="terminal_interface-curses-menus__ads.htm#ref_437_26">Color</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_503_16">Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_435_26">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Color</A>; - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_435_14">Foreground</A>; + <a href="terminal_interface-curses-menus__ads.htm#ref_436_26">Fore</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_503_16">Menu_Fore</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_435_26">Men</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>; + <a href="terminal_interface-curses-menus__ads.htm#ref_437_26">Color</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_503_16">Menu_Fore</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_435_26">Men</a>).<a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a>; + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_435_14">Foreground</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_510_14" HREF="terminal_interface-curses-menus__ads.htm#ref_442_14">Set_Background</A></span> - (<span class="symbol"><A NAME="ref_511_7" HREF="terminal_interface-curses-menus__ads.htm#ref_443_7">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_512_7" HREF="terminal_interface-curses-menus__ads.htm#ref_444_7">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</A>; - <span class="symbol"><A NAME="ref_513_7" HREF="terminal_interface-curses-menus__ads.htm#ref_445_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'First) + <b>procedure</b> <span class="symbol"><a name="ref_510_14" href="terminal_interface-curses-menus__ads.htm#ref_442_14">Set_Background</a></span> + (<span class="symbol"><a name="ref_511_7" href="terminal_interface-curses-menus__ads.htm#ref_443_7">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_512_7" href="terminal_interface-curses-menus__ads.htm#ref_444_7">Back</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>; + <span class="symbol"><a name="ref_513_7" href="terminal_interface-curses-menus__ads.htm#ref_445_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_515_16">Set_Menu_Back</A></span> (<span class="symbol"><A NAME="ref_515_31" HREF="terminal_interface-curses-menus__adb.htm#ref_515_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_516_31" HREF="terminal_interface-curses-menus__adb.htm#ref_515_16">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_515_16">Set_Menu_Back</a></span> (<span class="symbol"><a name="ref_515_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_516_31">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Menu_Back, "set_menu_back"); - <span class="symbol"><A NAME="ref_519_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_492_10">Ch</A> => Character'First, - <A HREF="terminal_interface-curses__ads.htm#ref_491_10">Color</A> => <A HREF="terminal_interface-curses-menus__ads.htm#ref_445_7">Color</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A> => <A HREF="terminal_interface-curses-menus__ads.htm#ref_444_7">Back</A>); + <span class="symbol"><a name="ref_519_7">Ch</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => Character'First, + <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses-menus__ads.htm#ref_445_7">Color</a>, + <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses-menus__ads.htm#ref_444_7">Back</a>); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_515_16">Set_Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_443_7">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_519_7">Ch</A>)); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_442_14">Set_Background</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_515_16">Set_Menu_Back</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_443_7">Men</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_519_7">Ch</a>)); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_442_14">Set_Background</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_526_14" HREF="terminal_interface-curses-menus__ads.htm#ref_450_14">Background</A></span> (<span class="symbol"><A NAME="ref_526_26" HREF="terminal_interface-curses-menus__ads.htm#ref_450_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_527_26" HREF="terminal_interface-curses-menus__ads.htm#ref_451_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A>) + <b>procedure</b> <span class="symbol"><a name="ref_526_14" href="terminal_interface-curses-menus__ads.htm#ref_450_14">Background</a></span> (<span class="symbol"><a name="ref_526_26" href="terminal_interface-curses-menus__ads.htm#ref_450_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_527_26" href="terminal_interface-curses-menus__ads.htm#ref_451_26">Back</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_529_16">Menu_Back</A></span> (<span class="symbol"><A NAME="ref_529_27" HREF="terminal_interface-curses-menus__adb.htm#ref_529_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; + <b>function</b> <span class="symbol"><a name="ref_529_16">Menu_Back</a></span> (<span class="symbol"><a name="ref_529_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; <b>pragma</b> Import (C, Menu_Back, "menu_back"); <b>begin</b> - <A HREF="terminal_interface-curses-menus__ads.htm#ref_451_26">Back</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_529_16">Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_450_26">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A>; - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_450_14">Background</A>; + <a href="terminal_interface-curses-menus__ads.htm#ref_451_26">Back</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_529_16">Menu_Back</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_450_26">Men</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>; + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_450_14">Background</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_535_14" HREF="terminal_interface-curses-menus__ads.htm#ref_455_14">Background</A></span> (<span class="symbol"><A NAME="ref_535_26" HREF="terminal_interface-curses-menus__ads.htm#ref_455_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_536_26" HREF="terminal_interface-curses-menus__ads.htm#ref_456_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A>; - <span class="symbol"><A NAME="ref_537_26" HREF="terminal_interface-curses-menus__ads.htm#ref_457_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>) + <b>procedure</b> <span class="symbol"><a name="ref_535_14" href="terminal_interface-curses-menus__ads.htm#ref_455_14">Background</a></span> (<span class="symbol"><a name="ref_535_26" href="terminal_interface-curses-menus__ads.htm#ref_455_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_536_26" href="terminal_interface-curses-menus__ads.htm#ref_456_26">Back</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>; + <span class="symbol"><a name="ref_537_26" href="terminal_interface-curses-menus__ads.htm#ref_457_26">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_539_16">Menu_Back</A></span> (<span class="symbol"><A NAME="ref_539_27" HREF="terminal_interface-curses-menus__adb.htm#ref_539_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; + <b>function</b> <span class="symbol"><a name="ref_539_16">Menu_Back</a></span> (<span class="symbol"><a name="ref_539_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; <b>pragma</b> Import (C, Menu_Back, "menu_back"); <b>begin</b> - <A HREF="terminal_interface-curses-menus__ads.htm#ref_456_26">Back</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_539_16">Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_455_26">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A>; - <A HREF="terminal_interface-curses-menus__ads.htm#ref_457_26">Color</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_539_16">Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_455_26">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Color</A>; - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_455_14">Background</A>; + <a href="terminal_interface-curses-menus__ads.htm#ref_456_26">Back</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_539_16">Menu_Back</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_455_26">Men</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>; + <a href="terminal_interface-curses-menus__ads.htm#ref_457_26">Color</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_539_16">Menu_Back</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_455_26">Men</a>).<a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a>; + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_455_14">Background</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_546_14" HREF="terminal_interface-curses-menus__ads.htm#ref_462_14">Set_Grey</A></span> (<span class="symbol"><A NAME="ref_546_24" HREF="terminal_interface-curses-menus__ads.htm#ref_463_7">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_547_24" HREF="terminal_interface-curses-menus__ads.htm#ref_464_7">Grey</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</A>; - <span class="symbol"><A NAME="ref_548_24" HREF="terminal_interface-curses-menus__ads.htm#ref_465_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'First) + <b>procedure</b> <span class="symbol"><a name="ref_546_14" href="terminal_interface-curses-menus__ads.htm#ref_462_14">Set_Grey</a></span> (<span class="symbol"><a name="ref_546_24" href="terminal_interface-curses-menus__ads.htm#ref_463_7">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_547_24" href="terminal_interface-curses-menus__ads.htm#ref_464_7">Grey</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>; + <span class="symbol"><a name="ref_548_24" href="terminal_interface-curses-menus__ads.htm#ref_465_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_550_16">Set_Menu_Grey</A></span> (<span class="symbol"><A NAME="ref_550_31" HREF="terminal_interface-curses-menus__adb.htm#ref_550_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_551_31" HREF="terminal_interface-curses-menus__adb.htm#ref_550_16">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_550_16">Set_Menu_Grey</a></span> (<span class="symbol"><a name="ref_550_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_551_31">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Menu_Grey, "set_menu_grey"); - <span class="symbol"><A NAME="ref_554_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_492_10">Ch</A> => Character'First, - <A HREF="terminal_interface-curses__ads.htm#ref_491_10">Color</A> => <A HREF="terminal_interface-curses-menus__ads.htm#ref_465_7">Color</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A> => <A HREF="terminal_interface-curses-menus__ads.htm#ref_464_7">Grey</A>); + <span class="symbol"><a name="ref_554_7">Ch</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => Character'First, + <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses-menus__ads.htm#ref_465_7">Color</a>, + <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses-menus__ads.htm#ref_464_7">Grey</a>); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_550_16">Set_Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_463_7">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_554_7">Ch</A>)); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_462_14">Set_Grey</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_550_16">Set_Menu_Grey</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_463_7">Men</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_554_7">Ch</a>)); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_462_14">Set_Grey</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_562_14" HREF="terminal_interface-curses-menus__ads.htm#ref_470_14">Grey</A></span> (<span class="symbol"><A NAME="ref_562_20" HREF="terminal_interface-curses-menus__ads.htm#ref_470_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_563_20" HREF="terminal_interface-curses-menus__ads.htm#ref_471_20">Grey</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A>) + <b>procedure</b> <span class="symbol"><a name="ref_562_14" href="terminal_interface-curses-menus__ads.htm#ref_470_14">Grey</a></span> (<span class="symbol"><a name="ref_562_20" href="terminal_interface-curses-menus__ads.htm#ref_470_20">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_563_20" href="terminal_interface-curses-menus__ads.htm#ref_471_20">Grey</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_565_16">Menu_Grey</A></span> (<span class="symbol"><A NAME="ref_565_27" HREF="terminal_interface-curses-menus__adb.htm#ref_565_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; + <b>function</b> <span class="symbol"><a name="ref_565_16">Menu_Grey</a></span> (<span class="symbol"><a name="ref_565_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; <b>pragma</b> Import (C, Menu_Grey, "menu_grey"); <b>begin</b> - <A HREF="terminal_interface-curses-menus__ads.htm#ref_471_20">Grey</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_565_16">Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_470_20">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A>; - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_470_14">Grey</A>; + <a href="terminal_interface-curses-menus__ads.htm#ref_471_20">Grey</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_565_16">Menu_Grey</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_470_20">Men</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>; + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_470_14">Grey</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_571_14" HREF="terminal_interface-curses-menus__ads.htm#ref_475_14">Grey</A></span> (<span class="symbol"><A NAME="ref_571_20" HREF="terminal_interface-curses-menus__ads.htm#ref_476_7">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_572_20" HREF="terminal_interface-curses-menus__ads.htm#ref_477_7">Grey</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A>; - <span class="symbol"><A NAME="ref_573_20" HREF="terminal_interface-curses-menus__ads.htm#ref_478_7">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>) + <b>procedure</b> <span class="symbol"><a name="ref_571_14" href="terminal_interface-curses-menus__ads.htm#ref_475_14">Grey</a></span> (<span class="symbol"><a name="ref_571_20" href="terminal_interface-curses-menus__ads.htm#ref_476_7">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_572_20" href="terminal_interface-curses-menus__ads.htm#ref_477_7">Grey</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>; + <span class="symbol"><a name="ref_573_20" href="terminal_interface-curses-menus__ads.htm#ref_478_7">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_575_16">Menu_Grey</A></span> (<span class="symbol"><A NAME="ref_575_27" HREF="terminal_interface-curses-menus__adb.htm#ref_575_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; + <b>function</b> <span class="symbol"><a name="ref_575_16">Menu_Grey</a></span> (<span class="symbol"><a name="ref_575_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; <b>pragma</b> Import (C, Menu_Grey, "menu_grey"); <b>begin</b> - <A HREF="terminal_interface-curses-menus__ads.htm#ref_477_7">Grey</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_575_16">Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_476_7">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A>; - <A HREF="terminal_interface-curses-menus__ads.htm#ref_478_7">Color</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_575_16">Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_476_7">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Color</A>; - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_475_14">Grey</A>; + <a href="terminal_interface-curses-menus__ads.htm#ref_477_7">Grey</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_575_16">Menu_Grey</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_476_7">Men</a>).<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>; + <a href="terminal_interface-curses-menus__ads.htm#ref_478_7">Color</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_575_16">Menu_Grey</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_476_7">Men</a>).<a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a>; + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_475_14">Grey</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_582_14" HREF="terminal_interface-curses-menus__ads.htm#ref_483_14">Set_Pad_Character</A></span> (<span class="symbol"><A NAME="ref_582_33" HREF="terminal_interface-curses-menus__ads.htm#ref_483_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_583_33" HREF="terminal_interface-curses-menus__ads.htm#ref_484_33">Pad</A></span> : Character := Space) + <b>procedure</b> <span class="symbol"><a name="ref_582_14" href="terminal_interface-curses-menus__ads.htm#ref_483_14">Set_Pad_Character</a></span> (<span class="symbol"><a name="ref_582_33" href="terminal_interface-curses-menus__ads.htm#ref_483_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_583_33" href="terminal_interface-curses-menus__ads.htm#ref_484_33">Pad</a></span> : Character := Space) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_585_16">Set_Menu_Pad</A></span> (<span class="symbol"><A NAME="ref_585_30" HREF="terminal_interface-curses-menus__adb.htm#ref_585_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_586_30" HREF="terminal_interface-curses-menus__adb.htm#ref_585_16">Ch</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_585_16">Set_Menu_Pad</a></span> (<span class="symbol"><a name="ref_585_30">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_586_30">Ch</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Menu_Pad, "set_menu_pad"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_585_16">Set_Menu_Pad</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_483_33">Men</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (Character'Pos (<A HREF="terminal_interface-curses-menus__ads.htm#ref_484_33">Pad</A>)))); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_483_14">Set_Pad_Character</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_585_16">Set_Menu_Pad</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_483_33">Men</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (Character'Pos (<a href="terminal_interface-curses-menus__ads.htm#ref_484_33">Pad</a>)))); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_483_14">Set_Pad_Character</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_593_14" HREF="terminal_interface-curses-menus__ads.htm#ref_489_14">Pad_Character</A></span> (<span class="symbol"><A NAME="ref_593_29" HREF="terminal_interface-curses-menus__ads.htm#ref_489_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_594_29" HREF="terminal_interface-curses-menus__ads.htm#ref_490_29">Pad</A></span> : <b>out</b> Character) + <b>procedure</b> <span class="symbol"><a name="ref_593_14" href="terminal_interface-curses-menus__ads.htm#ref_489_14">Pad_Character</a></span> (<span class="symbol"><a name="ref_593_29" href="terminal_interface-curses-menus__ads.htm#ref_489_29">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_594_29" href="terminal_interface-curses-menus__ads.htm#ref_490_29">Pad</a></span> : <b>out</b> Character) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_596_16">Menu_Pad</A></span> (<span class="symbol"><A NAME="ref_596_26" HREF="terminal_interface-curses-menus__adb.htm#ref_596_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_596_16">Menu_Pad</a></span> (<span class="symbol"><a name="ref_596_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Menu_Pad, "menu_pad"); <b>begin</b> - <A HREF="terminal_interface-curses-menus__ads.htm#ref_490_29">Pad</A> := Character'Val (<A HREF="terminal_interface-curses-menus__adb.htm#ref_596_16">Menu_Pad</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_489_29">Men</A>)); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_489_14">Pad_Character</A>; -<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_602_14" HREF="terminal_interface-curses-menus__ads.htm#ref_499_14">Set_Spacing</A></span> (<span class="symbol"><A NAME="ref_602_27" HREF="terminal_interface-curses-menus__ads.htm#ref_499_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_603_27" HREF="terminal_interface-curses-menus__ads.htm#ref_500_27">Descr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A> := 0; - <span class="symbol"><A NAME="ref_604_27" HREF="terminal_interface-curses-menus__ads.htm#ref_501_27">Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A> := 0; - <span class="symbol"><A NAME="ref_605_27" HREF="terminal_interface-curses-menus__ads.htm#ref_502_27">Col</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A> := 0) + <a href="terminal_interface-curses-menus__ads.htm#ref_490_29">Pad</a> := Character'Val (<a href="terminal_interface-curses-menus__adb.htm#ref_596_16">Menu_Pad</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_489_29">Men</a>)); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_489_14">Pad_Character</a>; +<span class="comment"><em>-------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_602_14" href="terminal_interface-curses-menus__ads.htm#ref_499_14">Set_Spacing</a></span> (<span class="symbol"><a name="ref_602_27" href="terminal_interface-curses-menus__ads.htm#ref_499_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_603_27" href="terminal_interface-curses-menus__ads.htm#ref_500_27">Descr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> := 0; + <span class="symbol"><a name="ref_604_27" href="terminal_interface-curses-menus__ads.htm#ref_501_27">Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> := 0; + <span class="symbol"><a name="ref_605_27" href="terminal_interface-curses-menus__ads.htm#ref_502_27">Col</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> := 0) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_607_16">Set_Spacing</A></span> (<span class="symbol"><A NAME="ref_607_29" HREF="terminal_interface-curses-menus__adb.htm#ref_607_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_608_29" HREF="terminal_interface-curses-menus__adb.htm#ref_607_16">D</A></span>, <span class="symbol"><A NAME="ref_608_32" HREF="terminal_interface-curses-menus__adb.htm#ref_607_16">R</A></span>, <span class="symbol"><A NAME="ref_608_35" HREF="terminal_interface-curses-menus__adb.htm#ref_607_16">C</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_607_16">Set_Spacing</a></span> (<span class="symbol"><a name="ref_607_29">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_608_29">D</a></span>, <span class="symbol"><a name="ref_608_32">R</a></span>, <span class="symbol"><a name="ref_608_35">C</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Spacing, "set_menu_spacing"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_607_16">Set_Spacing</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_499_27">Men</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_500_27">Descr</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_501_27">Row</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_502_27">Col</A>))); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_499_14">Set_Spacing</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_607_16">Set_Spacing</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_499_27">Men</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_500_27">Descr</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_501_27">Row</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_502_27">Col</a>))); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_499_14">Set_Spacing</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_618_14" HREF="terminal_interface-curses-menus__ads.htm#ref_507_14">Spacing</A></span> (<span class="symbol"><A NAME="ref_618_23" HREF="terminal_interface-curses-menus__ads.htm#ref_507_23">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_619_23" HREF="terminal_interface-curses-menus__ads.htm#ref_508_23">Descr</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_620_23" HREF="terminal_interface-curses-menus__ads.htm#ref_509_23">Row</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_621_23" HREF="terminal_interface-curses-menus__ads.htm#ref_510_23">Col</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>) + <b>procedure</b> <span class="symbol"><a name="ref_618_14" href="terminal_interface-curses-menus__ads.htm#ref_507_14">Spacing</a></span> (<span class="symbol"><a name="ref_618_23" href="terminal_interface-curses-menus__ads.htm#ref_507_23">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_619_23" href="terminal_interface-curses-menus__ads.htm#ref_508_23">Descr</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_620_23" href="terminal_interface-curses-menus__ads.htm#ref_509_23">Row</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_621_23" href="terminal_interface-curses-menus__ads.htm#ref_510_23">Col</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>is</b> - <b>type</b> <span class="symbol"><A NAME="ref_623_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <b>function</b> <span class="symbol"><A NAME="ref_624_16">Get_Spacing</A></span> (<span class="symbol"><A NAME="ref_624_29" HREF="terminal_interface-curses-menus__adb.htm#ref_624_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_625_29" HREF="terminal_interface-curses-menus__adb.htm#ref_624_16">D</A></span>, <span class="symbol"><A NAME="ref_625_32" HREF="terminal_interface-curses-menus__adb.htm#ref_624_16">R</A></span>, <span class="symbol"><A NAME="ref_625_35" HREF="terminal_interface-curses-menus__adb.htm#ref_624_16">C</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_623_12">C_Int_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>type</b> <span class="symbol"><a name="ref_623_12">C_Int_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <b>function</b> <span class="symbol"><a name="ref_624_16">Get_Spacing</a></span> (<span class="symbol"><a name="ref_624_29">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_625_29">D</a></span>, <span class="symbol"><a name="ref_625_32">R</a></span>, <span class="symbol"><a name="ref_625_35">C</a></span> : <a href="terminal_interface-curses-menus__adb.htm#ref_623_12">C_Int_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Get_Spacing, "menu_spacing"); - <span class="symbol"><A NAME="ref_628_7">D</A></span>, <span class="symbol"><A NAME="ref_628_10">R</A></span>, <span class="symbol"><A NAME="ref_628_13">C</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_624_16">Get_Spacing</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_507_23">Men</A>, - <A HREF="terminal_interface-curses-menus__adb.htm#ref_628_7">D</A>'<b>Access</b>, - <A HREF="terminal_interface-curses-menus__adb.htm#ref_628_10">R</A>'<b>Access</b>, - <A HREF="terminal_interface-curses-menus__adb.htm#ref_628_13">C</A>'<b>Access</b>)); - <A HREF="terminal_interface-curses-menus__ads.htm#ref_508_23">Descr</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_628_7">D</A>); - <A HREF="terminal_interface-curses-menus__ads.htm#ref_509_23">Row</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_628_10">R</A>); - <A HREF="terminal_interface-curses-menus__ads.htm#ref_510_23">Col</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_628_13">C</A>); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_507_14">Spacing</A>; -<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_639_13" HREF="terminal_interface-curses-menus__ads.htm#ref_519_13">Set_Pattern</A></span> (<span class="symbol"><A NAME="ref_639_26" HREF="terminal_interface-curses-menus__ads.htm#ref_519_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_640_26" HREF="terminal_interface-curses-menus__ads.htm#ref_520_26">Text</A></span> : String) <b>return</b> Boolean - <b>is</b> - <b>type</b> <span class="symbol"><A NAME="ref_642_12">Char_Ptr</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.char; - <b>function</b> <span class="symbol"><A NAME="ref_643_16">Set_Pattern</A></span> (<span class="symbol"><A NAME="ref_643_29" HREF="terminal_interface-curses-menus__adb.htm#ref_643_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_644_29" HREF="terminal_interface-curses-menus__adb.htm#ref_643_16">Pattern</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_642_12">Char_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <span class="symbol"><a name="ref_628_7">D</a></span>, <span class="symbol"><a name="ref_628_10">R</a></span>, <span class="symbol"><a name="ref_628_13">C</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <b>begin</b> + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_624_16">Get_Spacing</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_507_23">Men</a>, + <a href="terminal_interface-curses-menus__adb.htm#ref_628_7">D</a>'<b>Access</b>, + <a href="terminal_interface-curses-menus__adb.htm#ref_628_10">R</a>'<b>Access</b>, + <a href="terminal_interface-curses-menus__adb.htm#ref_628_13">C</a>'<b>Access</b>)); + <a href="terminal_interface-curses-menus__ads.htm#ref_508_23">Descr</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_628_7">D</a>); + <a href="terminal_interface-curses-menus__ads.htm#ref_509_23">Row</a> := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_628_10">R</a>); + <a href="terminal_interface-curses-menus__ads.htm#ref_510_23">Col</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_628_13">C</a>); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_507_14">Spacing</a>; +<span class="comment"><em>-------------------------------------------------------------------------------</em></span> + <b>function</b> <span class="symbol"><a name="ref_639_13" href="terminal_interface-curses-menus__ads.htm#ref_519_13">Set_Pattern</a></span> (<span class="symbol"><a name="ref_639_26" href="terminal_interface-curses-menus__ads.htm#ref_519_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_640_26" href="terminal_interface-curses-menus__ads.htm#ref_520_26">Text</a></span> : String) <b>return</b> Boolean + <b>is</b> + <b>type</b> <span class="symbol"><a name="ref_642_12">Char_Ptr</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.char; + <b>function</b> <span class="symbol"><a name="ref_643_16">Set_Pattern</a></span> (<span class="symbol"><a name="ref_643_29">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_644_29">Pattern</a></span> : <a href="terminal_interface-curses-menus__adb.htm#ref_642_12">Char_Ptr</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Pattern, "set_menu_pattern"); - <span class="symbol"><A NAME="ref_647_7">S</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#ref_520_26">Text</A>'Length); - <span class="symbol"><A NAME="ref_648_7">L</A></span> : size_t; - <span class="symbol"><A NAME="ref_649_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <span class="symbol"><a name="ref_647_7">S</a></span> : char_array (0 .. <a href="terminal_interface-curses-menus__ads.htm#ref_520_26">Text</a>'Length); + <span class="symbol"><a name="ref_648_7">L</a></span> : size_t; + <span class="symbol"><a name="ref_649_7">Res</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>begin</b> - To_C (<A HREF="terminal_interface-curses-menus__ads.htm#ref_520_26">Text</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_647_7">S</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_648_7">L</A>); - <A HREF="terminal_interface-curses-menus__adb.htm#ref_649_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_643_16">Set_Pattern</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_519_26">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_647_7">S</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_647_7">S</A>'First)'<b>Access</b>); - <b>case</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_649_7">Res</A> <b>is</b> - <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_76_7">E_No_Match</A> => + To_C (<a href="terminal_interface-curses-menus__ads.htm#ref_520_26">Text</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_647_7">S</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_648_7">L</a>); + <a href="terminal_interface-curses-menus__adb.htm#ref_649_7">Res</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_643_16">Set_Pattern</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_519_26">Men</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_647_7">S</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_647_7">S</a>'First)'<b>Access</b>); + <b>case</b> <a href="terminal_interface-curses-menus__adb.htm#ref_649_7">Res</a> <b>is</b> + <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_76_7">E_No_Match</a> => <b>return</b> False; <b>when</b> <b>others</b> => - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_649_7">Res</A>); + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_649_7">Res</a>); <b>return</b> True; <b>end</b> <b>case</b>; - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_519_13">Set_Pattern</A>; + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_519_13">Set_Pattern</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_662_14" HREF="terminal_interface-curses-menus__ads.htm#ref_526_14">Pattern</A></span> (<span class="symbol"><A NAME="ref_662_23" HREF="terminal_interface-curses-menus__ads.htm#ref_526_23">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_663_23" HREF="terminal_interface-curses-menus__ads.htm#ref_527_23">Text</A></span> : <b>out</b> String) + <b>procedure</b> <span class="symbol"><a name="ref_662_14" href="terminal_interface-curses-menus__ads.htm#ref_526_14">Pattern</a></span> (<span class="symbol"><a name="ref_662_23" href="terminal_interface-curses-menus__ads.htm#ref_526_23">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_663_23" href="terminal_interface-curses-menus__ads.htm#ref_527_23">Text</a></span> : <b>out</b> String) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_665_16">Get_Pattern</A></span> (<span class="symbol"><A NAME="ref_665_29" HREF="terminal_interface-curses-menus__adb.htm#ref_665_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</A>; + <b>function</b> <span class="symbol"><a name="ref_665_16">Get_Pattern</a></span> (<span class="symbol"><a name="ref_665_29">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_56_12">chars_ptr</a>; <b>pragma</b> Import (C, Get_Pattern, "menu_pattern"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_665_16">Get_Pattern</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_526_23">Men</A>), <A HREF="terminal_interface-curses-menus__ads.htm#ref_527_23">Text</A>); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_526_14">Pattern</A>; -<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_671_14" HREF="terminal_interface-curses-menus__ads.htm#ref_536_14">Set_Format</A></span> (<span class="symbol"><A NAME="ref_671_26" HREF="terminal_interface-curses-menus__ads.htm#ref_536_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_672_26" HREF="terminal_interface-curses-menus__ads.htm#ref_537_26">Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_673_26" HREF="terminal_interface-curses-menus__ads.htm#ref_538_26">Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>) + <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_665_16">Get_Pattern</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_526_23">Men</a>), <a href="terminal_interface-curses-menus__ads.htm#ref_527_23">Text</a>); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_526_14">Pattern</a>; +<span class="comment"><em>-------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_671_14" href="terminal_interface-curses-menus__ads.htm#ref_536_14">Set_Format</a></span> (<span class="symbol"><a name="ref_671_26" href="terminal_interface-curses-menus__ads.htm#ref_536_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_672_26" href="terminal_interface-curses-menus__ads.htm#ref_537_26">Lines</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_673_26" href="terminal_interface-curses-menus__ads.htm#ref_538_26">Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_675_16">Set_Menu_Fmt</A></span> (<span class="symbol"><A NAME="ref_675_30" HREF="terminal_interface-curses-menus__adb.htm#ref_675_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_676_30" HREF="terminal_interface-curses-menus__adb.htm#ref_675_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_677_30" HREF="terminal_interface-curses-menus__adb.htm#ref_675_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_675_16">Set_Menu_Fmt</a></span> (<span class="symbol"><a name="ref_675_30">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_676_30">Lin</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_677_30">Col</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Menu_Fmt, "set_menu_format"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_675_16">Set_Menu_Fmt</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_536_26">Men</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_537_26">Lines</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_538_26">Columns</A>))); + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_675_16">Set_Menu_Fmt</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_536_26">Men</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_537_26">Lines</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_538_26">Columns</a>))); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_536_14">Set_Format</A>; + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_536_14">Set_Format</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_687_14" HREF="terminal_interface-curses-menus__ads.htm#ref_550_14">Format</A></span> (<span class="symbol"><A NAME="ref_687_22" HREF="terminal_interface-curses-menus__ads.htm#ref_550_22">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_688_22" HREF="terminal_interface-curses-menus__ads.htm#ref_551_22">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_689_22" HREF="terminal_interface-curses-menus__ads.htm#ref_552_22">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>) + <b>procedure</b> <span class="symbol"><a name="ref_687_14" href="terminal_interface-curses-menus__ads.htm#ref_550_14">Format</a></span> (<span class="symbol"><a name="ref_687_22" href="terminal_interface-curses-menus__ads.htm#ref_550_22">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_688_22" href="terminal_interface-curses-menus__ads.htm#ref_551_22">Lines</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_689_22" href="terminal_interface-curses-menus__ads.htm#ref_552_22">Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>) <b>is</b> - <b>type</b> <span class="symbol"><A NAME="ref_691_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <b>function</b> <span class="symbol"><A NAME="ref_692_16">Menu_Fmt</A></span> (<span class="symbol"><A NAME="ref_692_26" HREF="terminal_interface-curses-menus__adb.htm#ref_692_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_693_26" HREF="terminal_interface-curses-menus__adb.htm#ref_692_16">Y</A></span>, <span class="symbol"><A NAME="ref_693_29" HREF="terminal_interface-curses-menus__adb.htm#ref_692_16">X</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_691_12">C_Int_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>type</b> <span class="symbol"><a name="ref_691_12">C_Int_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <b>function</b> <span class="symbol"><a name="ref_692_16">Menu_Fmt</a></span> (<span class="symbol"><a name="ref_692_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_693_26">Y</a></span>, <span class="symbol"><a name="ref_693_29">X</a></span> : <a href="terminal_interface-curses-menus__adb.htm#ref_691_12">C_Int_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Menu_Fmt, "menu_format"); - <span class="symbol"><A NAME="ref_696_7">L</A></span>, <span class="symbol"><A NAME="ref_696_10">C</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <span class="symbol"><a name="ref_696_7">L</a></span>, <span class="symbol"><a name="ref_696_10">C</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_692_16">Menu_Fmt</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_550_22">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_696_7">L</A>'<b>Access</b>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_696_10">C</A>'<b>Access</b>)); - <A HREF="terminal_interface-curses-menus__ads.htm#ref_551_22">Lines</A> := <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_696_7">L</A>); - <A HREF="terminal_interface-curses-menus__ads.htm#ref_552_22">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_696_10">C</A>); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_550_14">Format</A>; -<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_703_14" HREF="terminal_interface-curses-menus__ads.htm#ref_564_14">Set_Item_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_703_34" HREF="terminal_interface-curses-menus__ads.htm#ref_564_34">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_704_34" HREF="terminal_interface-curses-menus__ads.htm#ref_565_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</A>) + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_692_16">Menu_Fmt</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_550_22">Men</a>, <a href="terminal_interface-curses-menus__adb.htm#ref_696_7">L</a>'<b>Access</b>, <a href="terminal_interface-curses-menus__adb.htm#ref_696_10">C</a>'<b>Access</b>)); + <a href="terminal_interface-curses-menus__ads.htm#ref_551_22">Lines</a> := <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_696_7">L</a>); + <a href="terminal_interface-curses-menus__ads.htm#ref_552_22">Columns</a> := <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_696_10">C</a>); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_550_14">Format</a>; +<span class="comment"><em>-------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_703_14" href="terminal_interface-curses-menus__ads.htm#ref_564_14">Set_Item_Init_Hook</a></span> (<span class="symbol"><a name="ref_703_34" href="terminal_interface-curses-menus__ads.htm#ref_564_34">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_704_34" href="terminal_interface-curses-menus__ads.htm#ref_565_34">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_706_16">Set_Item_Init</A></span> (<span class="symbol"><A NAME="ref_706_31" HREF="terminal_interface-curses-menus__adb.htm#ref_706_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_707_31" HREF="terminal_interface-curses-menus__adb.htm#ref_706_16">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_706_16">Set_Item_Init</a></span> (<span class="symbol"><a name="ref_706_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_707_31">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Item_Init, "set_item_init"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_706_16">Set_Item_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_564_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_565_34">Proc</A>)); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_564_14">Set_Item_Init_Hook</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_706_16">Set_Item_Init</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_564_34">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_565_34">Proc</a>)); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_564_14">Set_Item_Init_Hook</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_714_14" HREF="terminal_interface-curses-menus__ads.htm#ref_570_14">Set_Item_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_714_34" HREF="terminal_interface-curses-menus__ads.htm#ref_570_34">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_715_34" HREF="terminal_interface-curses-menus__ads.htm#ref_571_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</A>) + <b>procedure</b> <span class="symbol"><a name="ref_714_14" href="terminal_interface-curses-menus__ads.htm#ref_570_14">Set_Item_Term_Hook</a></span> (<span class="symbol"><a name="ref_714_34" href="terminal_interface-curses-menus__ads.htm#ref_570_34">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_715_34" href="terminal_interface-curses-menus__ads.htm#ref_571_34">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_717_16">Set_Item_Term</A></span> (<span class="symbol"><A NAME="ref_717_31" HREF="terminal_interface-curses-menus__adb.htm#ref_717_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_718_31" HREF="terminal_interface-curses-menus__adb.htm#ref_717_16">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_717_16">Set_Item_Term</a></span> (<span class="symbol"><a name="ref_717_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_718_31">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Item_Term, "set_item_term"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_717_16">Set_Item_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_570_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_571_34">Proc</A>)); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_570_14">Set_Item_Term_Hook</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_717_16">Set_Item_Term</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_570_34">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_571_34">Proc</a>)); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_570_14">Set_Item_Term_Hook</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_725_14" HREF="terminal_interface-curses-menus__ads.htm#ref_576_14">Set_Menu_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_725_34" HREF="terminal_interface-curses-menus__ads.htm#ref_576_34">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_726_34" HREF="terminal_interface-curses-menus__ads.htm#ref_577_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</A>) + <b>procedure</b> <span class="symbol"><a name="ref_725_14" href="terminal_interface-curses-menus__ads.htm#ref_576_14">Set_Menu_Init_Hook</a></span> (<span class="symbol"><a name="ref_725_34" href="terminal_interface-curses-menus__ads.htm#ref_576_34">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_726_34" href="terminal_interface-curses-menus__ads.htm#ref_577_34">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_728_16">Set_Menu_Init</A></span> (<span class="symbol"><A NAME="ref_728_31" HREF="terminal_interface-curses-menus__adb.htm#ref_728_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_729_31" HREF="terminal_interface-curses-menus__adb.htm#ref_728_16">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_728_16">Set_Menu_Init</a></span> (<span class="symbol"><a name="ref_728_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_729_31">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Menu_Init, "set_menu_init"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_728_16">Set_Menu_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_576_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_577_34">Proc</A>)); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_576_14">Set_Menu_Init_Hook</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_728_16">Set_Menu_Init</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_576_34">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_577_34">Proc</a>)); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_576_14">Set_Menu_Init_Hook</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_736_14" HREF="terminal_interface-curses-menus__ads.htm#ref_582_14">Set_Menu_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_736_34" HREF="terminal_interface-curses-menus__ads.htm#ref_582_34">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_737_34" HREF="terminal_interface-curses-menus__ads.htm#ref_583_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</A>) + <b>procedure</b> <span class="symbol"><a name="ref_736_14" href="terminal_interface-curses-menus__ads.htm#ref_582_14">Set_Menu_Term_Hook</a></span> (<span class="symbol"><a name="ref_736_34" href="terminal_interface-curses-menus__ads.htm#ref_582_34">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_737_34" href="terminal_interface-curses-menus__ads.htm#ref_583_34">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_739_16">Set_Menu_Term</A></span> (<span class="symbol"><A NAME="ref_739_31" HREF="terminal_interface-curses-menus__adb.htm#ref_739_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_740_31" HREF="terminal_interface-curses-menus__adb.htm#ref_739_16">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_739_16">Set_Menu_Term</a></span> (<span class="symbol"><a name="ref_739_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_740_31">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Menu_Term, "set_menu_term"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_739_16">Set_Menu_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_582_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_583_34">Proc</A>)); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_582_14">Set_Menu_Term_Hook</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_739_16">Set_Menu_Term</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_582_34">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_583_34">Proc</a>)); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_582_14">Set_Menu_Term_Hook</a>; - <b>function</b> <span class="symbol"><A NAME="ref_747_13" HREF="terminal_interface-curses-menus__ads.htm#ref_588_13">Get_Item_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_747_33" HREF="terminal_interface-curses-menus__ads.htm#ref_588_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</A> + <b>function</b> <span class="symbol"><a name="ref_747_13" href="terminal_interface-curses-menus__ads.htm#ref_588_13">Get_Item_Init_Hook</a></span> (<span class="symbol"><a name="ref_747_33" href="terminal_interface-curses-menus__ads.htm#ref_588_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_749_16">Item_Init</A></span> (<span class="symbol"><A NAME="ref_749_27" HREF="terminal_interface-curses-menus__adb.htm#ref_749_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</A>; + <b>function</b> <span class="symbol"><a name="ref_749_16">Item_Init</a></span> (<span class="symbol"><a name="ref_749_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>; <b>pragma</b> Import (C, Item_Init, "item_init"); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_749_16">Item_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_588_33">Men</A>); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_588_13">Get_Item_Init_Hook</A>; + <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_749_16">Item_Init</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_588_33">Men</a>); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_588_13">Get_Item_Init_Hook</a>; - <b>function</b> <span class="symbol"><A NAME="ref_755_13" HREF="terminal_interface-curses-menus__ads.htm#ref_593_13">Get_Item_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_755_33" HREF="terminal_interface-curses-menus__ads.htm#ref_593_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</A> + <b>function</b> <span class="symbol"><a name="ref_755_13" href="terminal_interface-curses-menus__ads.htm#ref_593_13">Get_Item_Term_Hook</a></span> (<span class="symbol"><a name="ref_755_33" href="terminal_interface-curses-menus__ads.htm#ref_593_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_757_16">Item_Term</A></span> (<span class="symbol"><A NAME="ref_757_27" HREF="terminal_interface-curses-menus__adb.htm#ref_757_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</A>; + <b>function</b> <span class="symbol"><a name="ref_757_16">Item_Term</a></span> (<span class="symbol"><a name="ref_757_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>; <b>pragma</b> Import (C, Item_Term, "item_term"); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_757_16">Item_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_593_33">Men</A>); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_593_13">Get_Item_Term_Hook</A>; + <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_757_16">Item_Term</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_593_33">Men</a>); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_593_13">Get_Item_Term_Hook</a>; - <b>function</b> <span class="symbol"><A NAME="ref_763_13" HREF="terminal_interface-curses-menus__ads.htm#ref_598_13">Get_Menu_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_763_33" HREF="terminal_interface-curses-menus__ads.htm#ref_598_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</A> + <b>function</b> <span class="symbol"><a name="ref_763_13" href="terminal_interface-curses-menus__ads.htm#ref_598_13">Get_Menu_Init_Hook</a></span> (<span class="symbol"><a name="ref_763_33" href="terminal_interface-curses-menus__ads.htm#ref_598_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_765_16">Menu_Init</A></span> (<span class="symbol"><A NAME="ref_765_27" HREF="terminal_interface-curses-menus__adb.htm#ref_765_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</A>; + <b>function</b> <span class="symbol"><a name="ref_765_16">Menu_Init</a></span> (<span class="symbol"><a name="ref_765_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>; <b>pragma</b> Import (C, Menu_Init, "menu_init"); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_765_16">Menu_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_598_33">Men</A>); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_598_13">Get_Menu_Init_Hook</A>; + <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_765_16">Menu_Init</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_598_33">Men</a>); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_598_13">Get_Menu_Init_Hook</a>; - <b>function</b> <span class="symbol"><A NAME="ref_771_13" HREF="terminal_interface-curses-menus__ads.htm#ref_603_13">Get_Menu_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_771_33" HREF="terminal_interface-curses-menus__ads.htm#ref_603_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</A> + <b>function</b> <span class="symbol"><a name="ref_771_13" href="terminal_interface-curses-menus__ads.htm#ref_603_13">Get_Menu_Term_Hook</a></span> (<span class="symbol"><a name="ref_771_33" href="terminal_interface-curses-menus__ads.htm#ref_603_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_773_16">Menu_Term</A></span> (<span class="symbol"><A NAME="ref_773_27" HREF="terminal_interface-curses-menus__adb.htm#ref_773_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</A>; + <b>function</b> <span class="symbol"><a name="ref_773_16">Menu_Term</a></span> (<span class="symbol"><a name="ref_773_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>; <b>pragma</b> Import (C, Menu_Term, "menu_term"); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_773_16">Menu_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_603_33">Men</A>); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_603_13">Get_Menu_Term_Hook</A>; -<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_779_14" HREF="terminal_interface-curses-menus__ads.htm#ref_612_14">Redefine</A></span> (<span class="symbol"><A NAME="ref_779_24" HREF="terminal_interface-curses-menus__ads.htm#ref_612_24">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_780_24" HREF="terminal_interface-curses-menus__ads.htm#ref_613_24">Items</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</A>) + <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_773_16">Menu_Term</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_603_33">Men</a>); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_603_13">Get_Menu_Term_Hook</a>; +<span class="comment"><em>-------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_779_14" href="terminal_interface-curses-menus__ads.htm#ref_612_14">Redefine</a></span> (<span class="symbol"><a name="ref_779_24" href="terminal_interface-curses-menus__ads.htm#ref_612_24">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_780_24" href="terminal_interface-curses-menus__ads.htm#ref_613_24">Items</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_782_16">Set_Items</A></span> (<span class="symbol"><A NAME="ref_782_27" HREF="terminal_interface-curses-menus__adb.htm#ref_782_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_783_27" HREF="terminal_interface-curses-menus__adb.htm#ref_782_16">Items</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_782_16">Set_Items</a></span> (<span class="symbol"><a name="ref_782_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_783_27">Items</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Set_Items, "set_menu_items"); <b>begin</b> - <b>pragma</b> Assert (<A HREF="terminal_interface-curses-menus__ads.htm#ref_613_24">Items</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_613_24">Items</A>'Last) = <A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</A>); - <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_613_24">Items</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_613_24">Items</A>'Last) /= <A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_112_4">Menu_Exception</A>; + <b>pragma</b> Assert (<a href="terminal_interface-curses-menus__ads.htm#ref_613_24">Items</a>.<b>all</b> (<a href="terminal_interface-curses-menus__ads.htm#ref_613_24">Items</a>'Last) = <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a>); + <b>if</b> <a href="terminal_interface-curses-menus__ads.htm#ref_613_24">Items</a>.<b>all</b> (<a href="terminal_interface-curses-menus__ads.htm#ref_613_24">Items</a>'Last) /= <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-menus__ads.htm#ref_112_4">Menu_Exception</a>; <b>else</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_782_16">Set_Items</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_612_24">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_613_24">Items</A>.<b>all</b>'Address)); + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_782_16">Set_Items</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_612_24">Men</a>, <a href="terminal_interface-curses-menus__ads.htm#ref_613_24">Items</a>.<b>all</b>'Address)); <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_612_14">Redefine</A>; + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_612_14">Redefine</a>; - <b>function</b> <span class="symbol"><A NAME="ref_795_13" HREF="terminal_interface-curses-menus__ads.htm#ref_628_13">Item_Count</A></span> (<span class="symbol"><A NAME="ref_795_25" HREF="terminal_interface-curses-menus__ads.htm#ref_628_25">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> Natural + <b>function</b> <span class="symbol"><a name="ref_795_13" href="terminal_interface-curses-menus__ads.htm#ref_628_13">Item_Count</a></span> (<span class="symbol"><a name="ref_795_25" href="terminal_interface-curses-menus__ads.htm#ref_628_25">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> Natural <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_797_16">Count</A></span> (<span class="symbol"><A NAME="ref_797_23" HREF="terminal_interface-curses-menus__adb.htm#ref_797_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_797_16">Count</a></span> (<span class="symbol"><a name="ref_797_23">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Count, "item_count"); <b>begin</b> - <b>return</b> Natural (<A HREF="terminal_interface-curses-menus__adb.htm#ref_797_16">Count</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_628_25">Men</A>)); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_628_13">Item_Count</A>; + <b>return</b> Natural (<a href="terminal_interface-curses-menus__adb.htm#ref_797_16">Count</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_628_25">Men</a>)); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_628_13">Item_Count</a>; - <b>function</b> <span class="symbol"><A NAME="ref_803_13" HREF="terminal_interface-curses-menus__ads.htm#ref_622_13">Items</A></span> (<span class="symbol"><A NAME="ref_803_20" HREF="terminal_interface-curses-menus__ads.htm#ref_622_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_804_20" HREF="terminal_interface-curses-menus__ads.htm#ref_623_20">Index</A></span> : Positive) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A> + <b>function</b> <span class="symbol"><a name="ref_803_13" href="terminal_interface-curses-menus__ads.htm#ref_622_13">Items</a></span> (<span class="symbol"><a name="ref_803_20" href="terminal_interface-curses-menus__ads.htm#ref_622_20">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_804_20" href="terminal_interface-curses-menus__ads.htm#ref_623_20">Index</a></span> : Positive) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a> <b>is</b> <b>use</b> I_Array; - <b>function</b> C_Mitems (<span class="symbol"><A NAME="ref_808_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> Pointer; + <b>function</b> C_Mitems (<span class="symbol"><a name="ref_808_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> Pointer; <b>pragma</b> Import (C, C_Mitems, "menu_items"); - P : Pointer := C_Mitems (<A HREF="terminal_interface-curses-menus__ads.htm#ref_622_20">Men</A>); + P : Pointer := C_Mitems (<a href="terminal_interface-curses-menus__ads.htm#ref_622_20">Men</a>); <b>begin</b> - <b>if</b> P = <b>null</b> <b>or</b> <b>else</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_623_20">Index</A> > <A HREF="terminal_interface-curses-menus__ads.htm#ref_628_13">Item_Count</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_622_20">Men</A>) <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_112_4">Menu_Exception</A>; + <b>if</b> P = <b>null</b> <b>or</b> <b>else</b> <a href="terminal_interface-curses-menus__ads.htm#ref_623_20">Index</a> > <a href="terminal_interface-curses-menus__ads.htm#ref_628_13">Item_Count</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_622_20">Men</a>) <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-menus__ads.htm#ref_112_4">Menu_Exception</a>; <b>else</b> - P := P + ptrdiff_t (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_623_20">Index</A>) - 1); + P := P + ptrdiff_t (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_623_20">Index</a>) - 1); <b>return</b> P.<b>all</b>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_622_13">Items</A>; + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_622_13">Items</a>; -<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_822_13" HREF="terminal_interface-curses-menus__ads.htm#ref_637_13">Create</A></span> (<span class="symbol"><A NAME="ref_822_21" HREF="terminal_interface-curses-menus__ads.htm#ref_637_21">Items</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A> +<span class="comment"><em>-------------------------------------------------------------------------------</em></span> + <b>function</b> <span class="symbol"><a name="ref_822_13" href="terminal_interface-curses-menus__ads.htm#ref_637_13">Create</a></span> (<span class="symbol"><a name="ref_822_21" href="terminal_interface-curses-menus__ads.htm#ref_637_21">Items</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_824_16">Newmenu</A></span> (<span class="symbol"><A NAME="ref_824_25" HREF="terminal_interface-curses-menus__adb.htm#ref_824_16">Items</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; + <b>function</b> <span class="symbol"><a name="ref_824_16">Newmenu</a></span> (<span class="symbol"><a name="ref_824_25">Items</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; <b>pragma</b> Import (C, Newmenu, "new_menu"); - <span class="symbol"><A NAME="ref_827_7">M</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; + <span class="symbol"><a name="ref_827_7">M</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; <b>begin</b> - <b>pragma</b> Assert (<A HREF="terminal_interface-curses-menus__ads.htm#ref_637_21">Items</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_637_21">Items</A>'Last) = <A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</A>); - <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_637_21">Items</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_637_21">Items</A>'Last) /= <A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_112_4">Menu_Exception</A>; + <b>pragma</b> Assert (<a href="terminal_interface-curses-menus__ads.htm#ref_637_21">Items</a>.<b>all</b> (<a href="terminal_interface-curses-menus__ads.htm#ref_637_21">Items</a>'Last) = <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a>); + <b>if</b> <a href="terminal_interface-curses-menus__ads.htm#ref_637_21">Items</a>.<b>all</b> (<a href="terminal_interface-curses-menus__ads.htm#ref_637_21">Items</a>'Last) /= <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-menus__ads.htm#ref_112_4">Menu_Exception</a>; <b>else</b> - <A HREF="terminal_interface-curses-menus__adb.htm#ref_827_7">M</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_824_16">Newmenu</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_637_21">Items</A>.<b>all</b>'Address); - <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_827_7">M</A> = <A HREF="terminal_interface-curses-menus__ads.htm#ref_59_4">Null_Menu</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_112_4">Menu_Exception</A>; + <a href="terminal_interface-curses-menus__adb.htm#ref_827_7">M</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_824_16">Newmenu</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_637_21">Items</a>.<b>all</b>'Address); + <b>if</b> <a href="terminal_interface-curses-menus__adb.htm#ref_827_7">M</a> = <a href="terminal_interface-curses-menus__ads.htm#ref_59_4">Null_Menu</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-menus__ads.htm#ref_112_4">Menu_Exception</a>; <b>end</b> <b>if</b>; - <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_827_7">M</A>; + <b>return</b> <a href="terminal_interface-curses-menus__adb.htm#ref_827_7">M</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_637_13">Create</A>; + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_637_13">Create</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_841_14" HREF="terminal_interface-curses-menus__ads.htm#ref_644_14">Delete</A></span> (<span class="symbol"><A NAME="ref_841_22" HREF="terminal_interface-curses-menus__ads.htm#ref_644_22">Men</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) + <b>procedure</b> <span class="symbol"><a name="ref_841_14" href="terminal_interface-curses-menus__ads.htm#ref_644_14">Delete</a></span> (<span class="symbol"><a name="ref_841_22" href="terminal_interface-curses-menus__ads.htm#ref_644_22">Men</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_843_16">Free</A></span> (<span class="symbol"><A NAME="ref_843_22" HREF="terminal_interface-curses-menus__adb.htm#ref_843_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_843_16">Free</a></span> (<span class="symbol"><a name="ref_843_22">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Free, "free_menu"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_843_16">Free</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_644_22">Men</A>)); - <A HREF="terminal_interface-curses-menus__ads.htm#ref_644_22">Men</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_59_4">Null_Menu</A>; - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_644_14">Delete</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_843_16">Free</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_644_22">Men</a>)); + <a href="terminal_interface-curses-menus__ads.htm#ref_644_22">Men</a> := <a href="terminal_interface-curses-menus__ads.htm#ref_59_4">Null_Menu</a>; + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_644_14">Delete</a>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_852_13" HREF="terminal_interface-curses-menus__ads.htm#ref_659_13">Driver</A></span> (<span class="symbol"><A NAME="ref_852_21" HREF="terminal_interface-curses-menus__ads.htm#ref_659_21">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_853_21" HREF="terminal_interface-curses-menus__ads.htm#ref_660_21">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_653_9">Driver_Result</A> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>function</b> <span class="symbol"><a name="ref_852_13" href="terminal_interface-curses-menus__ads.htm#ref_659_13">Driver</a></span> (<span class="symbol"><a name="ref_852_21" href="terminal_interface-curses-menus__ads.htm#ref_659_21">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_853_21" href="terminal_interface-curses-menus__ads.htm#ref_660_21">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_653_9">Driver_Result</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_855_16">Driver</A></span> (<span class="symbol"><A NAME="ref_855_24" HREF="terminal_interface-curses-menus__adb.htm#ref_855_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_856_24" HREF="terminal_interface-curses-menus__adb.htm#ref_855_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A>; + <b>function</b> <span class="symbol"><a name="ref_855_16">Driver</a></span> (<span class="symbol"><a name="ref_855_24">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_856_24">Key</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a>; <b>pragma</b> Import (C, Driver, "menu_driver"); - <span class="symbol"><A NAME="ref_859_7">R</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_855_16">Driver</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_659_21">Men</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_660_21">Key</A>)); + <span class="symbol"><a name="ref_859_7">R</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_70_9">Eti_Error</a> := <a href="terminal_interface-curses-menus__adb.htm#ref_855_16">Driver</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_659_21">Men</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_660_21">Key</a>)); <b>begin</b> - <b>case</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_859_7">R</A> <b>is</b> - <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_77_7">E_Unknown_Command</A> => - <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_655_27">Unknown_Request</A>; - <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_76_7">E_No_Match</A> => - <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_656_27">No_Match</A>; - <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_73_7">E_Request_Denied</A> | <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_7">E_Not_Selectable</A> => - <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_654_27">Request_Denied</A>; + <b>case</b> <a href="terminal_interface-curses-menus__adb.htm#ref_859_7">R</a> <b>is</b> + <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_77_7">E_Unknown_Command</a> => + <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_655_27">Unknown_Request</a>; + <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_76_7">E_No_Match</a> => + <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_656_27">No_Match</a>; + <b>when</b> <a href="terminal_interface-curses-aux__ads.htm#ref_73_7">E_Request_Denied</a> | <a href="terminal_interface-curses-aux__ads.htm#ref_75_7">E_Not_Selectable</a> => + <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_654_27">Request_Denied</a>; <b>when</b> <b>others</b> => - <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_859_7">R</A>); - <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_653_27">Menu_Ok</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_87_14">Eti_Exception</a> (<a href="terminal_interface-curses-menus__adb.htm#ref_859_7">R</a>); + <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_653_27">Menu_Ok</a>; <b>end</b> <b>case</b>; - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_659_13">Driver</A>; + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_659_13">Driver</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_874_14" HREF="terminal_interface-curses-menus__ads.htm#ref_179_14">Free</A></span> (<span class="symbol"><A NAME="ref_874_20" HREF="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</A>; - <span class="symbol"><A NAME="ref_875_20" HREF="terminal_interface-curses-menus__ads.htm#ref_180_20">Free_Items</A></span> : Boolean := False) + <b>procedure</b> <span class="symbol"><a name="ref_874_14" href="terminal_interface-curses-menus__ads.htm#ref_179_14">Free</a></span> (<span class="symbol"><a name="ref_874_20" href="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>; + <span class="symbol"><a name="ref_875_20" href="terminal_interface-curses-menus__ads.htm#ref_180_20">Free_Items</a></span> : Boolean := False) <b>is</b> <b>procedure</b> Release <b>is</b> <b>new</b> Ada.Unchecked_Deallocation - (Item_Array, <A HREF="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</A>); + (Item_Array, <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_180_20">Free_Items</A> <b>then</b> - <b>for</b> <span class="symbol"><A NAME="ref_881_14">I</A></span> <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</A>'First .. (<A HREF="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</A>'Last - 1) <b>loop</b> - <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_881_14">I</A>) /= <A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</A> <b>then</b> - <A HREF="terminal_interface-curses-menus__ads.htm#ref_202_14">Delete</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_881_14">I</A>)); + <b>if</b> <a href="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</a> /= <b>null</b> <b>and</b> <b>then</b> <a href="terminal_interface-curses-menus__ads.htm#ref_180_20">Free_Items</a> <b>then</b> + <b>for</b> <span class="symbol"><a name="ref_881_14">I</a></span> <b>in</b> <a href="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</a>'First .. (<a href="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</a>'Last - 1) <b>loop</b> + <b>if</b> <a href="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</a>.<b>all</b> (<a href="terminal_interface-curses-menus__adb.htm#ref_881_14">I</a>) /= <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a> <b>then</b> + <a href="terminal_interface-curses-menus__ads.htm#ref_202_14">Delete</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</a>.<b>all</b> (<a href="terminal_interface-curses-menus__adb.htm#ref_881_14">I</a>)); <b>end</b> <b>if</b>; <b>end</b> <b>loop</b>; <b>end</b> <b>if</b>; - Release (<A HREF="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</A>); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_179_14">Free</A>; + Release (<a href="terminal_interface-curses-menus__ads.htm#ref_179_20">IA</a>); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_179_14">Free</a>; -<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_891_13" HREF="terminal_interface-curses-menus__ads.htm#ref_146_13">Default_Menu_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</A> +<span class="comment"><em>-------------------------------------------------------------------------------</em></span> + <b>function</b> <span class="symbol"><a name="ref_891_13" href="terminal_interface-curses-menus__ads.htm#ref_146_13">Default_Menu_Options</a></span> <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a> <b>is</b> <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_351_13">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_59_4">Null_Menu</A>); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_146_13">Default_Menu_Options</A>; + <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_351_13">Get_Options</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_59_4">Null_Menu</a>); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_146_13">Default_Menu_Options</a>; - <b>function</b> <span class="symbol"><A NAME="ref_897_13" HREF="terminal_interface-curses-menus__ads.htm#ref_167_13">Default_Item_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</A> + <b>function</b> <span class="symbol"><a name="ref_897_13" href="terminal_interface-curses-menus__ads.htm#ref_167_13">Default_Item_Options</a></span> <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a> <b>is</b> <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_255_13">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</A>); - <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_167_13">Default_Item_Options</A>; -<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span> + <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_255_13">Get_Options</a> (<a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a>); + <b>end</b> <a href="terminal_interface-curses-menus__ads.htm#ref_167_13">Default_Item_Options</a>; +<span class="comment"><em>-------------------------------------------------------------------------------</em></span> -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-menus__ads.htm b/doc/html/ada/terminal_interface-curses-menus__ads.htm index 22ae63c4cdee..5f61dacb9a8d 100644 --- a/doc/html/ada/terminal_interface-curses-menus__ads.htm +++ b/doc/html/ada/terminal_interface-curses-menus__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-menus.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-menus.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,682 +11,682 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-menus.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Menu --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1998-2009,2014 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.32 @</EM></span> -<span class="comment"><EM>-- @Date: 2020/02/02 23:34:34 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-menus.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Menu --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1998-2009,2014 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.32 @</em></span> +<span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>with</b> System; <b>with</b> Ada.Characters.Latin_1; -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<span class="symbol"><A NAME="ref_46_35" HREF="terminal_interface-curses-menus__adb.htm#ref_50_40">Menus</A></span> <b>is</b> - <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</A>); - <b>pragma</b> Linker_Options ("-lmenu" & <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_9_4">DFT_ARG_SUFFIX</A>); +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_46_35" href="terminal_interface-curses-menus__adb.htm#ref_50_40">Menus</a></span> <b>is</b> + <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>); + <b>pragma</b> Linker_Options ("-lmenu" & <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_9_4">DFT_ARG_SUFFIX</a>); Space : Character <b>renames</b> Ada.Characters.Latin_1.Space; - <b>type</b> <span class="symbol"><A NAME="ref_52_9">Item</A></span> <b>is</b> <b>private</b>; - <b>type</b> <span class="symbol"><A NAME="ref_53_9">Menu</A></span> <b>is</b> <b>private</b>; - - <span class="comment"><EM>---------------------------</EM></span> - <span class="comment"><EM>-- Interface constants --</EM></span> - <span class="comment"><EM>---------------------------</EM></span> - <span class="symbol"><A NAME="ref_58_4">Null_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; - <span class="symbol"><A NAME="ref_59_4">Null_Menu</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - - <b>subtype</b> <span class="symbol"><A NAME="ref_61_12">Menu_Request_Code</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</A> - <b>range</b> (<A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 1) .. (<A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 17); - - <span class="comment"><EM>-- The prefix M_ stands for "Menu Request"</EM></span> - <span class="symbol"><A NAME="ref_65_4">M_Left_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 1; - <span class="symbol"><A NAME="ref_66_4">M_Right_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 2; - <span class="symbol"><A NAME="ref_67_4">M_Up_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 3; - <span class="symbol"><A NAME="ref_68_4">M_Down_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 4; - <span class="symbol"><A NAME="ref_69_4">M_ScrollUp_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 5; - <span class="symbol"><A NAME="ref_70_4">M_ScrollDown_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 6; - <span class="symbol"><A NAME="ref_71_4">M_ScrollDown_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 7; - <span class="symbol"><A NAME="ref_72_4">M_ScrollUp_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 8; - <span class="symbol"><A NAME="ref_73_4">M_First_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 9; - <span class="symbol"><A NAME="ref_74_4">M_Last_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 10; - <span class="symbol"><A NAME="ref_75_4">M_Next_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 11; - <span class="symbol"><A NAME="ref_76_4">M_Previous_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 12; - <span class="symbol"><A NAME="ref_77_4">M_Toggle_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 13; - <span class="symbol"><A NAME="ref_78_4">M_Clear_Pattern</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 14; - <span class="symbol"><A NAME="ref_79_4">M_Back_Pattern</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 15; - <span class="symbol"><A NAME="ref_80_4">M_Next_Match</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 16; - <span class="symbol"><A NAME="ref_81_4">M_Previous_Match</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 17; - - <span class="comment"><EM>-- For those who like the old 'C' names for the request codes</EM></span> - REQ_LEFT_ITEM : <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_4">M_Left_Item</A>; - REQ_RIGHT_ITEM : <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_66_4">M_Right_Item</A>; - REQ_UP_ITEM : <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_67_4">M_Up_Item</A>; - REQ_DOWN_ITEM : <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_68_4">M_Down_Item</A>; - REQ_SCR_ULINE : <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_69_4">M_ScrollUp_Line</A>; - REQ_SCR_DLINE : <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_70_4">M_ScrollDown_Line</A>; - REQ_SCR_DPAGE : <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_71_4">M_ScrollDown_Page</A>; - REQ_SCR_UPAGE : <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_72_4">M_ScrollUp_Page</A>; - REQ_FIRST_ITEM : <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_73_4">M_First_Item</A>; - REQ_LAST_ITEM : <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_74_4">M_Last_Item</A>; - REQ_NEXT_ITEM : <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_75_4">M_Next_Item</A>; - REQ_PREV_ITEM : <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_76_4">M_Previous_Item</A>; - REQ_TOGGLE_ITEM : <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_77_4">M_Toggle_Item</A>; - REQ_CLEAR_PATTERN : <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_78_4">M_Clear_Pattern</A>; - REQ_BACK_PATTERN : <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_79_4">M_Back_Pattern</A>; - REQ_NEXT_MATCH : <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_80_4">M_Next_Match</A>; - REQ_PREV_MATCH : <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_81_4">M_Previous_Match</A>; - - <b>procedure</b> <span class="symbol"><A NAME="ref_102_14" HREF="terminal_interface-curses-menus__adb.htm#ref_59_14">Request_Name</A></span> (<span class="symbol"><A NAME="ref_102_28" HREF="terminal_interface-curses-menus__adb.htm#ref_59_28">Key</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A>; - <span class="symbol"><A NAME="ref_103_28" HREF="terminal_interface-curses-menus__adb.htm#ref_60_28">Name</A></span> : <b>out</b> String); - - <b>function</b> <span class="symbol"><A NAME="ref_105_14" HREF="terminal_interface-curses-menus__adb.htm#ref_68_13">Request_Name</A></span> (<span class="symbol"><A NAME="ref_105_28" HREF="terminal_interface-curses-menus__adb.htm#ref_68_27">Key</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</A>) <b>return</b> String; - <span class="comment"><EM>-- Same as function</EM></span> - - <span class="comment"><EM>------------------</EM></span> - <span class="comment"><EM>-- Exceptions --</EM></span> - <span class="comment"><EM>------------------</EM></span> - - <span class="symbol"><A NAME="ref_112_4">Menu_Exception</A></span> : <b>exception</b>; - <span class="comment"><EM>--</EM></span> - <span class="comment"><EM>-- Menu options</EM></span> - <span class="comment"><EM>--</EM></span> - <b>type</b> <span class="symbol"><A NAME="ref_116_9">Menu_Option_Set</A></span> <b>is</b> + <b>type</b> <span class="symbol"><a name="ref_52_9">Item</a></span> <b>is</b> <b>private</b>; + <b>type</b> <span class="symbol"><a name="ref_53_9">Menu</a></span> <b>is</b> <b>private</b>; + + <span class="comment"><em>---------------------------</em></span> + <span class="comment"><em>-- Interface constants --</em></span> + <span class="comment"><em>---------------------------</em></span> + <span class="symbol"><a name="ref_58_4">Null_Item</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; + <span class="symbol"><a name="ref_59_4">Null_Menu</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + + <b>subtype</b> <span class="symbol"><a name="ref_61_12">Menu_Request_Code</a></span> <b>is</b> <a href="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</a> + <b>range</b> (<a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 1) .. (<a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 17); + + <span class="comment"><em>-- The prefix M_ stands for "Menu Request"</em></span> + <span class="symbol"><a name="ref_65_4">M_Left_Item</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 1; + <span class="symbol"><a name="ref_66_4">M_Right_Item</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 2; + <span class="symbol"><a name="ref_67_4">M_Up_Item</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 3; + <span class="symbol"><a name="ref_68_4">M_Down_Item</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 4; + <span class="symbol"><a name="ref_69_4">M_ScrollUp_Line</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 5; + <span class="symbol"><a name="ref_70_4">M_ScrollDown_Line</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 6; + <span class="symbol"><a name="ref_71_4">M_ScrollDown_Page</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 7; + <span class="symbol"><a name="ref_72_4">M_ScrollUp_Page</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 8; + <span class="symbol"><a name="ref_73_4">M_First_Item</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 9; + <span class="symbol"><a name="ref_74_4">M_Last_Item</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 10; + <span class="symbol"><a name="ref_75_4">M_Next_Item</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 11; + <span class="symbol"><a name="ref_76_4">M_Previous_Item</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 12; + <span class="symbol"><a name="ref_77_4">M_Toggle_Item</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 13; + <span class="symbol"><a name="ref_78_4">M_Clear_Pattern</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 14; + <span class="symbol"><a name="ref_79_4">M_Back_Pattern</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 15; + <span class="symbol"><a name="ref_80_4">M_Next_Match</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 16; + <span class="symbol"><a name="ref_81_4">M_Previous_Match</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 17; + + <span class="comment"><em>-- For those who like the old 'C' names for the request codes</em></span> + REQ_LEFT_ITEM : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_65_4">M_Left_Item</a>; + REQ_RIGHT_ITEM : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_66_4">M_Right_Item</a>; + REQ_UP_ITEM : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_67_4">M_Up_Item</a>; + REQ_DOWN_ITEM : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_68_4">M_Down_Item</a>; + REQ_SCR_ULINE : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_69_4">M_ScrollUp_Line</a>; + REQ_SCR_DLINE : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_70_4">M_ScrollDown_Line</a>; + REQ_SCR_DPAGE : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_71_4">M_ScrollDown_Page</a>; + REQ_SCR_UPAGE : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_72_4">M_ScrollUp_Page</a>; + REQ_FIRST_ITEM : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_73_4">M_First_Item</a>; + REQ_LAST_ITEM : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_74_4">M_Last_Item</a>; + REQ_NEXT_ITEM : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_75_4">M_Next_Item</a>; + REQ_PREV_ITEM : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_76_4">M_Previous_Item</a>; + REQ_TOGGLE_ITEM : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_77_4">M_Toggle_Item</a>; + REQ_CLEAR_PATTERN : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_78_4">M_Clear_Pattern</a>; + REQ_BACK_PATTERN : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_79_4">M_Back_Pattern</a>; + REQ_NEXT_MATCH : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_80_4">M_Next_Match</a>; + REQ_PREV_MATCH : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_81_4">M_Previous_Match</a>; + + <b>procedure</b> <span class="symbol"><a name="ref_102_14" href="terminal_interface-curses-menus__adb.htm#ref_59_14">Request_Name</a></span> (<span class="symbol"><a name="ref_102_28" href="terminal_interface-curses-menus__adb.htm#ref_59_28">Key</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a>; + <span class="symbol"><a name="ref_103_28" href="terminal_interface-curses-menus__adb.htm#ref_60_28">Name</a></span> : <b>out</b> String); + + <b>function</b> <span class="symbol"><a name="ref_105_14" href="terminal_interface-curses-menus__adb.htm#ref_68_13">Request_Name</a></span> (<span class="symbol"><a name="ref_105_28" href="terminal_interface-curses-menus__adb.htm#ref_68_27">Key</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a>) <b>return</b> String; + <span class="comment"><em>-- Same as function</em></span> + + <span class="comment"><em>------------------</em></span> + <span class="comment"><em>-- Exceptions --</em></span> + <span class="comment"><em>------------------</em></span> + + <span class="symbol"><a name="ref_112_4">Menu_Exception</a></span> : <b>exception</b>; + <span class="comment"><em>--</em></span> + <span class="comment"><em>-- Menu options</em></span> + <span class="comment"><em>--</em></span> + <b>type</b> <span class="symbol"><a name="ref_116_9">Menu_Option_Set</a></span> <b>is</b> <b>record</b> - <span class="symbol"><A NAME="ref_118_10">One_Valued</A></span> : Boolean; - <span class="symbol"><A NAME="ref_119_10">Show_Descriptions</A></span> : Boolean; - <span class="symbol"><A NAME="ref_120_10">Row_Major_Order</A></span> : Boolean; - <span class="symbol"><A NAME="ref_121_10">Ignore_Case</A></span> : Boolean; - <span class="symbol"><A NAME="ref_122_10">Show_Matches</A></span> : Boolean; - <span class="symbol"><A NAME="ref_123_10">Non_Cyclic</A></span> : Boolean; + <span class="symbol"><a name="ref_118_10">One_Valued</a></span> : Boolean; + <span class="symbol"><a name="ref_119_10">Show_Descriptions</a></span> : Boolean; + <span class="symbol"><a name="ref_120_10">Row_Major_Order</a></span> : Boolean; + <span class="symbol"><a name="ref_121_10">Ignore_Case</a></span> : Boolean; + <span class="symbol"><a name="ref_122_10">Show_Matches</a></span> : Boolean; + <span class="symbol"><a name="ref_123_10">Non_Cyclic</a></span> : Boolean; <b>end</b> <b>record</b>; - <b>pragma</b> Convention (C_Pass_By_Copy, <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</A>); + <b>pragma</b> Convention (C_Pass_By_Copy, <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>); - <b>for</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</A> <b>use</b> + <b>for</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a> <b>use</b> <b>record</b> - <A HREF="terminal_interface-curses-menus__ads.htm#ref_118_10">One_Valued</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_257_4">O_ONEVALUE_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_258_4">O_ONEVALUE_Last</A>; - <A HREF="terminal_interface-curses-menus__ads.htm#ref_119_10">Show_Descriptions</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_259_4">O_SHOWDESC_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_260_4">O_SHOWDESC_Last</A>; - <A HREF="terminal_interface-curses-menus__ads.htm#ref_120_10">Row_Major_Order</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_261_4">O_ROWMAJOR_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_262_4">O_ROWMAJOR_Last</A>; - <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_10">Ignore_Case</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_263_4">O_IGNORECASE_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_264_4">O_IGNORECASE_Last</A>; - <A HREF="terminal_interface-curses-menus__ads.htm#ref_122_10">Show_Matches</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_265_4">O_SHOWMATCH_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_266_4">O_SHOWMATCH_Last</A>; - <A HREF="terminal_interface-curses-menus__ads.htm#ref_123_10">Non_Cyclic</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_267_4">O_NONCYCLIC_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_268_4">O_NONCYCLIC_Last</A>; + <a href="terminal_interface-curses-menus__ads.htm#ref_118_10">One_Valued</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_257_4">O_ONEVALUE_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_258_4">O_ONEVALUE_Last</a>; + <a href="terminal_interface-curses-menus__ads.htm#ref_119_10">Show_Descriptions</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_259_4">O_SHOWDESC_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_260_4">O_SHOWDESC_Last</a>; + <a href="terminal_interface-curses-menus__ads.htm#ref_120_10">Row_Major_Order</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_261_4">O_ROWMAJOR_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_262_4">O_ROWMAJOR_Last</a>; + <a href="terminal_interface-curses-menus__ads.htm#ref_121_10">Ignore_Case</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_263_4">O_IGNORECASE_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_264_4">O_IGNORECASE_Last</a>; + <a href="terminal_interface-curses-menus__ads.htm#ref_122_10">Show_Matches</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_265_4">O_SHOWMATCH_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_266_4">O_SHOWMATCH_Last</a>; + <a href="terminal_interface-curses-menus__ads.htm#ref_123_10">Non_Cyclic</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_267_4">O_NONCYCLIC_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_268_4">O_NONCYCLIC_Last</a>; <b>end</b> <b>record</b>; <b>pragma</b> Warnings (Off); - <b>for</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</A>'Size <b>use</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_269_4">Menu_Options_Size</A>; + <b>for</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>'Size <b>use</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_269_4">Menu_Options_Size</a>; <b>pragma</b> Warnings (On); - <b>function</b> <span class="symbol"><A NAME="ref_146_13" HREF="terminal_interface-curses-menus__adb.htm#ref_891_13">Default_Menu_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</A>; - <span class="comment"><EM>-- Initial default options for a menu.</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_146_13">Default_Menu_Options</A>); - <span class="comment"><EM>--</EM></span> - <span class="comment"><EM>-- Item options</EM></span> - <span class="comment"><EM>--</EM></span> - <b>type</b> <span class="symbol"><A NAME="ref_152_9">Item_Option_Set</A></span> <b>is</b> + <b>function</b> <span class="symbol"><a name="ref_146_13" href="terminal_interface-curses-menus__adb.htm#ref_891_13">Default_Menu_Options</a></span> <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>; + <span class="comment"><em>-- Initial default options for a menu.</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_146_13">Default_Menu_Options</a>); + <span class="comment"><em>--</em></span> + <span class="comment"><em>-- Item options</em></span> + <span class="comment"><em>--</em></span> + <b>type</b> <span class="symbol"><a name="ref_152_9">Item_Option_Set</a></span> <b>is</b> <b>record</b> - <span class="symbol"><A NAME="ref_154_10">Selectable</A></span> : Boolean; + <span class="symbol"><a name="ref_154_10">Selectable</a></span> : Boolean; <b>end</b> <b>record</b>; - <b>pragma</b> Convention (C_Pass_By_Copy, <A HREF="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</A>); + <b>pragma</b> Convention (C_Pass_By_Copy, <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>); - <b>for</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</A> <b>use</b> + <b>for</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a> <b>use</b> <b>record</b> - <A HREF="terminal_interface-curses-menus__ads.htm#ref_154_10">Selectable</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_273_4">O_SELECTABLE_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_274_4">O_SELECTABLE_Last</A>; + <a href="terminal_interface-curses-menus__ads.htm#ref_154_10">Selectable</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_273_4">O_SELECTABLE_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_274_4">O_SELECTABLE_Last</a>; <b>end</b> <b>record</b>; <b>pragma</b> Warnings (Off); - <b>for</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</A>'Size <b>use</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_275_4">Item_Options_Size</A>; + <b>for</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>'Size <b>use</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_275_4">Item_Options_Size</a>; <b>pragma</b> Warnings (On); - <b>function</b> <span class="symbol"><A NAME="ref_167_13" HREF="terminal_interface-curses-menus__adb.htm#ref_897_13">Default_Item_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</A>; - <span class="comment"><EM>-- Initial default options for an item.</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_167_13">Default_Item_Options</A>); + <b>function</b> <span class="symbol"><a name="ref_167_13" href="terminal_interface-curses-menus__adb.htm#ref_897_13">Default_Item_Options</a></span> <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>; + <span class="comment"><em>-- Initial default options for an item.</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_167_13">Default_Item_Options</a>); - <span class="comment"><EM>--</EM></span> - <span class="comment"><EM>-- Item Array</EM></span> - <span class="comment"><EM>--</EM></span> - <b>type</b> Item_Array <b>is</b> <b>array</b> (Positive <b>range</b> <>) <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; + <span class="comment"><em>--</em></span> + <span class="comment"><em>-- Item Array</em></span> + <span class="comment"><em>--</em></span> + <b>type</b> Item_Array <b>is</b> <b>array</b> (Positive <b>range</b> <>) <b>of</b> <b>aliased</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; <b>pragma</b> Convention (C, Item_Array); - <b>type</b> <span class="symbol"><A NAME="ref_177_9">Item_Array_Access</A></span> <b>is</b> <b>access</b> Item_Array; - - <b>procedure</b> <span class="symbol"><A NAME="ref_179_14" HREF="terminal_interface-curses-menus__adb.htm#ref_874_14">Free</A></span> (<span class="symbol"><A NAME="ref_179_20" HREF="terminal_interface-curses-menus__adb.htm#ref_874_20">IA</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</A>; - <span class="symbol"><A NAME="ref_180_20" HREF="terminal_interface-curses-menus__adb.htm#ref_875_20">Free_Items</A></span> : Boolean := False); - <span class="comment"><EM>-- Release the memory for an allocated item array</EM></span> - <span class="comment"><EM>-- If Free_Items is True, call Delete() for all the items in</EM></span> - <span class="comment"><EM>-- the array.</EM></span> - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/mitem_new.3x.html">mitem_new.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_1">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_190_13" HREF="terminal_interface-curses-menus__adb.htm#ref_76_13">Create</A></span> (<span class="symbol"><A NAME="ref_190_21" HREF="terminal_interface-curses-menus__adb.htm#ref_76_21">Name</A></span> : String; - <span class="symbol"><A NAME="ref_191_21" HREF="terminal_interface-curses-menus__adb.htm#ref_77_21">Description</A></span> : String := "") <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/mitem_new.3x.html">new_item()</A></EM></span> - <span class="comment"><EM>-- Not inlined.</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_2">|</A></EM></span> - <b>function</b> New_Item (<span class="symbol"><A NAME="ref_196_23">Name</A></span> : String; - <span class="symbol"><A NAME="ref_197_23">Description</A></span> : String := "") <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A> - <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_190_13">Create</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/mitem_new.3x.html">new_item()</A></EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_3">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_202_14" HREF="terminal_interface-curses-menus__adb.htm#ref_106_14">Delete</A></span> (<span class="symbol"><A NAME="ref_202_22" HREF="terminal_interface-curses-menus__adb.htm#ref_106_22">Itm</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/mitem_new.3x.html">free_item()</A></EM></span> - <span class="comment"><EM>-- Resets Itm to Null_Item</EM></span> - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/mitem_value.3x.html">mitem_value.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_4">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_211_14" HREF="terminal_interface-curses-menus__adb.htm#ref_130_14">Set_Value</A></span> (<span class="symbol"><A NAME="ref_211_25" HREF="terminal_interface-curses-menus__adb.htm#ref_130_25">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; - <span class="symbol"><A NAME="ref_212_25" HREF="terminal_interface-curses-menus__adb.htm#ref_131_25">Value</A></span> : Boolean := True); - <span class="comment"><EM>-- AKA: <A HREF="../man/mitem_value.3x.html">set_item_value()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_211_14">Set_Value</A>); - - <span class="comment"><EM>-- <A NAME="AFU_5">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_217_13" HREF="terminal_interface-curses-menus__adb.htm#ref_141_13">Value</A></span> (<span class="symbol"><A NAME="ref_217_20" HREF="terminal_interface-curses-menus__adb.htm#ref_141_20">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>) <b>return</b> Boolean; - <span class="comment"><EM>-- AKA: <A HREF="../man/mitem_value.3x.html">item_value()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_217_13">Value</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/mitem_visible.3x.html">mitem_visible.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_6">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_226_13" HREF="terminal_interface-curses-menus__adb.htm#ref_154_13">Visible</A></span> (<span class="symbol"><A NAME="ref_226_22" HREF="terminal_interface-curses-menus__adb.htm#ref_154_22">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>) <b>return</b> Boolean; - <span class="comment"><EM>-- AKA: <A HREF="../man/mitem_visible.3x.html">item_visible()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_226_13">Visible</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/mitem_opts.3x.html">mitem_opts.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_7">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_235_14" HREF="terminal_interface-curses-menus__adb.htm#ref_166_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_235_27" HREF="terminal_interface-curses-menus__adb.htm#ref_166_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; - <span class="symbol"><A NAME="ref_236_27" HREF="terminal_interface-curses-menus__adb.htm#ref_167_27">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/mitem_opts.3x.html">set_item_opts()</A></EM></span> - <span class="comment"><EM>-- An overloaded Set_Options is defined later. Pragma Inline appears there</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_8">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_241_14" HREF="terminal_interface-curses-menus__adb.htm#ref_177_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_241_30" HREF="terminal_interface-curses-menus__adb.htm#ref_177_30">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; - <span class="symbol"><A NAME="ref_242_30" HREF="terminal_interface-curses-menus__adb.htm#ref_178_30">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</A>; - <span class="symbol"><A NAME="ref_243_30" HREF="terminal_interface-curses-menus__adb.htm#ref_179_30">On</A></span> : Boolean := True); - <span class="comment"><EM>-- AKA: <A HREF="../man/mitem_opts.3x.html">item_opts_on()</A></EM></span> - <span class="comment"><EM>-- AKA: item_opts_off()</EM></span> - <span class="comment"><EM>-- An overloaded Switch_Options is defined later.</EM></span> - <span class="comment"><EM>-- Pragma Inline appears there</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_9">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_250_14" HREF="terminal_interface-curses-menus__adb.htm#ref_196_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_250_27" HREF="terminal_interface-curses-menus__adb.htm#ref_196_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; - <span class="symbol"><A NAME="ref_251_27" HREF="terminal_interface-curses-menus__adb.htm#ref_197_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/mitem_opts.3x.html">item_opts()</A></EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_10">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_255_13" HREF="terminal_interface-curses-menus__adb.htm#ref_206_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_255_26" HREF="terminal_interface-curses-menus__adb.htm#ref_206_26">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/mitem_opts.3x.html">item_opts()</A></EM></span> - <span class="comment"><EM>-- An overloaded Get_Options is defined later. Pragma Inline appears there</EM></span> - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/mitem_name.3x.html">mitem_name.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_11">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_264_14" HREF="terminal_interface-curses-menus__adb.htm#ref_214_14">Name</A></span> (<span class="symbol"><A NAME="ref_264_20" HREF="terminal_interface-curses-menus__adb.htm#ref_214_20">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; - <span class="symbol"><A NAME="ref_265_20" HREF="terminal_interface-curses-menus__adb.htm#ref_215_20">Name</A></span> : <b>out</b> String); - <span class="comment"><EM>-- AKA: <A HREF="../man/mitem_name.3x.html">item_name()</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_267_14" HREF="terminal_interface-curses-menus__adb.htm#ref_223_13">Name</A></span> (<span class="symbol"><A NAME="ref_267_20" HREF="terminal_interface-curses-menus__adb.htm#ref_223_19">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>) <b>return</b> String; - <span class="comment"><EM>-- AKA: <A HREF="../man/mitem_name.3x.html">item_name()</A></EM></span> - <span class="comment"><EM>-- Implemented as function</EM></span> + <b>type</b> <span class="symbol"><a name="ref_177_9">Item_Array_Access</a></span> <b>is</b> <b>access</b> Item_Array; + + <b>procedure</b> <span class="symbol"><a name="ref_179_14" href="terminal_interface-curses-menus__adb.htm#ref_874_14">Free</a></span> (<span class="symbol"><a name="ref_179_20" href="terminal_interface-curses-menus__adb.htm#ref_874_20">IA</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>; + <span class="symbol"><a name="ref_180_20" href="terminal_interface-curses-menus__adb.htm#ref_875_20">Free_Items</a></span> : Boolean := False); + <span class="comment"><em>-- Release the memory for an allocated item array</em></span> + <span class="comment"><em>-- If Free_Items is True, call Delete() for all the items in</em></span> + <span class="comment"><em>-- the array.</em></span> + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/mitem_new.3x.html">mitem_new.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_1">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_190_13" href="terminal_interface-curses-menus__adb.htm#ref_76_13">Create</a></span> (<span class="symbol"><a name="ref_190_21" href="terminal_interface-curses-menus__adb.htm#ref_76_21">Name</a></span> : String; + <span class="symbol"><a name="ref_191_21" href="terminal_interface-curses-menus__adb.htm#ref_77_21">Description</a></span> : String := "") <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/mitem_new.3x.html">new_item()</A></em></span> + <span class="comment"><em>-- Not inlined.</em></span> + + <span class="comment"><em>-- <A NAME="AFU_2">|</A></em></span> + <b>function</b> New_Item (<span class="symbol"><a name="ref_196_23">Name</a></span> : String; + <span class="symbol"><a name="ref_197_23">Description</a></span> : String := "") <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a> + <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_190_13">Create</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/mitem_new.3x.html">new_item()</A></em></span> + + <span class="comment"><em>-- <A NAME="AFU_3">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_202_14" href="terminal_interface-curses-menus__adb.htm#ref_106_14">Delete</a></span> (<span class="symbol"><a name="ref_202_22" href="terminal_interface-curses-menus__adb.htm#ref_106_22">Itm</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/mitem_new.3x.html">free_item()</A></em></span> + <span class="comment"><em>-- Resets Itm to Null_Item</em></span> + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/mitem_value.3x.html">mitem_value.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_4">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_211_14" href="terminal_interface-curses-menus__adb.htm#ref_130_14">Set_Value</a></span> (<span class="symbol"><a name="ref_211_25" href="terminal_interface-curses-menus__adb.htm#ref_130_25">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; + <span class="symbol"><a name="ref_212_25" href="terminal_interface-curses-menus__adb.htm#ref_131_25">Value</a></span> : Boolean := True); + <span class="comment"><em>-- AKA: <A HREF="../man/mitem_value.3x.html">set_item_value()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_211_14">Set_Value</a>); + + <span class="comment"><em>-- <A NAME="AFU_5">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_217_13" href="terminal_interface-curses-menus__adb.htm#ref_141_13">Value</a></span> (<span class="symbol"><a name="ref_217_20" href="terminal_interface-curses-menus__adb.htm#ref_141_20">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> Boolean; + <span class="comment"><em>-- AKA: <A HREF="../man/mitem_value.3x.html">item_value()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_217_13">Value</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/mitem_visible.3x.html">mitem_visible.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_6">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_226_13" href="terminal_interface-curses-menus__adb.htm#ref_154_13">Visible</a></span> (<span class="symbol"><a name="ref_226_22" href="terminal_interface-curses-menus__adb.htm#ref_154_22">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> Boolean; + <span class="comment"><em>-- AKA: <A HREF="../man/mitem_visible.3x.html">item_visible()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_226_13">Visible</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/mitem_opts.3x.html">mitem_opts.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_7">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_235_14" href="terminal_interface-curses-menus__adb.htm#ref_166_14">Set_Options</a></span> (<span class="symbol"><a name="ref_235_27" href="terminal_interface-curses-menus__adb.htm#ref_166_27">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; + <span class="symbol"><a name="ref_236_27" href="terminal_interface-curses-menus__adb.htm#ref_167_27">Options</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/mitem_opts.3x.html">set_item_opts()</A></em></span> + <span class="comment"><em>-- An overloaded Set_Options is defined later. Pragma Inline appears there</em></span> + + <span class="comment"><em>-- <A NAME="AFU_8">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_241_14" href="terminal_interface-curses-menus__adb.htm#ref_177_14">Switch_Options</a></span> (<span class="symbol"><a name="ref_241_30" href="terminal_interface-curses-menus__adb.htm#ref_177_30">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; + <span class="symbol"><a name="ref_242_30" href="terminal_interface-curses-menus__adb.htm#ref_178_30">Options</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>; + <span class="symbol"><a name="ref_243_30" href="terminal_interface-curses-menus__adb.htm#ref_179_30">On</a></span> : Boolean := True); + <span class="comment"><em>-- AKA: <A HREF="../man/mitem_opts.3x.html">item_opts_on()</A></em></span> + <span class="comment"><em>-- AKA: item_opts_off()</em></span> + <span class="comment"><em>-- An overloaded Switch_Options is defined later.</em></span> + <span class="comment"><em>-- Pragma Inline appears there</em></span> + + <span class="comment"><em>-- <A NAME="AFU_9">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_250_14" href="terminal_interface-curses-menus__adb.htm#ref_196_14">Get_Options</a></span> (<span class="symbol"><a name="ref_250_27" href="terminal_interface-curses-menus__adb.htm#ref_196_27">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; + <span class="symbol"><a name="ref_251_27" href="terminal_interface-curses-menus__adb.htm#ref_197_27">Options</a></span> : <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/mitem_opts.3x.html">item_opts()</A></em></span> + + <span class="comment"><em>-- <A NAME="AFU_10">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_255_13" href="terminal_interface-curses-menus__adb.htm#ref_206_13">Get_Options</a></span> (<span class="symbol"><a name="ref_255_26" href="terminal_interface-curses-menus__adb.htm#ref_206_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a> := <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/mitem_opts.3x.html">item_opts()</A></em></span> + <span class="comment"><em>-- An overloaded Get_Options is defined later. Pragma Inline appears there</em></span> + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/mitem_name.3x.html">mitem_name.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_11">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_264_14" href="terminal_interface-curses-menus__adb.htm#ref_214_14">Name</a></span> (<span class="symbol"><a name="ref_264_20" href="terminal_interface-curses-menus__adb.htm#ref_214_20">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; + <span class="symbol"><a name="ref_265_20" href="terminal_interface-curses-menus__adb.htm#ref_215_20">Name</a></span> : <b>out</b> String); + <span class="comment"><em>-- AKA: <A HREF="../man/mitem_name.3x.html">item_name()</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_267_14" href="terminal_interface-curses-menus__adb.htm#ref_223_13">Name</a></span> (<span class="symbol"><a name="ref_267_20" href="terminal_interface-curses-menus__adb.htm#ref_223_19">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> String; + <span class="comment"><em>-- AKA: <A HREF="../man/mitem_name.3x.html">item_name()</A></em></span> + <span class="comment"><em>-- Implemented as function</em></span> <b>pragma</b> Inline (Name); - <span class="comment"><EM>-- <A NAME="AFU_12">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_273_14" HREF="terminal_interface-curses-menus__adb.htm#ref_231_14">Description</A></span> (<span class="symbol"><A NAME="ref_273_27" HREF="terminal_interface-curses-menus__adb.htm#ref_231_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; - <span class="symbol"><A NAME="ref_274_27" HREF="terminal_interface-curses-menus__adb.htm#ref_232_27">Description</A></span> : <b>out</b> String); - <span class="comment"><EM>-- AKA: <A HREF="../man/mitem_name.3x.html">item_description();</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_12">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_273_14" href="terminal_interface-curses-menus__adb.htm#ref_231_14">Description</a></span> (<span class="symbol"><a name="ref_273_27" href="terminal_interface-curses-menus__adb.htm#ref_231_27">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; + <span class="symbol"><a name="ref_274_27" href="terminal_interface-curses-menus__adb.htm#ref_232_27">Description</a></span> : <b>out</b> String); + <span class="comment"><em>-- AKA: <A HREF="../man/mitem_name.3x.html">item_description();</A></em></span> - <b>function</b> <span class="symbol"><A NAME="ref_277_14" HREF="terminal_interface-curses-menus__adb.htm#ref_240_13">Description</A></span> (<span class="symbol"><A NAME="ref_277_27" HREF="terminal_interface-curses-menus__adb.htm#ref_240_26">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>) <b>return</b> String; - <span class="comment"><EM>-- AKA: <A HREF="../man/mitem_name.3x.html">item_description();</A></EM></span> - <span class="comment"><EM>-- Implemented as function</EM></span> + <b>function</b> <span class="symbol"><a name="ref_277_14" href="terminal_interface-curses-menus__adb.htm#ref_240_13">Description</a></span> (<span class="symbol"><a name="ref_277_27" href="terminal_interface-curses-menus__adb.htm#ref_240_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> String; + <span class="comment"><em>-- AKA: <A HREF="../man/mitem_name.3x.html">item_description();</A></em></span> + <span class="comment"><em>-- Implemented as function</em></span> <b>pragma</b> Inline (Description); - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_13">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_287_14" HREF="terminal_interface-curses-menus__adb.htm#ref_248_14">Set_Current</A></span> (<span class="symbol"><A NAME="ref_287_27" HREF="terminal_interface-curses-menus__adb.htm#ref_248_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_288_27" HREF="terminal_interface-curses-menus__adb.htm#ref_249_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/mitem_current.3x.html">set_current_item()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_287_14">Set_Current</A>); - - <span class="comment"><EM>-- <A NAME="AFU_14">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_293_13" HREF="terminal_interface-curses-menus__adb.htm#ref_259_13">Current</A></span> (<span class="symbol"><A NAME="ref_293_22" HREF="terminal_interface-curses-menus__adb.htm#ref_259_22">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/mitem_current.3x.html">current_item()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_293_13">Current</A>); - - <span class="comment"><EM>-- <A NAME="AFU_15">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_298_14" HREF="terminal_interface-curses-menus__adb.htm#ref_272_14">Set_Top_Row</A></span> (<span class="symbol"><A NAME="ref_298_27" HREF="terminal_interface-curses-menus__adb.htm#ref_272_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_299_27" HREF="terminal_interface-curses-menus__adb.htm#ref_273_27">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/mitem_current.3x.html">set_top_row()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_298_14">Set_Top_Row</A>); - - <span class="comment"><EM>-- <A NAME="AFU_16">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_304_13" HREF="terminal_interface-curses-menus__adb.htm#ref_283_13">Top_Row</A></span> (<span class="symbol"><A NAME="ref_304_22" HREF="terminal_interface-curses-menus__adb.htm#ref_283_22">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/mitem_current.3x.html">top_row()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_304_13">Top_Row</A>); - - <span class="comment"><EM>-- <A NAME="AFU_17">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_309_13" HREF="terminal_interface-curses-menus__adb.htm#ref_296_13">Get_Index</A></span> (<span class="symbol"><A NAME="ref_309_24" HREF="terminal_interface-curses-menus__adb.htm#ref_296_24">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>) <b>return</b> Positive; - <span class="comment"><EM>-- AKA: <A HREF="../man/mitem_current.3x.html">item_index()</A></EM></span> - <span class="comment"><EM>-- Please note that in this binding we start the numbering of items</EM></span> - <span class="comment"><EM>-- with 1. So this is number is one more than you get from the low</EM></span> - <span class="comment"><EM>-- level call.</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_309_13">Get_Index</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/menu_post.3x.html">menu_post.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_18">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_321_14" HREF="terminal_interface-curses-menus__adb.htm#ref_309_14">Post</A></span> (<span class="symbol"><A NAME="ref_321_20" HREF="terminal_interface-curses-menus__adb.htm#ref_309_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_322_20" HREF="terminal_interface-curses-menus__adb.htm#ref_310_20">Post</A></span> : Boolean := True); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_post.3x.html">post_menu()</A></EM></span> - <span class="comment"><EM>-- AKA: unpost_menu()</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_321_14">Post</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/menu_opts.3x.html">menu_opts.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_19">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_332_14" HREF="terminal_interface-curses-menus__adb.htm#ref_325_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_332_27" HREF="terminal_interface-curses-menus__adb.htm#ref_325_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_333_27" HREF="terminal_interface-curses-menus__adb.htm#ref_326_27">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_opts.3x.html">set_menu_opts()</A></EM></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_13">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_287_14" href="terminal_interface-curses-menus__adb.htm#ref_248_14">Set_Current</a></span> (<span class="symbol"><a name="ref_287_27" href="terminal_interface-curses-menus__adb.htm#ref_248_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_288_27" href="terminal_interface-curses-menus__adb.htm#ref_249_27">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/mitem_current.3x.html">set_current_item()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_287_14">Set_Current</a>); + + <span class="comment"><em>-- <A NAME="AFU_14">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_293_13" href="terminal_interface-curses-menus__adb.htm#ref_259_13">Current</a></span> (<span class="symbol"><a name="ref_293_22" href="terminal_interface-curses-menus__adb.htm#ref_259_22">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/mitem_current.3x.html">current_item()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_293_13">Current</a>); + + <span class="comment"><em>-- <A NAME="AFU_15">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_298_14" href="terminal_interface-curses-menus__adb.htm#ref_272_14">Set_Top_Row</a></span> (<span class="symbol"><a name="ref_298_27" href="terminal_interface-curses-menus__adb.htm#ref_272_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_299_27" href="terminal_interface-curses-menus__adb.htm#ref_273_27">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/mitem_current.3x.html">set_top_row()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_298_14">Set_Top_Row</a>); + + <span class="comment"><em>-- <A NAME="AFU_16">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_304_13" href="terminal_interface-curses-menus__adb.htm#ref_283_13">Top_Row</a></span> (<span class="symbol"><a name="ref_304_22" href="terminal_interface-curses-menus__adb.htm#ref_283_22">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/mitem_current.3x.html">top_row()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_304_13">Top_Row</a>); + + <span class="comment"><em>-- <A NAME="AFU_17">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_309_13" href="terminal_interface-curses-menus__adb.htm#ref_296_13">Get_Index</a></span> (<span class="symbol"><a name="ref_309_24" href="terminal_interface-curses-menus__adb.htm#ref_296_24">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> Positive; + <span class="comment"><em>-- AKA: <A HREF="../man/mitem_current.3x.html">item_index()</A></em></span> + <span class="comment"><em>-- Please note that in this binding we start the numbering of items</em></span> + <span class="comment"><em>-- with 1. So this is number is one more than you get from the low</em></span> + <span class="comment"><em>-- level call.</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_309_13">Get_Index</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/menu_post.3x.html">menu_post.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_18">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_321_14" href="terminal_interface-curses-menus__adb.htm#ref_309_14">Post</a></span> (<span class="symbol"><a name="ref_321_20" href="terminal_interface-curses-menus__adb.htm#ref_309_20">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_322_20" href="terminal_interface-curses-menus__adb.htm#ref_310_20">Post</a></span> : Boolean := True); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_post.3x.html">post_menu()</A></em></span> + <span class="comment"><em>-- AKA: unpost_menu()</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_321_14">Post</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/menu_opts.3x.html">menu_opts.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_19">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_332_14" href="terminal_interface-curses-menus__adb.htm#ref_325_14">Set_Options</a></span> (<span class="symbol"><a name="ref_332_27" href="terminal_interface-curses-menus__adb.htm#ref_325_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_333_27" href="terminal_interface-curses-menus__adb.htm#ref_326_27">Options</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_opts.3x.html">set_menu_opts()</A></em></span> <b>pragma</b> Inline (Set_Options); - <span class="comment"><EM>-- <A NAME="AFU_20">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_338_14" HREF="terminal_interface-curses-menus__adb.htm#ref_336_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_338_30" HREF="terminal_interface-curses-menus__adb.htm#ref_336_30">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_339_30" HREF="terminal_interface-curses-menus__adb.htm#ref_337_30">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</A>; - <span class="symbol"><A NAME="ref_340_30" HREF="terminal_interface-curses-menus__adb.htm#ref_338_30">On</A></span> : Boolean := True); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_opts.3x.html">menu_opts_on()</A></EM></span> - <span class="comment"><EM>-- AKA: menu_opts_off()</EM></span> + <span class="comment"><em>-- <A NAME="AFU_20">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_338_14" href="terminal_interface-curses-menus__adb.htm#ref_336_14">Switch_Options</a></span> (<span class="symbol"><a name="ref_338_30" href="terminal_interface-curses-menus__adb.htm#ref_336_30">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_339_30" href="terminal_interface-curses-menus__adb.htm#ref_337_30">Options</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>; + <span class="symbol"><a name="ref_340_30" href="terminal_interface-curses-menus__adb.htm#ref_338_30">On</a></span> : Boolean := True); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_opts.3x.html">menu_opts_on()</A></em></span> + <span class="comment"><em>-- AKA: menu_opts_off()</em></span> <b>pragma</b> Inline (Switch_Options); - <span class="comment"><EM>-- <A NAME="AFU_21">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_346_14" HREF="terminal_interface-curses-menus__adb.htm#ref_355_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_346_27" HREF="terminal_interface-curses-menus__adb.htm#ref_355_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_347_27" HREF="terminal_interface-curses-menus__adb.htm#ref_356_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_opts.3x.html">menu_opts()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_21">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_346_14" href="terminal_interface-curses-menus__adb.htm#ref_355_14">Get_Options</a></span> (<span class="symbol"><a name="ref_346_27" href="terminal_interface-curses-menus__adb.htm#ref_355_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_347_27" href="terminal_interface-curses-menus__adb.htm#ref_356_27">Options</a></span> : <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_opts.3x.html">menu_opts()</A></em></span> - <span class="comment"><EM>-- <A NAME="AFU_22">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_351_13" HREF="terminal_interface-curses-menus__adb.htm#ref_365_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_351_26" HREF="terminal_interface-curses-menus__adb.htm#ref_365_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_59_4">Null_Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_opts.3x.html">menu_opts()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_22">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_351_13" href="terminal_interface-curses-menus__adb.htm#ref_365_13">Get_Options</a></span> (<span class="symbol"><a name="ref_351_26" href="terminal_interface-curses-menus__adb.htm#ref_365_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a> := <a href="terminal_interface-curses-menus__ads.htm#ref_59_4">Null_Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/menu_opts.3x.html">menu_opts()</A></em></span> <b>pragma</b> Inline (Get_Options); - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/menu_win.3x.html">menu_win.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_23">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_360_14" HREF="terminal_interface-curses-menus__adb.htm#ref_373_14">Set_Window</A></span> (<span class="symbol"><A NAME="ref_360_26" HREF="terminal_interface-curses-menus__adb.htm#ref_373_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_361_26" HREF="terminal_interface-curses-menus__adb.htm#ref_374_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_win.3x.html">set_menu_win()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_360_14">Set_Window</A>); - - <span class="comment"><EM>-- <A NAME="AFU_24">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_366_13" HREF="terminal_interface-curses-menus__adb.htm#ref_384_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_366_25" HREF="terminal_interface-curses-menus__adb.htm#ref_384_25">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_win.3x.html">menu_win()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_366_13">Get_Window</A>); - - <span class="comment"><EM>-- <A NAME="AFU_25">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_371_14" HREF="terminal_interface-curses-menus__adb.htm#ref_394_14">Set_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_371_30" HREF="terminal_interface-curses-menus__adb.htm#ref_394_30">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_372_30" HREF="terminal_interface-curses-menus__adb.htm#ref_395_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_win.3x.html">set_menu_sub()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_371_14">Set_Sub_Window</A>); - - <span class="comment"><EM>-- <A NAME="AFU_26">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_377_13" HREF="terminal_interface-curses-menus__adb.htm#ref_405_13">Get_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_377_29" HREF="terminal_interface-curses-menus__adb.htm#ref_405_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_win.3x.html">menu_sub()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_377_13">Get_Sub_Window</A>); - - <span class="comment"><EM>-- <A NAME="AFU_27">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_382_14" HREF="terminal_interface-curses-menus__adb.htm#ref_415_14">Scale</A></span> (<span class="symbol"><A NAME="ref_382_21" HREF="terminal_interface-curses-menus__adb.htm#ref_415_21">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_383_21" HREF="terminal_interface-curses-menus__adb.htm#ref_416_21">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_384_21" HREF="terminal_interface-curses-menus__adb.htm#ref_417_21">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_win.3x.html">scale_menu()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_382_14">Scale</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/menu_cursor.3x.html">menu_cursor.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_28">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_393_14" HREF="terminal_interface-curses-menus__adb.htm#ref_431_14">Position_Cursor</A></span> (<span class="symbol"><A NAME="ref_393_31" HREF="terminal_interface-curses-menus__adb.htm#ref_431_31">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_cursor.3x.html">pos_menu_cursor()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_393_14">Position_Cursor</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/menu_mark.3x.html">menu_mark.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_29">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_402_14" HREF="terminal_interface-curses-menus__adb.htm#ref_441_14">Set_Mark</A></span> (<span class="symbol"><A NAME="ref_402_24" HREF="terminal_interface-curses-menus__adb.htm#ref_441_24">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_403_24" HREF="terminal_interface-curses-menus__adb.htm#ref_442_24">Mark</A></span> : String); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_mark.3x.html">set_menu_mark()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_402_14">Set_Mark</A>); - - <span class="comment"><EM>-- <A NAME="AFU_30">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_408_14" HREF="terminal_interface-curses-menus__adb.htm#ref_456_14">Mark</A></span> (<span class="symbol"><A NAME="ref_408_20" HREF="terminal_interface-curses-menus__adb.htm#ref_456_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_409_20" HREF="terminal_interface-curses-menus__adb.htm#ref_457_20">Mark</A></span> : <b>out</b> String); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_mark.3x.html">menu_mark()</A></EM></span> - - <b>function</b> <span class="symbol"><A NAME="ref_412_14" HREF="terminal_interface-curses-menus__adb.htm#ref_465_13">Mark</A></span> (<span class="symbol"><A NAME="ref_412_20" HREF="terminal_interface-curses-menus__adb.htm#ref_465_19">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> String; - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_mark.3x.html">menu_mark()</A></EM></span> - <span class="comment"><EM>-- Implemented as function</EM></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/menu_win.3x.html">menu_win.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_23">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_360_14" href="terminal_interface-curses-menus__adb.htm#ref_373_14">Set_Window</a></span> (<span class="symbol"><a name="ref_360_26" href="terminal_interface-curses-menus__adb.htm#ref_373_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_361_26" href="terminal_interface-curses-menus__adb.htm#ref_374_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_win.3x.html">set_menu_win()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_360_14">Set_Window</a>); + + <span class="comment"><em>-- <A NAME="AFU_24">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_366_13" href="terminal_interface-curses-menus__adb.htm#ref_384_13">Get_Window</a></span> (<span class="symbol"><a name="ref_366_25" href="terminal_interface-curses-menus__adb.htm#ref_384_25">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/menu_win.3x.html">menu_win()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_366_13">Get_Window</a>); + + <span class="comment"><em>-- <A NAME="AFU_25">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_371_14" href="terminal_interface-curses-menus__adb.htm#ref_394_14">Set_Sub_Window</a></span> (<span class="symbol"><a name="ref_371_30" href="terminal_interface-curses-menus__adb.htm#ref_394_30">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_372_30" href="terminal_interface-curses-menus__adb.htm#ref_395_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_win.3x.html">set_menu_sub()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_371_14">Set_Sub_Window</a>); + + <span class="comment"><em>-- <A NAME="AFU_26">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_377_13" href="terminal_interface-curses-menus__adb.htm#ref_405_13">Get_Sub_Window</a></span> (<span class="symbol"><a name="ref_377_29" href="terminal_interface-curses-menus__adb.htm#ref_405_29">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/menu_win.3x.html">menu_sub()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_377_13">Get_Sub_Window</a>); + + <span class="comment"><em>-- <A NAME="AFU_27">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_382_14" href="terminal_interface-curses-menus__adb.htm#ref_415_14">Scale</a></span> (<span class="symbol"><a name="ref_382_21" href="terminal_interface-curses-menus__adb.htm#ref_415_21">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_383_21" href="terminal_interface-curses-menus__adb.htm#ref_416_21">Lines</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_384_21" href="terminal_interface-curses-menus__adb.htm#ref_417_21">Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_win.3x.html">scale_menu()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_382_14">Scale</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/menu_cursor.3x.html">menu_cursor.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_28">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_393_14" href="terminal_interface-curses-menus__adb.htm#ref_431_14">Position_Cursor</a></span> (<span class="symbol"><a name="ref_393_31" href="terminal_interface-curses-menus__adb.htm#ref_431_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_cursor.3x.html">pos_menu_cursor()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_393_14">Position_Cursor</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/menu_mark.3x.html">menu_mark.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_29">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_402_14" href="terminal_interface-curses-menus__adb.htm#ref_441_14">Set_Mark</a></span> (<span class="symbol"><a name="ref_402_24" href="terminal_interface-curses-menus__adb.htm#ref_441_24">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_403_24" href="terminal_interface-curses-menus__adb.htm#ref_442_24">Mark</a></span> : String); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_mark.3x.html">set_menu_mark()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_402_14">Set_Mark</a>); + + <span class="comment"><em>-- <A NAME="AFU_30">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_408_14" href="terminal_interface-curses-menus__adb.htm#ref_456_14">Mark</a></span> (<span class="symbol"><a name="ref_408_20" href="terminal_interface-curses-menus__adb.htm#ref_456_20">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_409_20" href="terminal_interface-curses-menus__adb.htm#ref_457_20">Mark</a></span> : <b>out</b> String); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_mark.3x.html">menu_mark()</A></em></span> + + <b>function</b> <span class="symbol"><a name="ref_412_14" href="terminal_interface-curses-menus__adb.htm#ref_465_13">Mark</a></span> (<span class="symbol"><a name="ref_412_20" href="terminal_interface-curses-menus__adb.htm#ref_465_19">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> String; + <span class="comment"><em>-- AKA: <A HREF="../man/menu_mark.3x.html">menu_mark()</A></em></span> + <span class="comment"><em>-- Implemented as function</em></span> <b>pragma</b> Inline (Mark); - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/menu_attributes.3x.html">menu_attributes.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_31">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_422_14" HREF="terminal_interface-curses-menus__adb.htm#ref_474_14">Set_Foreground</A></span> - (<span class="symbol"><A NAME="ref_423_7" HREF="terminal_interface-curses-menus__adb.htm#ref_475_7">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_424_7" HREF="terminal_interface-curses-menus__adb.htm#ref_476_7">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</A>; - <span class="symbol"><A NAME="ref_425_7" HREF="terminal_interface-curses-menus__adb.htm#ref_477_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'First); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_fore()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_422_14">Set_Foreground</A>); - - <span class="comment"><EM>-- <A NAME="AFU_32">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_430_14" HREF="terminal_interface-curses-menus__adb.htm#ref_490_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_430_26" HREF="terminal_interface-curses-menus__adb.htm#ref_490_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_431_26" HREF="terminal_interface-curses-menus__adb.htm#ref_491_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_attributes.3x.html">menu_fore()</A></EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_33">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_435_14" HREF="terminal_interface-curses-menus__adb.htm#ref_499_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_435_26" HREF="terminal_interface-curses-menus__adb.htm#ref_499_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_436_26" HREF="terminal_interface-curses-menus__adb.htm#ref_500_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A>; - <span class="symbol"><A NAME="ref_437_26" HREF="terminal_interface-curses-menus__adb.htm#ref_501_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_attributes.3x.html">menu_fore()</A></EM></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/menu_attributes.3x.html">menu_attributes.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_31">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_422_14" href="terminal_interface-curses-menus__adb.htm#ref_474_14">Set_Foreground</a></span> + (<span class="symbol"><a name="ref_423_7" href="terminal_interface-curses-menus__adb.htm#ref_475_7">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_424_7" href="terminal_interface-curses-menus__adb.htm#ref_476_7">Fore</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>; + <span class="symbol"><a name="ref_425_7" href="terminal_interface-curses-menus__adb.htm#ref_477_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_fore()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_422_14">Set_Foreground</a>); + + <span class="comment"><em>-- <A NAME="AFU_32">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_430_14" href="terminal_interface-curses-menus__adb.htm#ref_490_14">Foreground</a></span> (<span class="symbol"><a name="ref_430_26" href="terminal_interface-curses-menus__adb.htm#ref_490_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_431_26" href="terminal_interface-curses-menus__adb.htm#ref_491_26">Fore</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_attributes.3x.html">menu_fore()</A></em></span> + + <span class="comment"><em>-- <A NAME="AFU_33">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_435_14" href="terminal_interface-curses-menus__adb.htm#ref_499_14">Foreground</a></span> (<span class="symbol"><a name="ref_435_26" href="terminal_interface-curses-menus__adb.htm#ref_499_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_436_26" href="terminal_interface-curses-menus__adb.htm#ref_500_26">Fore</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>; + <span class="symbol"><a name="ref_437_26" href="terminal_interface-curses-menus__adb.htm#ref_501_26">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_attributes.3x.html">menu_fore()</A></em></span> <b>pragma</b> Inline (Foreground); - <span class="comment"><EM>-- <A NAME="AFU_34">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_442_14" HREF="terminal_interface-curses-menus__adb.htm#ref_510_14">Set_Background</A></span> - (<span class="symbol"><A NAME="ref_443_7" HREF="terminal_interface-curses-menus__adb.htm#ref_511_7">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_444_7" HREF="terminal_interface-curses-menus__adb.htm#ref_512_7">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</A>; - <span class="symbol"><A NAME="ref_445_7" HREF="terminal_interface-curses-menus__adb.htm#ref_513_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'First); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_back()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_34">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_442_14" href="terminal_interface-curses-menus__adb.htm#ref_510_14">Set_Background</a></span> + (<span class="symbol"><a name="ref_443_7" href="terminal_interface-curses-menus__adb.htm#ref_511_7">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_444_7" href="terminal_interface-curses-menus__adb.htm#ref_512_7">Back</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>; + <span class="symbol"><a name="ref_445_7" href="terminal_interface-curses-menus__adb.htm#ref_513_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_back()</A></em></span> <b>pragma</b> Inline (Set_Background); - <span class="comment"><EM>-- <A NAME="AFU_35">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_450_14" HREF="terminal_interface-curses-menus__adb.htm#ref_526_14">Background</A></span> (<span class="symbol"><A NAME="ref_450_26" HREF="terminal_interface-curses-menus__adb.htm#ref_526_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_451_26" HREF="terminal_interface-curses-menus__adb.htm#ref_527_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_attributes.3x.html">menu_back()</A></EM></span> - <span class="comment"><EM>-- <A NAME="AFU_36">|</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_35">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_450_14" href="terminal_interface-curses-menus__adb.htm#ref_526_14">Background</a></span> (<span class="symbol"><a name="ref_450_26" href="terminal_interface-curses-menus__adb.htm#ref_526_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_451_26" href="terminal_interface-curses-menus__adb.htm#ref_527_26">Back</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_attributes.3x.html">menu_back()</A></em></span> + <span class="comment"><em>-- <A NAME="AFU_36">|</A></em></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_455_14" HREF="terminal_interface-curses-menus__adb.htm#ref_535_14">Background</A></span> (<span class="symbol"><A NAME="ref_455_26" HREF="terminal_interface-curses-menus__adb.htm#ref_535_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_456_26" HREF="terminal_interface-curses-menus__adb.htm#ref_536_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A>; - <span class="symbol"><A NAME="ref_457_26" HREF="terminal_interface-curses-menus__adb.htm#ref_537_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_attributes.3x.html">menu_back()</A></EM></span> + <b>procedure</b> <span class="symbol"><a name="ref_455_14" href="terminal_interface-curses-menus__adb.htm#ref_535_14">Background</a></span> (<span class="symbol"><a name="ref_455_26" href="terminal_interface-curses-menus__adb.htm#ref_535_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_456_26" href="terminal_interface-curses-menus__adb.htm#ref_536_26">Back</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>; + <span class="symbol"><a name="ref_457_26" href="terminal_interface-curses-menus__adb.htm#ref_537_26">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_attributes.3x.html">menu_back()</A></em></span> <b>pragma</b> Inline (Background); - <span class="comment"><EM>-- <A NAME="AFU_37">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_462_14" HREF="terminal_interface-curses-menus__adb.htm#ref_546_14">Set_Grey</A></span> - (<span class="symbol"><A NAME="ref_463_7" HREF="terminal_interface-curses-menus__adb.htm#ref_546_24">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_464_7" HREF="terminal_interface-curses-menus__adb.htm#ref_547_24">Grey</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</A>; - <span class="symbol"><A NAME="ref_465_7" HREF="terminal_interface-curses-menus__adb.htm#ref_548_24">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'First); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_grey()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_462_14">Set_Grey</A>); - - <span class="comment"><EM>-- <A NAME="AFU_38">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_470_14" HREF="terminal_interface-curses-menus__adb.htm#ref_562_14">Grey</A></span> (<span class="symbol"><A NAME="ref_470_20" HREF="terminal_interface-curses-menus__adb.htm#ref_562_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_471_20" HREF="terminal_interface-curses-menus__adb.htm#ref_563_20">Grey</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_attributes.3x.html">menu_grey()</A></EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_39">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_475_14" HREF="terminal_interface-curses-menus__adb.htm#ref_571_14">Grey</A></span> - (<span class="symbol"><A NAME="ref_476_7" HREF="terminal_interface-curses-menus__adb.htm#ref_571_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_477_7" HREF="terminal_interface-curses-menus__adb.htm#ref_572_20">Grey</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A>; - <span class="symbol"><A NAME="ref_478_7" HREF="terminal_interface-curses-menus__adb.htm#ref_573_20">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_attributes.3x.html">menu_grey()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_37">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_462_14" href="terminal_interface-curses-menus__adb.htm#ref_546_14">Set_Grey</a></span> + (<span class="symbol"><a name="ref_463_7" href="terminal_interface-curses-menus__adb.htm#ref_546_24">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_464_7" href="terminal_interface-curses-menus__adb.htm#ref_547_24">Grey</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>; + <span class="symbol"><a name="ref_465_7" href="terminal_interface-curses-menus__adb.htm#ref_548_24">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_grey()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_462_14">Set_Grey</a>); + + <span class="comment"><em>-- <A NAME="AFU_38">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_470_14" href="terminal_interface-curses-menus__adb.htm#ref_562_14">Grey</a></span> (<span class="symbol"><a name="ref_470_20" href="terminal_interface-curses-menus__adb.htm#ref_562_20">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_471_20" href="terminal_interface-curses-menus__adb.htm#ref_563_20">Grey</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_attributes.3x.html">menu_grey()</A></em></span> + + <span class="comment"><em>-- <A NAME="AFU_39">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_475_14" href="terminal_interface-curses-menus__adb.htm#ref_571_14">Grey</a></span> + (<span class="symbol"><a name="ref_476_7" href="terminal_interface-curses-menus__adb.htm#ref_571_20">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_477_7" href="terminal_interface-curses-menus__adb.htm#ref_572_20">Grey</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>; + <span class="symbol"><a name="ref_478_7" href="terminal_interface-curses-menus__adb.htm#ref_573_20">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_attributes.3x.html">menu_grey()</A></em></span> <b>pragma</b> Inline (Grey); - <span class="comment"><EM>-- <A NAME="AFU_40">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_483_14" HREF="terminal_interface-curses-menus__adb.htm#ref_582_14">Set_Pad_Character</A></span> (<span class="symbol"><A NAME="ref_483_33" HREF="terminal_interface-curses-menus__adb.htm#ref_582_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_484_33" HREF="terminal_interface-curses-menus__adb.htm#ref_583_33">Pad</A></span> : Character := Space); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_pad()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_483_14">Set_Pad_Character</A>); - - <span class="comment"><EM>-- <A NAME="AFU_41">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_489_14" HREF="terminal_interface-curses-menus__adb.htm#ref_593_14">Pad_Character</A></span> (<span class="symbol"><A NAME="ref_489_29" HREF="terminal_interface-curses-menus__adb.htm#ref_593_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_490_29" HREF="terminal_interface-curses-menus__adb.htm#ref_594_29">Pad</A></span> : <b>out</b> Character); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_attributes.3x.html">menu_pad()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_489_14">Pad_Character</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/menu_spacing.3x.html">menu_spacing.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_42">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_499_14" HREF="terminal_interface-curses-menus__adb.htm#ref_602_14">Set_Spacing</A></span> (<span class="symbol"><A NAME="ref_499_27" HREF="terminal_interface-curses-menus__adb.htm#ref_602_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_500_27" HREF="terminal_interface-curses-menus__adb.htm#ref_603_27">Descr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A> := 0; - <span class="symbol"><A NAME="ref_501_27" HREF="terminal_interface-curses-menus__adb.htm#ref_604_27">Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A> := 0; - <span class="symbol"><A NAME="ref_502_27" HREF="terminal_interface-curses-menus__adb.htm#ref_605_27">Col</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A> := 0); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_spacing.3x.html">set_menu_spacing()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_499_14">Set_Spacing</A>); - - <span class="comment"><EM>-- <A NAME="AFU_43">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_507_14" HREF="terminal_interface-curses-menus__adb.htm#ref_618_14">Spacing</A></span> (<span class="symbol"><A NAME="ref_507_23" HREF="terminal_interface-curses-menus__adb.htm#ref_618_23">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_508_23" HREF="terminal_interface-curses-menus__adb.htm#ref_619_23">Descr</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_509_23" HREF="terminal_interface-curses-menus__adb.htm#ref_620_23">Row</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_510_23" HREF="terminal_interface-curses-menus__adb.htm#ref_621_23">Col</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_spacing.3x.html">menu_spacing()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_507_14">Spacing</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/menu_pattern.3x.html">menu_pattern.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_44">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_519_13" HREF="terminal_interface-curses-menus__adb.htm#ref_639_13">Set_Pattern</A></span> (<span class="symbol"><A NAME="ref_519_26" HREF="terminal_interface-curses-menus__adb.htm#ref_639_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_520_26" HREF="terminal_interface-curses-menus__adb.htm#ref_640_26">Text</A></span> : String) <b>return</b> Boolean; - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_pattern.3x.html">set_menu_pattern()</A></EM></span> - <span class="comment"><EM>-- Return TRUE if the pattern matches, FALSE otherwise</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_519_13">Set_Pattern</A>); - - <span class="comment"><EM>-- <A NAME="AFU_45">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_526_14" HREF="terminal_interface-curses-menus__adb.htm#ref_662_14">Pattern</A></span> (<span class="symbol"><A NAME="ref_526_23" HREF="terminal_interface-curses-menus__adb.htm#ref_662_23">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_527_23" HREF="terminal_interface-curses-menus__adb.htm#ref_663_23">Text</A></span> : <b>out</b> String); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_pattern.3x.html">menu_pattern()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_526_14">Pattern</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/menu_format.3x.html">menu_format.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_46">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_536_14" HREF="terminal_interface-curses-menus__adb.htm#ref_671_14">Set_Format</A></span> (<span class="symbol"><A NAME="ref_536_26" HREF="terminal_interface-curses-menus__adb.htm#ref_671_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_537_26" HREF="terminal_interface-curses-menus__adb.htm#ref_672_26">Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_538_26" HREF="terminal_interface-curses-menus__adb.htm#ref_673_26">Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>); - <span class="comment"><EM>-- Not implemented: 0 argument for Lines or Columns;</EM></span> - <span class="comment"><EM>-- instead use Format to get the current sizes</EM></span> - <span class="comment"><EM>-- The default format is 16 rows, 1 column. Calling</EM></span> - <span class="comment"><EM>-- set_menu_format with a null menu pointer will change this</EM></span> - <span class="comment"><EM>-- default. A zero row or column argument to set_menu_format</EM></span> - <span class="comment"><EM>-- is interpreted as a request not to change the current</EM></span> - <span class="comment"><EM>-- value.</EM></span> - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_format.3x.html">set_menu_format()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_536_14">Set_Format</A>); - - <span class="comment"><EM>-- <A NAME="AFU_47">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_550_14" HREF="terminal_interface-curses-menus__adb.htm#ref_687_14">Format</A></span> (<span class="symbol"><A NAME="ref_550_22" HREF="terminal_interface-curses-menus__adb.htm#ref_687_22">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_551_22" HREF="terminal_interface-curses-menus__adb.htm#ref_688_22">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_552_22" HREF="terminal_interface-curses-menus__adb.htm#ref_689_22">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_format.3x.html">menu_format()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_550_14">Format</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/menu_hook.3x.html">menu_hook.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <b>type</b> <span class="symbol"><A NAME="ref_560_9">Menu_Hook_Function</A></span> <b>is</b> <b>access</b> <b>procedure</b> (<span class="symbol"><A NAME="ref_560_49" HREF="terminal_interface-curses-menus__ads.htm#ref_560_9">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>); - <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</A>); - - <span class="comment"><EM>-- <A NAME="AFU_48">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_564_14" HREF="terminal_interface-curses-menus__adb.htm#ref_703_14">Set_Item_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_564_34" HREF="terminal_interface-curses-menus__adb.htm#ref_703_34">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_565_34" HREF="terminal_interface-curses-menus__adb.htm#ref_704_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_hook.3x.html">set_item_init()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_564_14">Set_Item_Init_Hook</A>); - - <span class="comment"><EM>-- <A NAME="AFU_49">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_570_14" HREF="terminal_interface-curses-menus__adb.htm#ref_714_14">Set_Item_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_570_34" HREF="terminal_interface-curses-menus__adb.htm#ref_714_34">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_571_34" HREF="terminal_interface-curses-menus__adb.htm#ref_715_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_hook.3x.html">set_item_term()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_570_14">Set_Item_Term_Hook</A>); - - <span class="comment"><EM>-- <A NAME="AFU_50">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_576_14" HREF="terminal_interface-curses-menus__adb.htm#ref_725_14">Set_Menu_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_576_34" HREF="terminal_interface-curses-menus__adb.htm#ref_725_34">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_577_34" HREF="terminal_interface-curses-menus__adb.htm#ref_726_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_hook.3x.html">set_menu_init()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_576_14">Set_Menu_Init_Hook</A>); - - <span class="comment"><EM>-- <A NAME="AFU_51">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_582_14" HREF="terminal_interface-curses-menus__adb.htm#ref_736_14">Set_Menu_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_582_34" HREF="terminal_interface-curses-menus__adb.htm#ref_736_34">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_583_34" HREF="terminal_interface-curses-menus__adb.htm#ref_737_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_hook.3x.html">set_menu_term()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_582_14">Set_Menu_Term_Hook</A>); - - <span class="comment"><EM>-- <A NAME="AFU_52">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_588_13" HREF="terminal_interface-curses-menus__adb.htm#ref_747_13">Get_Item_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_588_33" HREF="terminal_interface-curses-menus__adb.htm#ref_747_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_hook.3x.html">item_init()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_588_13">Get_Item_Init_Hook</A>); - - <span class="comment"><EM>-- <A NAME="AFU_53">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_593_13" HREF="terminal_interface-curses-menus__adb.htm#ref_755_13">Get_Item_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_593_33" HREF="terminal_interface-curses-menus__adb.htm#ref_755_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_hook.3x.html">item_term()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_593_13">Get_Item_Term_Hook</A>); - - <span class="comment"><EM>-- <A NAME="AFU_54">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_598_13" HREF="terminal_interface-curses-menus__adb.htm#ref_763_13">Get_Menu_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_598_33" HREF="terminal_interface-curses-menus__adb.htm#ref_763_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_hook.3x.html">menu_init()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_598_13">Get_Menu_Init_Hook</A>); - - <span class="comment"><EM>-- <A NAME="AFU_55">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_603_13" HREF="terminal_interface-curses-menus__adb.htm#ref_771_13">Get_Menu_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_603_33" HREF="terminal_interface-curses-menus__adb.htm#ref_771_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_hook.3x.html">menu_term()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_603_13">Get_Menu_Term_Hook</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/menu_items.3x.html">menu_items.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_56">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_612_14" HREF="terminal_interface-curses-menus__adb.htm#ref_779_14">Redefine</A></span> (<span class="symbol"><A NAME="ref_612_24" HREF="terminal_interface-curses-menus__adb.htm#ref_779_24">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_613_24" HREF="terminal_interface-curses-menus__adb.htm#ref_780_24">Items</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_items.3x.html">set_menu_items()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_612_14">Redefine</A>); - - <b>procedure</b> <span class="symbol"><A NAME="ref_617_14">Set_Items</A></span> (<span class="symbol"><A NAME="ref_617_25">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_618_25">Items</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</A>) <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_612_14">Redefine</A>; - <span class="comment"><EM>-- pragma Inline (Set_Items);</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_57">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_622_13" HREF="terminal_interface-curses-menus__adb.htm#ref_803_13">Items</A></span> (<span class="symbol"><A NAME="ref_622_20" HREF="terminal_interface-curses-menus__adb.htm#ref_803_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_623_20" HREF="terminal_interface-curses-menus__adb.htm#ref_804_20">Index</A></span> : Positive) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_items.3x.html">menu_items()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_622_13">Items</A>); - - <span class="comment"><EM>-- <A NAME="AFU_58">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_628_13" HREF="terminal_interface-curses-menus__adb.htm#ref_795_13">Item_Count</A></span> (<span class="symbol"><A NAME="ref_628_25" HREF="terminal_interface-curses-menus__adb.htm#ref_795_25">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>) <b>return</b> Natural; - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_items.3x.html">item_count()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_628_13">Item_Count</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/menu_new.3x.html">menu_new.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_59">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_637_13" HREF="terminal_interface-curses-menus__adb.htm#ref_822_13">Create</A></span> (<span class="symbol"><A NAME="ref_637_21" HREF="terminal_interface-curses-menus__adb.htm#ref_822_21">Items</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_new.3x.html">new_menu()</A></EM></span> - <span class="comment"><EM>-- Not inlined</EM></span> - - <b>function</b> New_Menu (<span class="symbol"><A NAME="ref_641_23">Items</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_637_13">Create</A>; - - <span class="comment"><EM>-- <A NAME="AFU_60">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_644_14" HREF="terminal_interface-curses-menus__adb.htm#ref_841_14">Delete</A></span> (<span class="symbol"><A NAME="ref_644_22" HREF="terminal_interface-curses-menus__adb.htm#ref_841_22">Men</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_new.3x.html">free_menu()</A></EM></span> - <span class="comment"><EM>-- Reset Men to Null_Menu</EM></span> - <span class="comment"><EM>-- Not inlined</EM></span> - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/menu_driver.3x.html">menu_driver.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <b>type</b> <span class="symbol"><A NAME="ref_653_9">Driver_Result</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_653_27">Menu_Ok</A></span>, - <span class="symbol"><A NAME="ref_654_27">Request_Denied</A></span>, - <span class="symbol"><A NAME="ref_655_27">Unknown_Request</A></span>, - <span class="symbol"><A NAME="ref_656_27">No_Match</A></span>); - - <span class="comment"><EM>-- <A NAME="AFU_61">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_659_13" HREF="terminal_interface-curses-menus__adb.htm#ref_852_13">Driver</A></span> (<span class="symbol"><A NAME="ref_659_21" HREF="terminal_interface-curses-menus__adb.htm#ref_852_21">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A>; - <span class="symbol"><A NAME="ref_660_21" HREF="terminal_interface-curses-menus__adb.htm#ref_853_21">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_653_9">Driver_Result</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/menu_driver.3x.html">menu_driver()</A></EM></span> - <span class="comment"><EM>-- Driver is not inlined</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_62">|</A></EM></span> - <span class="comment"><EM>-- Not Implemented: menu_request_name, menu_request_by_name</EM></span> -<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span> + <span class="comment"><em>-- <A NAME="AFU_40">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_483_14" href="terminal_interface-curses-menus__adb.htm#ref_582_14">Set_Pad_Character</a></span> (<span class="symbol"><a name="ref_483_33" href="terminal_interface-curses-menus__adb.htm#ref_582_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_484_33" href="terminal_interface-curses-menus__adb.htm#ref_583_33">Pad</a></span> : Character := Space); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_pad()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_483_14">Set_Pad_Character</a>); + + <span class="comment"><em>-- <A NAME="AFU_41">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_489_14" href="terminal_interface-curses-menus__adb.htm#ref_593_14">Pad_Character</a></span> (<span class="symbol"><a name="ref_489_29" href="terminal_interface-curses-menus__adb.htm#ref_593_29">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_490_29" href="terminal_interface-curses-menus__adb.htm#ref_594_29">Pad</a></span> : <b>out</b> Character); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_attributes.3x.html">menu_pad()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_489_14">Pad_Character</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/menu_spacing.3x.html">menu_spacing.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_42">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_499_14" href="terminal_interface-curses-menus__adb.htm#ref_602_14">Set_Spacing</a></span> (<span class="symbol"><a name="ref_499_27" href="terminal_interface-curses-menus__adb.htm#ref_602_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_500_27" href="terminal_interface-curses-menus__adb.htm#ref_603_27">Descr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> := 0; + <span class="symbol"><a name="ref_501_27" href="terminal_interface-curses-menus__adb.htm#ref_604_27">Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> := 0; + <span class="symbol"><a name="ref_502_27" href="terminal_interface-curses-menus__adb.htm#ref_605_27">Col</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> := 0); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_spacing.3x.html">set_menu_spacing()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_499_14">Set_Spacing</a>); + + <span class="comment"><em>-- <A NAME="AFU_43">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_507_14" href="terminal_interface-curses-menus__adb.htm#ref_618_14">Spacing</a></span> (<span class="symbol"><a name="ref_507_23" href="terminal_interface-curses-menus__adb.htm#ref_618_23">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_508_23" href="terminal_interface-curses-menus__adb.htm#ref_619_23">Descr</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_509_23" href="terminal_interface-curses-menus__adb.htm#ref_620_23">Row</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_510_23" href="terminal_interface-curses-menus__adb.htm#ref_621_23">Col</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_spacing.3x.html">menu_spacing()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_507_14">Spacing</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/menu_pattern.3x.html">menu_pattern.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_44">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_519_13" href="terminal_interface-curses-menus__adb.htm#ref_639_13">Set_Pattern</a></span> (<span class="symbol"><a name="ref_519_26" href="terminal_interface-curses-menus__adb.htm#ref_639_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_520_26" href="terminal_interface-curses-menus__adb.htm#ref_640_26">Text</a></span> : String) <b>return</b> Boolean; + <span class="comment"><em>-- AKA: <A HREF="../man/menu_pattern.3x.html">set_menu_pattern()</A></em></span> + <span class="comment"><em>-- Return TRUE if the pattern matches, FALSE otherwise</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_519_13">Set_Pattern</a>); + + <span class="comment"><em>-- <A NAME="AFU_45">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_526_14" href="terminal_interface-curses-menus__adb.htm#ref_662_14">Pattern</a></span> (<span class="symbol"><a name="ref_526_23" href="terminal_interface-curses-menus__adb.htm#ref_662_23">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_527_23" href="terminal_interface-curses-menus__adb.htm#ref_663_23">Text</a></span> : <b>out</b> String); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_pattern.3x.html">menu_pattern()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_526_14">Pattern</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/menu_format.3x.html">menu_format.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_46">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_536_14" href="terminal_interface-curses-menus__adb.htm#ref_671_14">Set_Format</a></span> (<span class="symbol"><a name="ref_536_26" href="terminal_interface-curses-menus__adb.htm#ref_671_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_537_26" href="terminal_interface-curses-menus__adb.htm#ref_672_26">Lines</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_538_26" href="terminal_interface-curses-menus__adb.htm#ref_673_26">Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>); + <span class="comment"><em>-- Not implemented: 0 argument for Lines or Columns;</em></span> + <span class="comment"><em>-- instead use Format to get the current sizes</em></span> + <span class="comment"><em>-- The default format is 16 rows, 1 column. Calling</em></span> + <span class="comment"><em>-- set_menu_format with a null menu pointer will change this</em></span> + <span class="comment"><em>-- default. A zero row or column argument to set_menu_format</em></span> + <span class="comment"><em>-- is interpreted as a request not to change the current</em></span> + <span class="comment"><em>-- value.</em></span> + <span class="comment"><em>-- AKA: <A HREF="../man/menu_format.3x.html">set_menu_format()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_536_14">Set_Format</a>); + + <span class="comment"><em>-- <A NAME="AFU_47">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_550_14" href="terminal_interface-curses-menus__adb.htm#ref_687_14">Format</a></span> (<span class="symbol"><a name="ref_550_22" href="terminal_interface-curses-menus__adb.htm#ref_687_22">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_551_22" href="terminal_interface-curses-menus__adb.htm#ref_688_22">Lines</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_552_22" href="terminal_interface-curses-menus__adb.htm#ref_689_22">Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_format.3x.html">menu_format()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_550_14">Format</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/menu_hook.3x.html">menu_hook.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <b>type</b> <span class="symbol"><a name="ref_560_9">Menu_Hook_Function</a></span> <b>is</b> <b>access</b> <b>procedure</b> (<span class="symbol"><a name="ref_560_49">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>); + <b>pragma</b> Convention (C, <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>); + + <span class="comment"><em>-- <A NAME="AFU_48">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_564_14" href="terminal_interface-curses-menus__adb.htm#ref_703_14">Set_Item_Init_Hook</a></span> (<span class="symbol"><a name="ref_564_34" href="terminal_interface-curses-menus__adb.htm#ref_703_34">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_565_34" href="terminal_interface-curses-menus__adb.htm#ref_704_34">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_hook.3x.html">set_item_init()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_564_14">Set_Item_Init_Hook</a>); + + <span class="comment"><em>-- <A NAME="AFU_49">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_570_14" href="terminal_interface-curses-menus__adb.htm#ref_714_14">Set_Item_Term_Hook</a></span> (<span class="symbol"><a name="ref_570_34" href="terminal_interface-curses-menus__adb.htm#ref_714_34">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_571_34" href="terminal_interface-curses-menus__adb.htm#ref_715_34">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_hook.3x.html">set_item_term()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_570_14">Set_Item_Term_Hook</a>); + + <span class="comment"><em>-- <A NAME="AFU_50">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_576_14" href="terminal_interface-curses-menus__adb.htm#ref_725_14">Set_Menu_Init_Hook</a></span> (<span class="symbol"><a name="ref_576_34" href="terminal_interface-curses-menus__adb.htm#ref_725_34">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_577_34" href="terminal_interface-curses-menus__adb.htm#ref_726_34">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_hook.3x.html">set_menu_init()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_576_14">Set_Menu_Init_Hook</a>); + + <span class="comment"><em>-- <A NAME="AFU_51">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_582_14" href="terminal_interface-curses-menus__adb.htm#ref_736_14">Set_Menu_Term_Hook</a></span> (<span class="symbol"><a name="ref_582_34" href="terminal_interface-curses-menus__adb.htm#ref_736_34">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_583_34" href="terminal_interface-curses-menus__adb.htm#ref_737_34">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_hook.3x.html">set_menu_term()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_582_14">Set_Menu_Term_Hook</a>); + + <span class="comment"><em>-- <A NAME="AFU_52">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_588_13" href="terminal_interface-curses-menus__adb.htm#ref_747_13">Get_Item_Init_Hook</a></span> (<span class="symbol"><a name="ref_588_33" href="terminal_interface-curses-menus__adb.htm#ref_747_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/menu_hook.3x.html">item_init()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_588_13">Get_Item_Init_Hook</a>); + + <span class="comment"><em>-- <A NAME="AFU_53">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_593_13" href="terminal_interface-curses-menus__adb.htm#ref_755_13">Get_Item_Term_Hook</a></span> (<span class="symbol"><a name="ref_593_33" href="terminal_interface-curses-menus__adb.htm#ref_755_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/menu_hook.3x.html">item_term()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_593_13">Get_Item_Term_Hook</a>); + + <span class="comment"><em>-- <A NAME="AFU_54">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_598_13" href="terminal_interface-curses-menus__adb.htm#ref_763_13">Get_Menu_Init_Hook</a></span> (<span class="symbol"><a name="ref_598_33" href="terminal_interface-curses-menus__adb.htm#ref_763_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/menu_hook.3x.html">menu_init()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_598_13">Get_Menu_Init_Hook</a>); + + <span class="comment"><em>-- <A NAME="AFU_55">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_603_13" href="terminal_interface-curses-menus__adb.htm#ref_771_13">Get_Menu_Term_Hook</a></span> (<span class="symbol"><a name="ref_603_33" href="terminal_interface-curses-menus__adb.htm#ref_771_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/menu_hook.3x.html">menu_term()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_603_13">Get_Menu_Term_Hook</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/menu_items.3x.html">menu_items.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_56">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_612_14" href="terminal_interface-curses-menus__adb.htm#ref_779_14">Redefine</a></span> (<span class="symbol"><a name="ref_612_24" href="terminal_interface-curses-menus__adb.htm#ref_779_24">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_613_24" href="terminal_interface-curses-menus__adb.htm#ref_780_24">Items</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_items.3x.html">set_menu_items()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_612_14">Redefine</a>); + + <b>procedure</b> <span class="symbol"><a name="ref_617_14">Set_Items</a></span> (<span class="symbol"><a name="ref_617_25">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_618_25">Items</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>) <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_612_14">Redefine</a>; + <span class="comment"><em>-- pragma Inline (Set_Items);</em></span> + + <span class="comment"><em>-- <A NAME="AFU_57">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_622_13" href="terminal_interface-curses-menus__adb.htm#ref_803_13">Items</a></span> (<span class="symbol"><a name="ref_622_20" href="terminal_interface-curses-menus__adb.htm#ref_803_20">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_623_20" href="terminal_interface-curses-menus__adb.htm#ref_804_20">Index</a></span> : Positive) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/menu_items.3x.html">menu_items()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_622_13">Items</a>); + + <span class="comment"><em>-- <A NAME="AFU_58">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_628_13" href="terminal_interface-curses-menus__adb.htm#ref_795_13">Item_Count</a></span> (<span class="symbol"><a name="ref_628_25" href="terminal_interface-curses-menus__adb.htm#ref_795_25">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> Natural; + <span class="comment"><em>-- AKA: <A HREF="../man/menu_items.3x.html">item_count()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_628_13">Item_Count</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/menu_new.3x.html">menu_new.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_59">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_637_13" href="terminal_interface-curses-menus__adb.htm#ref_822_13">Create</a></span> (<span class="symbol"><a name="ref_637_21" href="terminal_interface-curses-menus__adb.htm#ref_822_21">Items</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/menu_new.3x.html">new_menu()</A></em></span> + <span class="comment"><em>-- Not inlined</em></span> + + <b>function</b> New_Menu (<span class="symbol"><a name="ref_641_23">Items</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_637_13">Create</a>; + + <span class="comment"><em>-- <A NAME="AFU_60">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_644_14" href="terminal_interface-curses-menus__adb.htm#ref_841_14">Delete</a></span> (<span class="symbol"><a name="ref_644_22" href="terminal_interface-curses-menus__adb.htm#ref_841_22">Men</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/menu_new.3x.html">free_menu()</A></em></span> + <span class="comment"><em>-- Reset Men to Null_Menu</em></span> + <span class="comment"><em>-- Not inlined</em></span> + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/menu_driver.3x.html">menu_driver.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <b>type</b> <span class="symbol"><a name="ref_653_9">Driver_Result</a></span> <b>is</b> (<span class="symbol"><a name="ref_653_27">Menu_Ok</a></span>, + <span class="symbol"><a name="ref_654_27">Request_Denied</a></span>, + <span class="symbol"><a name="ref_655_27">Unknown_Request</a></span>, + <span class="symbol"><a name="ref_656_27">No_Match</a></span>); + + <span class="comment"><em>-- <A NAME="AFU_61">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_659_13" href="terminal_interface-curses-menus__adb.htm#ref_852_13">Driver</a></span> (<span class="symbol"><a name="ref_659_21" href="terminal_interface-curses-menus__adb.htm#ref_852_21">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>; + <span class="symbol"><a name="ref_660_21" href="terminal_interface-curses-menus__adb.htm#ref_853_21">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_653_9">Driver_Result</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/menu_driver.3x.html">menu_driver()</A></em></span> + <span class="comment"><em>-- Driver is not inlined</em></span> + + <span class="comment"><em>-- <A NAME="AFU_62">|</A></em></span> + <span class="comment"><em>-- Not Implemented: menu_request_name, menu_request_by_name</em></span> +<span class="comment"><em>-------------------------------------------------------------------------------</em></span> <b>private</b> - <b>type</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address; - <b>type</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address; + <b>type</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address; + <b>type</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address; - <A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</A> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</A> := 0; - <A HREF="terminal_interface-curses-menus__ads.htm#ref_59_4">Null_Menu</A> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</A> := 0; + <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a> := 0; + <a href="terminal_interface-curses-menus__ads.htm#ref_59_4">Null_Menu</a> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a> := 0; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-mouse__adb.htm b/doc/html/ada/terminal_interface-curses-mouse__adb.htm index 2035f6b28b88..1a473a790830 100644 --- a/doc/html/ada/terminal_interface-curses-mouse__adb.htm +++ b/doc/html/ada/terminal_interface-curses-mouse__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-mouse.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-mouse.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,226 +11,226 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-mouse.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Mouse --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2018,2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2009,2014 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.28 @</EM></span> -<span class="comment"><EM>-- @Date: 2020/06/27 18:50:44 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; -<b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>; - -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<span class="symbol"><A NAME="ref_47_40" HREF="terminal_interface-curses-mouse__ads.htm#ref_45_35">Mouse</A></span> <b>is</b> - - <b>function</b> <span class="symbol"><A NAME="ref_49_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_91_13">Has_Mouse</A></span> <b>return</b> Boolean +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-mouse.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Mouse --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2018,2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2009,2014 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.28 @</em></span> +<span class="comment"><em>-- @Date: 2020/06/27 18:50:44 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; +<b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>; + +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_47_40" href="terminal_interface-curses-mouse__ads.htm#ref_45_35">Mouse</a></span> <b>is</b> + + <b>function</b> <span class="symbol"><a name="ref_49_13" href="terminal_interface-curses-mouse__ads.htm#ref_91_13">Has_Mouse</a></span> <b>return</b> Boolean <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_51_16">Mouse_Avail</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_51_16">Mouse_Avail</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Mouse_Avail, "has_mouse"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_938_13">Has_Key</A> (<A HREF="terminal_interface-curses__ads.htm#ref_376_4">Key_Mouse</A>) <b>or</b> <b>else</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_51_16">Mouse_Avail</A> /= 0 <b>then</b> + <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_938_13">Has_Key</a> (<a href="terminal_interface-curses__ads.htm#ref_376_4">Key_Mouse</a>) <b>or</b> <b>else</b> <a href="terminal_interface-curses-mouse__adb.htm#ref_51_16">Mouse_Avail</a> /= 0 <b>then</b> <b>return</b> True; <b>else</b> <b>return</b> False; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_91_13">Has_Mouse</A>; + <b>end</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_91_13">Has_Mouse</a>; - <b>function</b> <span class="symbol"><A NAME="ref_61_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_126_13">Get_Mouse</A></span> <b>return</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A> + <b>function</b> <span class="symbol"><a name="ref_61_13" href="terminal_interface-curses-mouse__ads.htm#ref_126_13">Get_Mouse</a></span> <b>return</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a> <b>is</b> - <b>type</b> <span class="symbol"><A NAME="ref_63_12">Event_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A>; + <b>type</b> <span class="symbol"><a name="ref_63_12">Event_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a>; - <b>function</b> <span class="symbol"><A NAME="ref_65_16">Getmouse</A></span> (<span class="symbol"><A NAME="ref_65_26" HREF="terminal_interface-curses-mouse__adb.htm#ref_65_16">Ev</A></span> : <A HREF="terminal_interface-curses-mouse__adb.htm#ref_63_12">Event_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_65_16">Getmouse</a></span> (<span class="symbol"><a name="ref_65_26">Ev</a></span> : <a href="terminal_interface-curses-mouse__adb.htm#ref_63_12">Event_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Getmouse, "getmouse"); - <span class="symbol"><A NAME="ref_68_7">Event</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A>; + <span class="symbol"><a name="ref_68_7">Event</a></span> : <b>aliased</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a>; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_65_16">Getmouse</A> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_68_7">Event</A>'<b>Access</b>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-mouse__adb.htm#ref_65_16">Getmouse</a> (<a href="terminal_interface-curses-mouse__adb.htm#ref_68_7">Event</a>'<b>Access</b>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>return</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_68_7">Event</A>; - <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_126_13">Get_Mouse</A>; + <b>return</b> <a href="terminal_interface-curses-mouse__adb.htm#ref_68_7">Event</a>; + <b>end</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_126_13">Get_Mouse</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_76_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_94_14">Register_Reportable_Event</A></span> (<span class="symbol"><A NAME="ref_76_41" HREF="terminal_interface-curses-mouse__ads.htm#ref_95_7">Button</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</A>; - <span class="symbol"><A NAME="ref_77_41" HREF="terminal_interface-curses-mouse__ads.htm#ref_96_7">State</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</A>; - <span class="symbol"><A NAME="ref_78_41" HREF="terminal_interface-curses-mouse__ads.htm#ref_97_7">Mask</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A>) + <b>procedure</b> <span class="symbol"><a name="ref_76_14" href="terminal_interface-curses-mouse__ads.htm#ref_94_14">Register_Reportable_Event</a></span> (<span class="symbol"><a name="ref_76_41" href="terminal_interface-curses-mouse__ads.htm#ref_95_7">Button</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</a>; + <span class="symbol"><a name="ref_77_41" href="terminal_interface-curses-mouse__ads.htm#ref_96_7">State</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</a>; + <span class="symbol"><a name="ref_78_41" href="terminal_interface-curses-mouse__ads.htm#ref_97_7">Mask</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>) <b>is</b> - <span class="symbol"><A NAME="ref_80_7">Button_Nr</A></span> : <b>constant</b> Natural := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</A>'Pos (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_95_7">Button</A>); - <span class="symbol"><A NAME="ref_81_7">State_Nr</A></span> : <b>constant</b> Natural := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</A>'Pos (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_96_7">State</A>); + <span class="symbol"><a name="ref_80_7">Button_Nr</a></span> : <b>constant</b> Natural := <a href="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</a>'Pos (<a href="terminal_interface-curses-mouse__ads.htm#ref_95_7">Button</a>); + <span class="symbol"><a name="ref_81_7">State_Nr</a></span> : <b>constant</b> Natural := <a href="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</a>'Pos (<a href="terminal_interface-curses-mouse__ads.htm#ref_96_7">State</a>); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_95_7">Button</A> <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_70_12">Modifier_Keys</A> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_96_7">State</A> /= <A HREF="terminal_interface-curses-mouse__ads.htm#ref_73_26">Pressed</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_95_7">Button</a> <b>in</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_70_12">Modifier_Keys</a> <b>and</b> <b>then</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_96_7">State</a> /= <a href="terminal_interface-curses-mouse__ads.htm#ref_73_26">Pressed</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>else</b> - <b>if</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_95_7">Button</A> <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_69_12">Real_Buttons</A> <b>then</b> - <A HREF="terminal_interface-curses-mouse__ads.htm#ref_97_7">Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_97_7">Mask</A> <b>or</b> ((2 ** (6 * <A HREF="terminal_interface-curses-mouse__adb.htm#ref_80_7">Button_Nr</A>)) ** <A HREF="terminal_interface-curses-mouse__adb.htm#ref_81_7">State_Nr</A>); + <b>if</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_95_7">Button</a> <b>in</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_69_12">Real_Buttons</a> <b>then</b> + <a href="terminal_interface-curses-mouse__ads.htm#ref_97_7">Mask</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_97_7">Mask</a> <b>or</b> ((2 ** (6 * <a href="terminal_interface-curses-mouse__adb.htm#ref_80_7">Button_Nr</a>)) ** <a href="terminal_interface-curses-mouse__adb.htm#ref_81_7">State_Nr</a>); <b>else</b> - <A HREF="terminal_interface-curses-mouse__ads.htm#ref_97_7">Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_97_7">Mask</A> <b>or</b> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_190_4">BUTTON_CTRL</A> ** (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_80_7">Button_Nr</A> - 4)); + <a href="terminal_interface-curses-mouse__ads.htm#ref_97_7">Mask</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_97_7">Mask</a> <b>or</b> (<a href="terminal_interface-curses-mouse__ads.htm#ref_190_4">BUTTON_CTRL</a> ** (<a href="terminal_interface-curses-mouse__adb.htm#ref_80_7">Button_Nr</a> - 4)); <b>end</b> <b>if</b>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_94_14">Register_Reportable_Event</A>; + <b>end</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_94_14">Register_Reportable_Event</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_94_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_103_14">Register_Reportable_Events</A></span> (<span class="symbol"><A NAME="ref_94_42" HREF="terminal_interface-curses-mouse__ads.htm#ref_104_7">Button</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</A>; - <span class="symbol"><A NAME="ref_95_42" HREF="terminal_interface-curses-mouse__ads.htm#ref_105_7">State</A></span> : Button_States; - <span class="symbol"><A NAME="ref_96_42" HREF="terminal_interface-curses-mouse__ads.htm#ref_106_7">Mask</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A>) + <b>procedure</b> <span class="symbol"><a name="ref_94_14" href="terminal_interface-curses-mouse__ads.htm#ref_103_14">Register_Reportable_Events</a></span> (<span class="symbol"><a name="ref_94_42" href="terminal_interface-curses-mouse__ads.htm#ref_104_7">Button</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</a>; + <span class="symbol"><a name="ref_95_42" href="terminal_interface-curses-mouse__ads.htm#ref_105_7">State</a></span> : Button_States; + <span class="symbol"><a name="ref_96_42" href="terminal_interface-curses-mouse__ads.htm#ref_106_7">Mask</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>) <b>is</b> <b>begin</b> - <b>for</b> <span class="symbol"><A NAME="ref_99_11">S</A></span> <b>in</b> Button_States'<b>Range</b> <b>loop</b> - <b>if</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_105_7">State</A> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_99_11">S</A>) <b>then</b> - <A HREF="terminal_interface-curses-mouse__ads.htm#ref_94_14">Register_Reportable_Event</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_104_7">Button</A>, <A HREF="terminal_interface-curses-mouse__adb.htm#ref_99_11">S</A>, <A HREF="terminal_interface-curses-mouse__ads.htm#ref_106_7">Mask</A>); + <b>for</b> <span class="symbol"><a name="ref_99_11">S</a></span> <b>in</b> Button_States'<b>Range</b> <b>loop</b> + <b>if</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_105_7">State</a> (<a href="terminal_interface-curses-mouse__adb.htm#ref_99_11">S</a>) <b>then</b> + <a href="terminal_interface-curses-mouse__ads.htm#ref_94_14">Register_Reportable_Event</a> (<a href="terminal_interface-curses-mouse__ads.htm#ref_104_7">Button</a>, <a href="terminal_interface-curses-mouse__adb.htm#ref_99_11">S</a>, <a href="terminal_interface-curses-mouse__ads.htm#ref_106_7">Mask</a>); <b>end</b> <b>if</b>; <b>end</b> <b>loop</b>; - <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_103_14">Register_Reportable_Events</A>; + <b>end</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_103_14">Register_Reportable_Events</a>; - <b>function</b> <span class="symbol"><A NAME="ref_106_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_116_13">Start_Mouse</A></span> (<span class="symbol"><A NAME="ref_106_26" HREF="terminal_interface-curses-mouse__ads.htm#ref_116_26">Mask</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_59_4">All_Events</A>) - <b>return</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A> + <b>function</b> <span class="symbol"><a name="ref_106_13" href="terminal_interface-curses-mouse__ads.htm#ref_116_13">Start_Mouse</a></span> (<span class="symbol"><a name="ref_106_26" href="terminal_interface-curses-mouse__ads.htm#ref_116_26">Mask</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_59_4">All_Events</a>) + <b>return</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_109_16">MMask</A></span> (<span class="symbol"><A NAME="ref_109_23" HREF="terminal_interface-curses-mouse__adb.htm#ref_109_16">M</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A>; - <span class="symbol"><A NAME="ref_110_23" HREF="terminal_interface-curses-mouse__adb.htm#ref_109_16">O</A></span> : <b>access</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A>) <b>return</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A>; + <b>function</b> <span class="symbol"><a name="ref_109_16">MMask</a></span> (<span class="symbol"><a name="ref_109_23">M</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>; + <span class="symbol"><a name="ref_110_23">O</a></span> : <b>access</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>) <b>return</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>; <b>pragma</b> Import (C, MMask, "mousemask"); - <span class="symbol"><A NAME="ref_112_7">R</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A>; - <span class="symbol"><A NAME="ref_113_7">Old</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A>; + <span class="symbol"><a name="ref_112_7">R</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>; + <span class="symbol"><a name="ref_113_7">Old</a></span> : <b>aliased</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>; <b>begin</b> - <A HREF="terminal_interface-curses-mouse__adb.htm#ref_112_7">R</A> := <A HREF="terminal_interface-curses-mouse__adb.htm#ref_109_16">MMask</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_116_26">Mask</A>, <A HREF="terminal_interface-curses-mouse__adb.htm#ref_113_7">Old</A>'<b>Access</b>); - <b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_112_7">R</A> = <A HREF="terminal_interface-curses-mouse__ads.htm#ref_58_4">No_Events</A> <b>then</b> - <A HREF="terminal_interface-curses__ads.htm#ref_1041_14">Beep</A>; + <a href="terminal_interface-curses-mouse__adb.htm#ref_112_7">R</a> := <a href="terminal_interface-curses-mouse__adb.htm#ref_109_16">MMask</a> (<a href="terminal_interface-curses-mouse__ads.htm#ref_116_26">Mask</a>, <a href="terminal_interface-curses-mouse__adb.htm#ref_113_7">Old</a>'<b>Access</b>); + <b>if</b> <a href="terminal_interface-curses-mouse__adb.htm#ref_112_7">R</a> = <a href="terminal_interface-curses-mouse__ads.htm#ref_58_4">No_Events</a> <b>then</b> + <a href="terminal_interface-curses__ads.htm#ref_1041_14">Beep</a>; <b>end</b> <b>if</b>; - <b>return</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_113_7">Old</A>; - <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_116_13">Start_Mouse</A>; + <b>return</b> <a href="terminal_interface-curses-mouse__adb.htm#ref_113_7">Old</a>; + <b>end</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_116_13">Start_Mouse</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_122_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_121_14">End_Mouse</A></span> (<span class="symbol"><A NAME="ref_122_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_121_25">Mask</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_58_4">No_Events</A>) + <b>procedure</b> <span class="symbol"><a name="ref_122_14" href="terminal_interface-curses-mouse__ads.htm#ref_121_14">End_Mouse</a></span> (<span class="symbol"><a name="ref_122_25" href="terminal_interface-curses-mouse__ads.htm#ref_121_25">Mask</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_58_4">No_Events</a>) <b>is</b> <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_121_25">Mask</A> /= <A HREF="terminal_interface-curses-mouse__ads.htm#ref_58_4">No_Events</A> <b>then</b> - <A HREF="terminal_interface-curses__ads.htm#ref_1041_14">Beep</A>; + <b>if</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_121_25">Mask</a> /= <a href="terminal_interface-curses-mouse__ads.htm#ref_58_4">No_Events</a> <b>then</b> + <a href="terminal_interface-curses__ads.htm#ref_1041_14">Beep</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_121_14">End_Mouse</A>; + <b>end</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_121_14">End_Mouse</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_130_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_134_14">Dispatch_Event</A></span> (<span class="symbol"><A NAME="ref_130_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_134_30">Mask</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A>; - <span class="symbol"><A NAME="ref_131_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_135_30">Button</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</A>; - <span class="symbol"><A NAME="ref_132_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_136_30">State</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</A>); + <b>procedure</b> <span class="symbol"><a name="ref_130_14" href="terminal_interface-curses-mouse__adb.htm#ref_134_14">Dispatch_Event</a></span> (<span class="symbol"><a name="ref_130_30" href="terminal_interface-curses-mouse__adb.htm#ref_134_30">Mask</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>; + <span class="symbol"><a name="ref_131_30" href="terminal_interface-curses-mouse__adb.htm#ref_135_30">Button</a></span> : <b>out</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</a>; + <span class="symbol"><a name="ref_132_30" href="terminal_interface-curses-mouse__adb.htm#ref_136_30">State</a></span> : <b>out</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</a>); - <b>procedure</b> <span class="symbol"><A NAME="ref_134_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_130_14">Dispatch_Event</A></span> (<span class="symbol"><A NAME="ref_134_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_130_30">Mask</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A>; - <span class="symbol"><A NAME="ref_135_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</A>; - <span class="symbol"><A NAME="ref_136_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">State</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</A>) <b>is</b> - <span class="symbol"><A NAME="ref_137_7">L</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A>; + <b>procedure</b> <span class="symbol"><a name="ref_134_14" href="terminal_interface-curses-mouse__adb.htm#ref_130_14">Dispatch_Event</a></span> (<span class="symbol"><a name="ref_134_30" href="terminal_interface-curses-mouse__adb.htm#ref_130_30">Mask</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>; + <span class="symbol"><a name="ref_135_30" href="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</a></span> : <b>out</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</a>; + <span class="symbol"><a name="ref_136_30" href="terminal_interface-curses-mouse__adb.htm#ref_132_30">State</a></span> : <b>out</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</a>) <b>is</b> + <span class="symbol"><a name="ref_137_7">L</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>; <b>begin</b> - <A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_67_26">Alt</A>; <span class="comment"><EM>-- preset to non real button;</EM></span> - <b>if</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_130_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_193_4">BUTTON1_EVENTS</A>) /= 0 <b>then</b> - <A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_61_26">Left</A>; - <b>elsif</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_130_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_195_4">BUTTON2_EVENTS</A>) /= 0 <b>then</b> - <A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_62_26">Middle</A>; - <b>elsif</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_130_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_197_4">BUTTON3_EVENTS</A>) /= 0 <b>then</b> - <A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_63_26">Right</A>; - <b>elsif</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_130_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_199_4">BUTTON4_EVENTS</A>) /= 0 <b>then</b> - <A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_26">Button4</A>; + <a href="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_67_26">Alt</a>; <span class="comment"><em>-- preset to non real button;</em></span> + <b>if</b> (<a href="terminal_interface-curses-mouse__adb.htm#ref_130_30">Mask</a> <b>and</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_193_4">BUTTON1_EVENTS</a>) /= 0 <b>then</b> + <a href="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_61_26">Left</a>; + <b>elsif</b> (<a href="terminal_interface-curses-mouse__adb.htm#ref_130_30">Mask</a> <b>and</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_195_4">BUTTON2_EVENTS</a>) /= 0 <b>then</b> + <a href="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_62_26">Middle</a>; + <b>elsif</b> (<a href="terminal_interface-curses-mouse__adb.htm#ref_130_30">Mask</a> <b>and</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_197_4">BUTTON3_EVENTS</a>) /= 0 <b>then</b> + <a href="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_63_26">Right</a>; + <b>elsif</b> (<a href="terminal_interface-curses-mouse__adb.htm#ref_130_30">Mask</a> <b>and</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_199_4">BUTTON4_EVENTS</a>) /= 0 <b>then</b> + <a href="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_64_26">Button4</a>; <b>end</b> <b>if</b>; - <b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</A> <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_69_12">Real_Buttons</A> <b>then</b> - <A HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">State</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_72_26">Released</A>; <span class="comment"><EM>-- preset to non real button;</EM></span> - <A HREF="terminal_interface-curses-mouse__adb.htm#ref_137_7">L</A> := 2 ** (6 * <A HREF="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</A>'Pos (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</A>)); - <b>for</b> <span class="symbol"><A NAME="ref_152_14">I</A></span> <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</A>'<b>Range</b> <b>loop</b> - <b>if</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_130_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_137_7">L</A>) /= 0 <b>then</b> - <A HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">State</A> := <A HREF="terminal_interface-curses-mouse__adb.htm#ref_152_14">I</A>; + <b>if</b> <a href="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</a> <b>in</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_69_12">Real_Buttons</a> <b>then</b> + <a href="terminal_interface-curses-mouse__adb.htm#ref_132_30">State</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_72_26">Released</a>; <span class="comment"><em>-- preset to non real button;</em></span> + <a href="terminal_interface-curses-mouse__adb.htm#ref_137_7">L</a> := 2 ** (6 * <a href="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</a>'Pos (<a href="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</a>)); + <b>for</b> <span class="symbol"><a name="ref_152_14">I</a></span> <b>in</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</a>'<b>Range</b> <b>loop</b> + <b>if</b> (<a href="terminal_interface-curses-mouse__adb.htm#ref_130_30">Mask</a> <b>and</b> <a href="terminal_interface-curses-mouse__adb.htm#ref_137_7">L</a>) /= 0 <b>then</b> + <a href="terminal_interface-curses-mouse__adb.htm#ref_132_30">State</a> := <a href="terminal_interface-curses-mouse__adb.htm#ref_152_14">I</a>; <b>exit</b>; <b>end</b> <b>if</b>; - <A HREF="terminal_interface-curses-mouse__adb.htm#ref_137_7">L</A> := 2 * <A HREF="terminal_interface-curses-mouse__adb.htm#ref_137_7">L</A>; + <a href="terminal_interface-curses-mouse__adb.htm#ref_137_7">L</a> := 2 * <a href="terminal_interface-curses-mouse__adb.htm#ref_137_7">L</a>; <b>end</b> <b>loop</b>; <b>else</b> - <A HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">State</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_73_26">Pressed</A>; - <b>if</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_130_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_190_4">BUTTON_CTRL</A>) /= 0 <b>then</b> - <A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_65_26">Control</A>; - <b>elsif</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_130_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_191_4">BUTTON_SHIFT</A>) /= 0 <b>then</b> - <A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_66_26">Shift</A>; - <b>elsif</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_130_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_192_4">BUTTON_ALT</A>) /= 0 <b>then</b> - <A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_67_26">Alt</A>; + <a href="terminal_interface-curses-mouse__adb.htm#ref_132_30">State</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_73_26">Pressed</a>; + <b>if</b> (<a href="terminal_interface-curses-mouse__adb.htm#ref_130_30">Mask</a> <b>and</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_190_4">BUTTON_CTRL</a>) /= 0 <b>then</b> + <a href="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_65_26">Control</a>; + <b>elsif</b> (<a href="terminal_interface-curses-mouse__adb.htm#ref_130_30">Mask</a> <b>and</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_191_4">BUTTON_SHIFT</a>) /= 0 <b>then</b> + <a href="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_66_26">Shift</a>; + <b>elsif</b> (<a href="terminal_interface-curses-mouse__adb.htm#ref_130_30">Mask</a> <b>and</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_192_4">BUTTON_ALT</a>) /= 0 <b>then</b> + <a href="terminal_interface-curses-mouse__adb.htm#ref_131_30">Button</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_67_26">Alt</a>; <b>end</b> <b>if</b>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_130_14">Dispatch_Event</A>; + <b>end</b> <a href="terminal_interface-curses-mouse__adb.htm#ref_130_14">Dispatch_Event</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_171_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_130_14">Get_Event</A></span> (<span class="symbol"><A NAME="ref_171_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_130_25">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A>; - <span class="symbol"><A NAME="ref_172_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_131_25">Y</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_173_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_132_25">X</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_174_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_133_25">Button</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</A>; - <span class="symbol"><A NAME="ref_175_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_134_25">State</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</A>) + <b>procedure</b> <span class="symbol"><a name="ref_171_14" href="terminal_interface-curses-mouse__ads.htm#ref_130_14">Get_Event</a></span> (<span class="symbol"><a name="ref_171_25" href="terminal_interface-curses-mouse__ads.htm#ref_130_25">Event</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a>; + <span class="symbol"><a name="ref_172_25" href="terminal_interface-curses-mouse__ads.htm#ref_131_25">Y</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_173_25" href="terminal_interface-curses-mouse__ads.htm#ref_132_25">X</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_174_25" href="terminal_interface-curses-mouse__ads.htm#ref_133_25">Button</a></span> : <b>out</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</a>; + <span class="symbol"><a name="ref_175_25" href="terminal_interface-curses-mouse__ads.htm#ref_134_25">State</a></span> : <b>out</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</a>) <b>is</b> - <span class="symbol"><A NAME="ref_177_7">Mask</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_130_25">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_170_10">Bstate</A>; + <span class="symbol"><a name="ref_177_7">Mask</a></span> : <b>constant</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_130_25">Event</a>.<a href="terminal_interface-curses-mouse__ads.htm#ref_170_10">Bstate</a>; <b>begin</b> - <A HREF="terminal_interface-curses-mouse__ads.htm#ref_132_25">X</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_130_25">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_168_10">X</A>); - <A HREF="terminal_interface-curses-mouse__ads.htm#ref_131_25">Y</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_130_25">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_168_13">Y</A>); - <A HREF="terminal_interface-curses-mouse__adb.htm#ref_130_14">Dispatch_Event</A> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_177_7">Mask</A>, <A HREF="terminal_interface-curses-mouse__ads.htm#ref_133_25">Button</A>, <A HREF="terminal_interface-curses-mouse__ads.htm#ref_134_25">State</A>); - <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_130_14">Get_Event</A>; + <a href="terminal_interface-curses-mouse__ads.htm#ref_132_25">X</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> (<a href="terminal_interface-curses-mouse__ads.htm#ref_130_25">Event</a>.<a href="terminal_interface-curses-mouse__ads.htm#ref_168_10">X</a>); + <a href="terminal_interface-curses-mouse__ads.htm#ref_131_25">Y</a> := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> (<a href="terminal_interface-curses-mouse__ads.htm#ref_130_25">Event</a>.<a href="terminal_interface-curses-mouse__ads.htm#ref_168_13">Y</a>); + <a href="terminal_interface-curses-mouse__adb.htm#ref_130_14">Dispatch_Event</a> (<a href="terminal_interface-curses-mouse__adb.htm#ref_177_7">Mask</a>, <a href="terminal_interface-curses-mouse__ads.htm#ref_133_25">Button</a>, <a href="terminal_interface-curses-mouse__ads.htm#ref_134_25">State</a>); + <b>end</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_130_14">Get_Event</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_184_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_142_14">Unget_Mouse</A></span> (<span class="symbol"><A NAME="ref_184_27" HREF="terminal_interface-curses-mouse__ads.htm#ref_142_27">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A>) + <b>procedure</b> <span class="symbol"><a name="ref_184_14" href="terminal_interface-curses-mouse__ads.htm#ref_142_14">Unget_Mouse</a></span> (<span class="symbol"><a name="ref_184_27" href="terminal_interface-curses-mouse__ads.htm#ref_142_27">Event</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_186_16">Ungetmouse</A></span> (<span class="symbol"><A NAME="ref_186_28" HREF="terminal_interface-curses-mouse__adb.htm#ref_186_16">Ev</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_186_16">Ungetmouse</a></span> (<span class="symbol"><a name="ref_186_28">Ev</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Ungetmouse, "ungetmouse"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_186_16">Ungetmouse</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_142_27">Event</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-mouse__adb.htm#ref_186_16">Ungetmouse</a> (<a href="terminal_interface-curses-mouse__ads.htm#ref_142_27">Event</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_142_14">Unget_Mouse</A>; + <b>end</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_142_14">Unget_Mouse</a>; - <b>function</b> <span class="symbol"><A NAME="ref_194_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_147_13">Enclosed_In_Window</A></span> (<span class="symbol"><A NAME="ref_194_33" HREF="terminal_interface-curses-mouse__ads.htm#ref_147_33">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_195_33" HREF="terminal_interface-curses-mouse__ads.htm#ref_148_33">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A>) <b>return</b> Boolean + <b>function</b> <span class="symbol"><a name="ref_194_13" href="terminal_interface-curses-mouse__ads.htm#ref_147_13">Enclosed_In_Window</a></span> (<span class="symbol"><a name="ref_194_33" href="terminal_interface-curses-mouse__ads.htm#ref_147_33">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_195_33" href="terminal_interface-curses-mouse__ads.htm#ref_148_33">Event</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a>) <b>return</b> Boolean <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_197_16">Wenclose</A></span> (<span class="symbol"><A NAME="ref_197_26" HREF="terminal_interface-curses-mouse__adb.htm#ref_197_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_197_40" HREF="terminal_interface-curses-mouse__adb.htm#ref_197_16">Y</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; <span class="symbol"><A NAME="ref_197_51" HREF="terminal_interface-curses-mouse__adb.htm#ref_197_16">X</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) - <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>; + <b>function</b> <span class="symbol"><a name="ref_197_16">Wenclose</a></span> (<span class="symbol"><a name="ref_197_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_197_40">Y</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <span class="symbol"><a name="ref_197_51">X</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) + <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; <b>pragma</b> Import (C, Wenclose, "wenclose"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_197_16">Wenclose</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_147_33">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_148_33">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_168_13">Y</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_148_33">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_168_10">X</A>)) - = <A HREF="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</A> + <b>if</b> <a href="terminal_interface-curses-mouse__adb.htm#ref_197_16">Wenclose</a> (<a href="terminal_interface-curses-mouse__ads.htm#ref_147_33">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-mouse__ads.htm#ref_148_33">Event</a>.<a href="terminal_interface-curses-mouse__ads.htm#ref_168_13">Y</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-mouse__ads.htm#ref_148_33">Event</a>.<a href="terminal_interface-curses-mouse__ads.htm#ref_168_10">X</a>)) + = <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_147_13">Enclosed_In_Window</A>; + <b>end</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_147_13">Enclosed_In_Window</a>; - <b>function</b> <span class="symbol"><A NAME="ref_210_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_154_13">Mouse_Interval</A></span> (<span class="symbol"><A NAME="ref_210_29" HREF="terminal_interface-curses-mouse__ads.htm#ref_154_29">Msec</A></span> : Natural := 200) <b>return</b> Natural + <b>function</b> <span class="symbol"><a name="ref_210_13" href="terminal_interface-curses-mouse__ads.htm#ref_154_13">Mouse_Interval</a></span> (<span class="symbol"><a name="ref_210_29" href="terminal_interface-curses-mouse__ads.htm#ref_154_29">Msec</a></span> : Natural := 200) <b>return</b> Natural <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_212_16">Mouseinterval</A></span> (<span class="symbol"><A NAME="ref_212_31" HREF="terminal_interface-curses-mouse__adb.htm#ref_212_16">Msec</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_212_16">Mouseinterval</a></span> (<span class="symbol"><a name="ref_212_31">Msec</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Mouseinterval, "mouseinterval"); <b>begin</b> - <b>return</b> Natural (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_212_16">Mouseinterval</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_154_29">Msec</A>))); - <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_154_13">Mouse_Interval</A>; + <b>return</b> Natural (<a href="terminal_interface-curses-mouse__adb.htm#ref_212_16">Mouseinterval</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-mouse__ads.htm#ref_154_29">Msec</a>))); + <b>end</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_154_13">Mouse_Interval</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_45_35">Mouse</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-mouse__ads.htm#ref_45_35">Mouse</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-mouse__ads.htm b/doc/html/ada/terminal_interface-curses-mouse__ads.htm index c4de5e5fe90e..5ed20a8cbd18 100644 --- a/doc/html/ada/terminal_interface-curses-mouse__ads.htm +++ b/doc/html/ada/terminal_interface-curses-mouse__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-mouse.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-mouse.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,213 +11,213 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-mouse.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Mouse --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1998-2014,2015 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.33 @</EM></span> -<span class="comment"><EM>-- @Date: 2020/02/02 23:34:34 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-mouse.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Mouse --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1998-2014,2015 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.33 @</em></span> +<span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>with</b> System; -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<span class="symbol"><A NAME="ref_45_35" HREF="terminal_interface-curses-mouse__adb.htm#ref_47_40">Mouse</A></span> <b>is</b> - <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_45_35">Mouse</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_mouse.3x.html">curs_mouse.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- mouse_trafo, wmouse_trafo are implemented as Transform_Coordinates</EM></span> - <span class="comment"><EM>-- in the parent package.</EM></span> - <span class="comment"><EM>--</EM></span> - <span class="comment"><EM>-- Not implemented:</EM></span> - <span class="comment"><EM>-- REPORT_MOUSE_POSITION (i.e. as a parameter to Register_Reportable_Event</EM></span> - <span class="comment"><EM>-- or Start_Mouse)</EM></span> - <b>type</b> <span class="symbol"><A NAME="ref_57_9">Event_Mask</A></span> <b>is</b> <b>private</b>; - <span class="symbol"><A NAME="ref_58_4">No_Events</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A>; - <span class="symbol"><A NAME="ref_59_4">All_Events</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A>; - - <b>type</b> <span class="symbol"><A NAME="ref_61_9">Mouse_Button</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_61_26">Left</A></span>, <span class="comment"><EM>-- aka: Button 1</EM></span> - <span class="symbol"><A NAME="ref_62_26">Middle</A></span>, <span class="comment"><EM>-- aka: Button 2</EM></span> - <span class="symbol"><A NAME="ref_63_26">Right</A></span>, <span class="comment"><EM>-- aka: Button 3</EM></span> - <span class="symbol"><A NAME="ref_64_26">Button4</A></span>, <span class="comment"><EM>-- aka: Button 4</EM></span> - <span class="symbol"><A NAME="ref_65_26">Control</A></span>, <span class="comment"><EM>-- Control Key</EM></span> - <span class="symbol"><A NAME="ref_66_26">Shift</A></span>, <span class="comment"><EM>-- Shift Key</EM></span> - <span class="symbol"><A NAME="ref_67_26">Alt</A></span>); <span class="comment"><EM>-- ALT Key</EM></span> - - <b>subtype</b> <span class="symbol"><A NAME="ref_69_12">Real_Buttons</A></span> <b>is</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</A> <b>range</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_61_26">Left</A> .. <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_26">Button4</A>; - <b>subtype</b> <span class="symbol"><A NAME="ref_70_12">Modifier_Keys</A></span> <b>is</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</A> <b>range</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_65_26">Control</A> .. <A HREF="terminal_interface-curses-mouse__ads.htm#ref_67_26">Alt</A>; - - <b>type</b> <span class="symbol"><A NAME="ref_72_9">Button_State</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_72_26">Released</A></span>, - <span class="symbol"><A NAME="ref_73_26">Pressed</A></span>, - <span class="symbol"><A NAME="ref_74_26">Clicked</A></span>, - <span class="symbol"><A NAME="ref_75_26">Double_Clicked</A></span>, - <span class="symbol"><A NAME="ref_76_26">Triple_Clicked</A></span>); - - <b>type</b> Button_States <b>is</b> <b>array</b> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</A>) <b>of</b> Boolean; +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_45_35" href="terminal_interface-curses-mouse__adb.htm#ref_47_40">Mouse</a></span> <b>is</b> + <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-mouse__ads.htm#ref_45_35">Mouse</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_mouse.3x.html">curs_mouse.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- mouse_trafo, wmouse_trafo are implemented as Transform_Coordinates</em></span> + <span class="comment"><em>-- in the parent package.</em></span> + <span class="comment"><em>--</em></span> + <span class="comment"><em>-- Not implemented:</em></span> + <span class="comment"><em>-- REPORT_MOUSE_POSITION (i.e. as a parameter to Register_Reportable_Event</em></span> + <span class="comment"><em>-- or Start_Mouse)</em></span> + <b>type</b> <span class="symbol"><a name="ref_57_9">Event_Mask</a></span> <b>is</b> <b>private</b>; + <span class="symbol"><a name="ref_58_4">No_Events</a></span> : <b>constant</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>; + <span class="symbol"><a name="ref_59_4">All_Events</a></span> : <b>constant</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>; + + <b>type</b> <span class="symbol"><a name="ref_61_9">Mouse_Button</a></span> <b>is</b> (<span class="symbol"><a name="ref_61_26">Left</a></span>, <span class="comment"><em>-- aka: Button 1</em></span> + <span class="symbol"><a name="ref_62_26">Middle</a></span>, <span class="comment"><em>-- aka: Button 2</em></span> + <span class="symbol"><a name="ref_63_26">Right</a></span>, <span class="comment"><em>-- aka: Button 3</em></span> + <span class="symbol"><a name="ref_64_26">Button4</a></span>, <span class="comment"><em>-- aka: Button 4</em></span> + <span class="symbol"><a name="ref_65_26">Control</a></span>, <span class="comment"><em>-- Control Key</em></span> + <span class="symbol"><a name="ref_66_26">Shift</a></span>, <span class="comment"><em>-- Shift Key</em></span> + <span class="symbol"><a name="ref_67_26">Alt</a></span>); <span class="comment"><em>-- ALT Key</em></span> + + <b>subtype</b> <span class="symbol"><a name="ref_69_12">Real_Buttons</a></span> <b>is</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</a> <b>range</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_61_26">Left</a> .. <a href="terminal_interface-curses-mouse__ads.htm#ref_64_26">Button4</a>; + <b>subtype</b> <span class="symbol"><a name="ref_70_12">Modifier_Keys</a></span> <b>is</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</a> <b>range</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_65_26">Control</a> .. <a href="terminal_interface-curses-mouse__ads.htm#ref_67_26">Alt</a>; + + <b>type</b> <span class="symbol"><a name="ref_72_9">Button_State</a></span> <b>is</b> (<span class="symbol"><a name="ref_72_26">Released</a></span>, + <span class="symbol"><a name="ref_73_26">Pressed</a></span>, + <span class="symbol"><a name="ref_74_26">Clicked</a></span>, + <span class="symbol"><a name="ref_75_26">Double_Clicked</a></span>, + <span class="symbol"><a name="ref_76_26">Triple_Clicked</a></span>); + + <b>type</b> Button_States <b>is</b> <b>array</b> (<a href="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</a>) <b>of</b> Boolean; <b>pragma</b> Pack (Button_States); - <span class="symbol"><A NAME="ref_81_4">All_Clicks</A></span> : <b>constant</b> Button_States := (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_74_26">Clicked</A> .. <A HREF="terminal_interface-curses-mouse__ads.htm#ref_76_26">Triple_Clicked</A> => True, + <span class="symbol"><a name="ref_81_4">All_Clicks</a></span> : <b>constant</b> Button_States := (<a href="terminal_interface-curses-mouse__ads.htm#ref_74_26">Clicked</a> .. <a href="terminal_interface-curses-mouse__ads.htm#ref_76_26">Triple_Clicked</a> => True, <b>others</b> => False); - <span class="symbol"><A NAME="ref_83_4">All_States</A></span> : <b>constant</b> Button_States := (<b>others</b> => True); - - <b>type</b> <span class="symbol"><A NAME="ref_85_9">Mouse_Event</A></span> <b>is</b> <b>private</b>; - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_mouse.3x.html">curs_mouse.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <b>function</b> <span class="symbol"><A NAME="ref_91_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_49_13">Has_Mouse</A></span> <b>return</b> Boolean; - <span class="comment"><EM>-- Return true if a mouse device is supported, false otherwise.</EM></span> - - <b>procedure</b> <span class="symbol"><A NAME="ref_94_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_76_14">Register_Reportable_Event</A></span> - (<span class="symbol"><A NAME="ref_95_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_76_41">Button</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</A>; - <span class="symbol"><A NAME="ref_96_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_77_41">State</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</A>; - <span class="symbol"><A NAME="ref_97_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_78_41">Mask</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A>); - <span class="comment"><EM>-- Stores the event described by the button and the state in the mask.</EM></span> - <span class="comment"><EM>-- Before you call this the first time, you should initialize the mask</EM></span> - <span class="comment"><EM>-- with the Empty_Mask constant</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_94_14">Register_Reportable_Event</A>); - - <b>procedure</b> <span class="symbol"><A NAME="ref_103_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_94_14">Register_Reportable_Events</A></span> - (<span class="symbol"><A NAME="ref_104_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_94_42">Button</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</A>; - <span class="symbol"><A NAME="ref_105_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_95_42">State</A></span> : Button_States; - <span class="symbol"><A NAME="ref_106_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_96_42">Mask</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A>); - <span class="comment"><EM>-- Register all events described by the Button and the State bitmap.</EM></span> - <span class="comment"><EM>-- Before you call this the first time, you should initialize the mask</EM></span> - <span class="comment"><EM>-- with the Empty_Mask constant</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_1">|</A></EM></span> - <span class="comment"><EM>-- There is one difference to mousmask(): we return the value of the</EM></span> - <span class="comment"><EM>-- old mask, that means the event mask value before this call.</EM></span> - <span class="comment"><EM>-- Not Implemented: The library version</EM></span> - <span class="comment"><EM>-- returns a Mouse_Mask that tells which events are reported.</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_116_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_106_13">Start_Mouse</A></span> (<span class="symbol"><A NAME="ref_116_26" HREF="terminal_interface-curses-mouse__adb.htm#ref_106_26">Mask</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_59_4">All_Events</A>) - <b>return</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_mouse.3x.html">mousemask()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_116_13">Start_Mouse</A>); - - <b>procedure</b> <span class="symbol"><A NAME="ref_121_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_122_14">End_Mouse</A></span> (<span class="symbol"><A NAME="ref_121_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_122_25">Mask</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_58_4">No_Events</A>); - <span class="comment"><EM>-- Terminates the mouse, restores the specified event mask</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_121_14">End_Mouse</A>); - - <span class="comment"><EM>-- <A NAME="AFU_2">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_126_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_61_13">Get_Mouse</A></span> <b>return</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_mouse.3x.html">getmouse()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_126_13">Get_Mouse</A>); - - <b>procedure</b> <span class="symbol"><A NAME="ref_130_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_171_14">Get_Event</A></span> (<span class="symbol"><A NAME="ref_130_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_171_25">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A>; - <span class="symbol"><A NAME="ref_131_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_172_25">Y</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_132_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_173_25">X</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_133_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_174_25">Button</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</A>; - <span class="symbol"><A NAME="ref_134_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_175_25">State</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</A>); - <span class="comment"><EM>-- !!! Warning: X and Y are screen coordinates. Due to ripped of lines they</EM></span> - <span class="comment"><EM>-- may not be identical to window coordinates.</EM></span> - <span class="comment"><EM>-- Not Implemented: Get_Event only reports one event, the C library</EM></span> - <span class="comment"><EM>-- version supports multiple events, e.g. {click-1, click-3}</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_130_14">Get_Event</A>); - - <span class="comment"><EM>-- <A NAME="AFU_3">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_142_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_184_14">Unget_Mouse</A></span> (<span class="symbol"><A NAME="ref_142_27" HREF="terminal_interface-curses-mouse__adb.htm#ref_184_27">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_mouse.3x.html">ungetmouse()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_142_14">Unget_Mouse</A>); - - <span class="comment"><EM>-- <A NAME="AFU_4">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_147_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_194_13">Enclosed_In_Window</A></span> (<span class="symbol"><A NAME="ref_147_33" HREF="terminal_interface-curses-mouse__adb.htm#ref_194_33">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_148_33" HREF="terminal_interface-curses-mouse__adb.htm#ref_195_33">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A>) <b>return</b> Boolean; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_mouse.3x.html">wenclose()</A></EM></span> - <span class="comment"><EM>-- But : use event instead of screen coordinates.</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_147_13">Enclosed_In_Window</A>); - - <span class="comment"><EM>-- <A NAME="AFU_5">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_154_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_210_13">Mouse_Interval</A></span> (<span class="symbol"><A NAME="ref_154_29" HREF="terminal_interface-curses-mouse__adb.htm#ref_210_29">Msec</A></span> : Natural := 200) <b>return</b> Natural; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_mouse.3x.html">mouseinterval()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_154_13">Mouse_Interval</A>); + <span class="symbol"><a name="ref_83_4">All_States</a></span> : <b>constant</b> Button_States := (<b>others</b> => True); + + <b>type</b> <span class="symbol"><a name="ref_85_9">Mouse_Event</a></span> <b>is</b> <b>private</b>; + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_mouse.3x.html">curs_mouse.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <b>function</b> <span class="symbol"><a name="ref_91_13" href="terminal_interface-curses-mouse__adb.htm#ref_49_13">Has_Mouse</a></span> <b>return</b> Boolean; + <span class="comment"><em>-- Return true if a mouse device is supported, false otherwise.</em></span> + + <b>procedure</b> <span class="symbol"><a name="ref_94_14" href="terminal_interface-curses-mouse__adb.htm#ref_76_14">Register_Reportable_Event</a></span> + (<span class="symbol"><a name="ref_95_7" href="terminal_interface-curses-mouse__adb.htm#ref_76_41">Button</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</a>; + <span class="symbol"><a name="ref_96_7" href="terminal_interface-curses-mouse__adb.htm#ref_77_41">State</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</a>; + <span class="symbol"><a name="ref_97_7" href="terminal_interface-curses-mouse__adb.htm#ref_78_41">Mask</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>); + <span class="comment"><em>-- Stores the event described by the button and the state in the mask.</em></span> + <span class="comment"><em>-- Before you call this the first time, you should initialize the mask</em></span> + <span class="comment"><em>-- with the Empty_Mask constant</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-mouse__ads.htm#ref_94_14">Register_Reportable_Event</a>); + + <b>procedure</b> <span class="symbol"><a name="ref_103_14" href="terminal_interface-curses-mouse__adb.htm#ref_94_14">Register_Reportable_Events</a></span> + (<span class="symbol"><a name="ref_104_7" href="terminal_interface-curses-mouse__adb.htm#ref_94_42">Button</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</a>; + <span class="symbol"><a name="ref_105_7" href="terminal_interface-curses-mouse__adb.htm#ref_95_42">State</a></span> : Button_States; + <span class="symbol"><a name="ref_106_7" href="terminal_interface-curses-mouse__adb.htm#ref_96_42">Mask</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>); + <span class="comment"><em>-- Register all events described by the Button and the State bitmap.</em></span> + <span class="comment"><em>-- Before you call this the first time, you should initialize the mask</em></span> + <span class="comment"><em>-- with the Empty_Mask constant</em></span> + + <span class="comment"><em>-- <A NAME="AFU_1">|</A></em></span> + <span class="comment"><em>-- There is one difference to mousmask(): we return the value of the</em></span> + <span class="comment"><em>-- old mask, that means the event mask value before this call.</em></span> + <span class="comment"><em>-- Not Implemented: The library version</em></span> + <span class="comment"><em>-- returns a Mouse_Mask that tells which events are reported.</em></span> + <b>function</b> <span class="symbol"><a name="ref_116_13" href="terminal_interface-curses-mouse__adb.htm#ref_106_13">Start_Mouse</a></span> (<span class="symbol"><a name="ref_116_26" href="terminal_interface-curses-mouse__adb.htm#ref_106_26">Mask</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_59_4">All_Events</a>) + <b>return</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_mouse.3x.html">mousemask()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-mouse__ads.htm#ref_116_13">Start_Mouse</a>); + + <b>procedure</b> <span class="symbol"><a name="ref_121_14" href="terminal_interface-curses-mouse__adb.htm#ref_122_14">End_Mouse</a></span> (<span class="symbol"><a name="ref_121_25" href="terminal_interface-curses-mouse__adb.htm#ref_122_25">Mask</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_58_4">No_Events</a>); + <span class="comment"><em>-- Terminates the mouse, restores the specified event mask</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-mouse__ads.htm#ref_121_14">End_Mouse</a>); + + <span class="comment"><em>-- <A NAME="AFU_2">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_126_13" href="terminal_interface-curses-mouse__adb.htm#ref_61_13">Get_Mouse</a></span> <b>return</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_mouse.3x.html">getmouse()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-mouse__ads.htm#ref_126_13">Get_Mouse</a>); + + <b>procedure</b> <span class="symbol"><a name="ref_130_14" href="terminal_interface-curses-mouse__adb.htm#ref_171_14">Get_Event</a></span> (<span class="symbol"><a name="ref_130_25" href="terminal_interface-curses-mouse__adb.htm#ref_171_25">Event</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a>; + <span class="symbol"><a name="ref_131_25" href="terminal_interface-curses-mouse__adb.htm#ref_172_25">Y</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_132_25" href="terminal_interface-curses-mouse__adb.htm#ref_173_25">X</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_133_25" href="terminal_interface-curses-mouse__adb.htm#ref_174_25">Button</a></span> : <b>out</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_61_9">Mouse_Button</a>; + <span class="symbol"><a name="ref_134_25" href="terminal_interface-curses-mouse__adb.htm#ref_175_25">State</a></span> : <b>out</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_72_9">Button_State</a>); + <span class="comment"><em>-- !!! Warning: X and Y are screen coordinates. Due to ripped of lines they</em></span> + <span class="comment"><em>-- may not be identical to window coordinates.</em></span> + <span class="comment"><em>-- Not Implemented: Get_Event only reports one event, the C library</em></span> + <span class="comment"><em>-- version supports multiple events, e.g. {click-1, click-3}</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-mouse__ads.htm#ref_130_14">Get_Event</a>); + + <span class="comment"><em>-- <A NAME="AFU_3">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_142_14" href="terminal_interface-curses-mouse__adb.htm#ref_184_14">Unget_Mouse</a></span> (<span class="symbol"><a name="ref_142_27" href="terminal_interface-curses-mouse__adb.htm#ref_184_27">Event</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_mouse.3x.html">ungetmouse()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-mouse__ads.htm#ref_142_14">Unget_Mouse</a>); + + <span class="comment"><em>-- <A NAME="AFU_4">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_147_13" href="terminal_interface-curses-mouse__adb.htm#ref_194_13">Enclosed_In_Window</a></span> (<span class="symbol"><a name="ref_147_33" href="terminal_interface-curses-mouse__adb.htm#ref_194_33">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_148_33" href="terminal_interface-curses-mouse__adb.htm#ref_195_33">Event</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a>) <b>return</b> Boolean; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_mouse.3x.html">wenclose()</A></em></span> + <span class="comment"><em>-- But : use event instead of screen coordinates.</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-mouse__ads.htm#ref_147_13">Enclosed_In_Window</a>); + + <span class="comment"><em>-- <A NAME="AFU_5">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_154_13" href="terminal_interface-curses-mouse__adb.htm#ref_210_13">Mouse_Interval</a></span> (<span class="symbol"><a name="ref_154_29" href="terminal_interface-curses-mouse__adb.htm#ref_210_29">Msec</a></span> : Natural := 200) <b>return</b> Natural; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_mouse.3x.html">mouseinterval()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-mouse__ads.htm#ref_154_13">Mouse_Interval</a>); <b>private</b> - <span class="comment"><EM>-- This can be as little as 32 bits (unsigned), or as long as the system's</EM></span> - <span class="comment"><EM>-- unsigned long. Declare it as the minimum size to handle all valid</EM></span> - <span class="comment"><EM>-- sizes.</EM></span> - <b>type</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A> <b>is</b> <b>mod</b> 4294967296; + <span class="comment"><em>-- This can be as little as 32 bits (unsigned), or as long as the system's</em></span> + <span class="comment"><em>-- unsigned long. Declare it as the minimum size to handle all valid</em></span> + <span class="comment"><em>-- sizes.</em></span> + <b>type</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> <b>is</b> <b>mod</b> 4294967296; - <b>type</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A> <b>is</b> + <b>type</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a> <b>is</b> <b>record</b> - <span class="symbol"><A NAME="ref_166_10">Id</A></span> : Integer <b>range</b> Integer (<A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.short'First) .. - Integer (<A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.short'Last); - <span class="symbol"><A NAME="ref_168_10">X</A></span>, <span class="symbol"><A NAME="ref_168_13">Y</A></span>, <span class="symbol"><A NAME="ref_168_16">Z</A></span> : Integer <b>range</b> Integer (<A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int'First) .. - Integer (<A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int'Last); - <span class="symbol"><A NAME="ref_170_10">Bstate</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A>; + <span class="symbol"><a name="ref_166_10">Id</a></span> : Integer <b>range</b> Integer (<a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.short'First) .. + Integer (<a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.short'Last); + <span class="symbol"><a name="ref_168_10">X</a></span>, <span class="symbol"><a name="ref_168_13">Y</a></span>, <span class="symbol"><a name="ref_168_16">Z</a></span> : Integer <b>range</b> Integer (<a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int'First) .. + Integer (<a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int'Last); + <span class="symbol"><a name="ref_170_10">Bstate</a></span> : <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a>; <b>end</b> <b>record</b>; - <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A>); + <b>pragma</b> Convention (C, <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a>); - <b>for</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A> <b>use</b> + <b>for</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a> <b>use</b> <b>record</b> - <A HREF="terminal_interface-curses-mouse__ads.htm#ref_166_10">Id</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_310_4">MEVENT_id_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_311_4">MEVENT_id_Last</A>; - <A HREF="terminal_interface-curses-mouse__ads.htm#ref_168_10">X</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_312_4">MEVENT_x_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_313_4">MEVENT_x_Last</A>; - <A HREF="terminal_interface-curses-mouse__ads.htm#ref_168_13">Y</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_314_4">MEVENT_y_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_315_4">MEVENT_y_Last</A>; - <A HREF="terminal_interface-curses-mouse__ads.htm#ref_168_16">Z</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_316_4">MEVENT_z_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_317_4">MEVENT_z_Last</A>; - <A HREF="terminal_interface-curses-mouse__ads.htm#ref_170_10">Bstate</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_318_4">MEVENT_bstate_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_319_4">MEVENT_bstate_Last</A>; + <a href="terminal_interface-curses-mouse__ads.htm#ref_166_10">Id</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_310_4">MEVENT_id_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_311_4">MEVENT_id_Last</a>; + <a href="terminal_interface-curses-mouse__ads.htm#ref_168_10">X</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_312_4">MEVENT_x_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_313_4">MEVENT_x_Last</a>; + <a href="terminal_interface-curses-mouse__ads.htm#ref_168_13">Y</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_314_4">MEVENT_y_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_315_4">MEVENT_y_Last</a>; + <a href="terminal_interface-curses-mouse__ads.htm#ref_168_16">Z</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_316_4">MEVENT_z_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_317_4">MEVENT_z_Last</a>; + <a href="terminal_interface-curses-mouse__ads.htm#ref_170_10">Bstate</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_318_4">MEVENT_bstate_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_319_4">MEVENT_bstate_Last</a>; <b>end</b> <b>record</b>; - <b>for</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</A>'Size <b>use</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_320_4">MEVENT_Size</A>; - Generation_Bit_Order : System.Bit_Order <b>renames</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_10_4">Bit_Order</A>; - - <span class="symbol"><A NAME="ref_190_4">BUTTON_CTRL</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_348_4">BUTTON_CTRL</A>; - <span class="symbol"><A NAME="ref_191_4">BUTTON_SHIFT</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_349_4">BUTTON_SHIFT</A>; - <span class="symbol"><A NAME="ref_192_4">BUTTON_ALT</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_350_4">BUTTON_ALT</A>; - <span class="symbol"><A NAME="ref_193_4">BUTTON1_EVENTS</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_329_4">all_events_button_1</A>; - <span class="symbol"><A NAME="ref_195_4">BUTTON2_EVENTS</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_335_4">all_events_button_2</A>; - <span class="symbol"><A NAME="ref_197_4">BUTTON3_EVENTS</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_341_4">all_events_button_3</A>; - <span class="symbol"><A NAME="ref_199_4">BUTTON4_EVENTS</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_347_4">all_events_button_4</A>; - <span class="symbol"><A NAME="ref_201_4">ALL_MOUSE_EVENTS</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_352_4">ALL_MOUSE_EVENTS</A>; - <A HREF="terminal_interface-curses-mouse__ads.htm#ref_58_4">No_Events</A> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A> := 0; - <A HREF="terminal_interface-curses-mouse__ads.htm#ref_59_4">All_Events</A> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_201_4">ALL_MOUSE_EVENTS</A>; - -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_45_35">Mouse</A>; -</PRE></BODY></HTML> + <b>for</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_85_9">Mouse_Event</a>'Size <b>use</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_320_4">MEVENT_Size</a>; + Generation_Bit_Order : System.Bit_Order <b>renames</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_10_4">Bit_Order</a>; + + <span class="symbol"><a name="ref_190_4">BUTTON_CTRL</a></span> : <b>constant</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_348_4">BUTTON_CTRL</a>; + <span class="symbol"><a name="ref_191_4">BUTTON_SHIFT</a></span> : <b>constant</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_349_4">BUTTON_SHIFT</a>; + <span class="symbol"><a name="ref_192_4">BUTTON_ALT</a></span> : <b>constant</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_350_4">BUTTON_ALT</a>; + <span class="symbol"><a name="ref_193_4">BUTTON1_EVENTS</a></span> : <b>constant</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_329_4">all_events_button_1</a>; + <span class="symbol"><a name="ref_195_4">BUTTON2_EVENTS</a></span> : <b>constant</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_335_4">all_events_button_2</a>; + <span class="symbol"><a name="ref_197_4">BUTTON3_EVENTS</a></span> : <b>constant</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_341_4">all_events_button_3</a>; + <span class="symbol"><a name="ref_199_4">BUTTON4_EVENTS</a></span> : <b>constant</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_347_4">all_events_button_4</a>; + <span class="symbol"><a name="ref_201_4">ALL_MOUSE_EVENTS</a></span> : <b>constant</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_352_4">ALL_MOUSE_EVENTS</a>; + <a href="terminal_interface-curses-mouse__ads.htm#ref_58_4">No_Events</a> : <b>constant</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> := 0; + <a href="terminal_interface-curses-mouse__ads.htm#ref_59_4">All_Events</a> : <b>constant</b> <a href="terminal_interface-curses-mouse__ads.htm#ref_57_9">Event_Mask</a> := <a href="terminal_interface-curses-mouse__ads.htm#ref_201_4">ALL_MOUSE_EVENTS</a>; + +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-mouse__ads.htm#ref_45_35">Mouse</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-panels-user_data__adb.htm b/doc/html/ada/terminal_interface-curses-panels-user_data__adb.htm index 02c6e8fd854a..7270d2c89df7 100644 --- a/doc/html/ada/terminal_interface-curses-panels-user_data__adb.htm +++ b/doc/html/ada/terminal_interface-curses-panels-user_data__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-panels-user_data.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-panels-user_data.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,87 +11,87 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-panels-user_data.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Panels.User_Data --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.13 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; -<b>use</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</A>; -<b>use</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</A>; +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-panels-user_data.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Panels.User_Data --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.13 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; +<b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</a>; +<b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</a>; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</A>.<span class="symbol"><A NAME="ref_48_47" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_46_42">User_Data</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</a>.<span class="symbol"><a name="ref_48_47" href="terminal_interface-curses-panels-user_data__ads.htm#ref_46_42">User_Data</a></span> <b>is</b> - <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int; + <b>use</b> <b>type</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int; - <b>procedure</b> <span class="symbol"><A NAME="ref_52_14" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_54_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_52_29" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_54_29">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>; - <span class="symbol"><A NAME="ref_53_29" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_55_29">Data</A></span> : <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_45_9">User_Access</A>) + <b>procedure</b> <span class="symbol"><a name="ref_52_14" href="terminal_interface-curses-panels-user_data__ads.htm#ref_54_14">Set_User_Data</a></span> (<span class="symbol"><a name="ref_52_29" href="terminal_interface-curses-panels-user_data__ads.htm#ref_54_29">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>; + <span class="symbol"><a name="ref_53_29" href="terminal_interface-curses-panels-user_data__ads.htm#ref_55_29">Data</a></span> : <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_45_9">User_Access</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_55_16">Set_Panel_Userptr</A></span> (<span class="symbol"><A NAME="ref_55_35" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_55_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>; - <span class="symbol"><A NAME="ref_56_35" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_55_16">Addr</A></span> : <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_45_9">User_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_55_16">Set_Panel_Userptr</a></span> (<span class="symbol"><a name="ref_55_35">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>; + <span class="symbol"><a name="ref_56_35">Addr</a></span> : <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_45_9">User_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Set_Panel_Userptr, "set_panel_userptr"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_55_16">Set_Panel_Userptr</A> (<A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_54_29">Pan</A>, <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_55_29">Data</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-panels-user_data__adb.htm#ref_55_16">Set_Panel_Userptr</a> (<a href="terminal_interface-curses-panels-user_data__ads.htm#ref_54_29">Pan</a>, <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_55_29">Data</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_54_14">Set_User_Data</A>; + <b>end</b> <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_54_14">Set_User_Data</a>; - <b>function</b> <span class="symbol"><A NAME="ref_64_13" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_65_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_64_28" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_65_28">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_45_9">User_Access</A> + <b>function</b> <span class="symbol"><a name="ref_64_13" href="terminal_interface-curses-panels-user_data__ads.htm#ref_65_13">Get_User_Data</a></span> (<span class="symbol"><a name="ref_64_28" href="terminal_interface-curses-panels-user_data__ads.htm#ref_65_28">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_45_9">User_Access</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_66_16">Panel_Userptr</A></span> (<span class="symbol"><A NAME="ref_66_31" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_66_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_45_9">User_Access</A>; + <b>function</b> <span class="symbol"><a name="ref_66_16">Panel_Userptr</a></span> (<span class="symbol"><a name="ref_66_31">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_45_9">User_Access</a>; <b>pragma</b> Import (C, Panel_Userptr, "panel_userptr"); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_66_16">Panel_Userptr</A> (<A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_65_28">Pan</A>); - <b>end</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_65_13">Get_User_Data</A>; + <b>return</b> <a href="terminal_interface-curses-panels-user_data__adb.htm#ref_66_16">Panel_Userptr</a> (<a href="terminal_interface-curses-panels-user_data__ads.htm#ref_65_28">Pan</a>); + <b>end</b> <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_65_13">Get_User_Data</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_72_14" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_60_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_72_29" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_60_29">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>; - <span class="symbol"><A NAME="ref_73_29" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_61_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_45_9">User_Access</A>) + <b>procedure</b> <span class="symbol"><a name="ref_72_14" href="terminal_interface-curses-panels-user_data__ads.htm#ref_60_14">Get_User_Data</a></span> (<span class="symbol"><a name="ref_72_29" href="terminal_interface-curses-panels-user_data__ads.htm#ref_60_29">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>; + <span class="symbol"><a name="ref_73_29" href="terminal_interface-curses-panels-user_data__ads.htm#ref_61_29">Data</a></span> : <b>out</b> <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_45_9">User_Access</a>) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_61_29">Data</A> := <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_65_13">Get_User_Data</A> (<A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_60_29">Pan</A>); - <b>end</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_60_14">Get_User_Data</A>; + <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_61_29">Data</a> := <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_65_13">Get_User_Data</a> (<a href="terminal_interface-curses-panels-user_data__ads.htm#ref_60_29">Pan</a>); + <b>end</b> <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_60_14">Get_User_Data</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</A>.<A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_46_42">User_Data</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</a>.<a href="terminal_interface-curses-panels-user_data__ads.htm#ref_46_42">User_Data</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-panels-user_data__ads.htm b/doc/html/ada/terminal_interface-curses-panels-user_data__ads.htm index 81cd6d11ba43..a39d0e489dfe 100644 --- a/doc/html/ada/terminal_interface-curses-panels-user_data__ads.htm +++ b/doc/html/ada/terminal_interface-curses-panels-user_data__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-panels-user_data.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-panels-user_data.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,78 +11,78 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-panels-user_data.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Panels.User_Data --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1998-2003,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.16 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-panels-user_data.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Panels.User_Data --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1998-2003,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.16 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>generic</b> - <b>type</b> <span class="symbol"><A NAME="ref_44_9" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_46_42">User</A></span> <b>is</b> <b>limited</b> <b>private</b>; - <b>type</b> <span class="symbol"><A NAME="ref_45_9" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_46_42">User_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_44_9">User</A>; -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</A>.<span class="symbol"><A NAME="ref_46_42" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_48_47">User_Data</A></span> <b>is</b> - <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</A>.<A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_46_42">User_Data</A>); + <b>type</b> <span class="symbol"><a name="ref_44_9">User</a></span> <b>is</b> <b>limited</b> <b>private</b>; + <b>type</b> <span class="symbol"><a name="ref_45_9">User_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_44_9">User</a>; +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</a>.<span class="symbol"><a name="ref_46_42" href="terminal_interface-curses-panels-user_data__adb.htm#ref_48_47">User_Data</a></span> <b>is</b> + <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</a>.<a href="terminal_interface-curses-panels-user_data__ads.htm#ref_46_42">User_Data</a>); - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/panel.3x.html">panel.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/panel.3x.html">panel.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> - <span class="comment"><EM>-- <A NAME="AFU_1">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_54_14" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_52_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_54_29" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_52_29">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>; - <span class="symbol"><A NAME="ref_55_29" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_53_29">Data</A></span> : <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_45_9">User_Access</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">set_panel_userptr</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_54_14">Set_User_Data</A>); + <span class="comment"><em>-- <A NAME="AFU_1">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_54_14" href="terminal_interface-curses-panels-user_data__adb.htm#ref_52_14">Set_User_Data</a></span> (<span class="symbol"><a name="ref_54_29" href="terminal_interface-curses-panels-user_data__adb.htm#ref_52_29">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>; + <span class="symbol"><a name="ref_55_29" href="terminal_interface-curses-panels-user_data__adb.htm#ref_53_29">Data</a></span> : <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_45_9">User_Access</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/panel.3x.html">set_panel_userptr</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-panels-user_data__ads.htm#ref_54_14">Set_User_Data</a>); - <span class="comment"><EM>-- <A NAME="AFU_2">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_60_14" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_72_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_60_29" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_72_29">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>; - <span class="symbol"><A NAME="ref_61_29" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_73_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_45_9">User_Access</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">panel_userptr</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_2">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_60_14" href="terminal_interface-curses-panels-user_data__adb.htm#ref_72_14">Get_User_Data</a></span> (<span class="symbol"><a name="ref_60_29" href="terminal_interface-curses-panels-user_data__adb.htm#ref_72_29">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>; + <span class="symbol"><a name="ref_61_29" href="terminal_interface-curses-panels-user_data__adb.htm#ref_73_29">Data</a></span> : <b>out</b> <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_45_9">User_Access</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/panel.3x.html">panel_userptr</A></em></span> - <span class="comment"><EM>-- <A NAME="AFU_3">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_65_13" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_64_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_65_28" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_64_28">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_45_9">User_Access</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">panel_userptr</A></EM></span> - <span class="comment"><EM>-- Same as function</EM></span> + <span class="comment"><em>-- <A NAME="AFU_3">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_65_13" href="terminal_interface-curses-panels-user_data__adb.htm#ref_64_13">Get_User_Data</a></span> (<span class="symbol"><a name="ref_65_28" href="terminal_interface-curses-panels-user_data__adb.htm#ref_64_28">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses-panels-user_data__ads.htm#ref_45_9">User_Access</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/panel.3x.html">panel_userptr</A></em></span> + <span class="comment"><em>-- Same as function</em></span> <b>pragma</b> Inline (Get_User_Data); -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</A>.<A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_46_42">User_Data</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</a>.<a href="terminal_interface-curses-panels-user_data__ads.htm#ref_46_42">User_Data</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-panels__adb.htm b/doc/html/ada/terminal_interface-curses-panels__adb.htm index c9a6e7cc6e9e..096d7fed682c 100644 --- a/doc/html/ada/terminal_interface-curses-panels__adb.htm +++ b/doc/html/ada/terminal_interface-curses-panels__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-panels.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-panels.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,174 +11,174 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-panels.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Panels --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2004,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.15 @</EM></span> -<span class="comment"><EM>-- @Date: 2020/02/02 23:34:34 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-panels.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Panels --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2004,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.15 @</em></span> +<span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<span class="symbol"><A NAME="ref_46_40" HREF="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_46_40" href="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</a></span> <b>is</b> - <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int; + <b>use</b> <b>type</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int; - <b>function</b> <span class="symbol"><A NAME="ref_50_13" HREF="terminal_interface-curses-panels__ads.htm#ref_67_13">Create</A></span> (<span class="symbol"><A NAME="ref_50_21" HREF="terminal_interface-curses-panels__ads.htm#ref_67_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A> + <b>function</b> <span class="symbol"><a name="ref_50_13" href="terminal_interface-curses-panels__ads.htm#ref_67_13">Create</a></span> (<span class="symbol"><a name="ref_50_21" href="terminal_interface-curses-panels__ads.htm#ref_67_21">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_52_16">Newpanel</A></span> (<span class="symbol"><A NAME="ref_52_26" HREF="terminal_interface-curses-panels__adb.htm#ref_52_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>; + <b>function</b> <span class="symbol"><a name="ref_52_16">Newpanel</a></span> (<span class="symbol"><a name="ref_52_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>; <b>pragma</b> Import (C, Newpanel, "new_panel"); - <span class="symbol"><A NAME="ref_55_7">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>; + <span class="symbol"><a name="ref_55_7">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>; <b>begin</b> - <A HREF="terminal_interface-curses-panels__adb.htm#ref_55_7">Pan</A> := <A HREF="terminal_interface-curses-panels__adb.htm#ref_52_16">Newpanel</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_67_21">Win</A>); - <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_55_7">Pan</A> = <A HREF="terminal_interface-curses-panels__ads.htm#ref_54_4">Null_Panel</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</A>; + <a href="terminal_interface-curses-panels__adb.htm#ref_55_7">Pan</a> := <a href="terminal_interface-curses-panels__adb.htm#ref_52_16">Newpanel</a> (<a href="terminal_interface-curses-panels__ads.htm#ref_67_21">Win</a>); + <b>if</b> <a href="terminal_interface-curses-panels__adb.htm#ref_55_7">Pan</a> = <a href="terminal_interface-curses-panels__ads.htm#ref_54_4">Null_Panel</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</a>; <b>end</b> <b>if</b>; - <b>return</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_55_7">Pan</A>; - <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_67_13">Create</A>; + <b>return</b> <a href="terminal_interface-curses-panels__adb.htm#ref_55_7">Pan</a>; + <b>end</b> <a href="terminal_interface-curses-panels__ads.htm#ref_67_13">Create</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_64_14" HREF="terminal_interface-curses-panels__ads.htm#ref_77_14">Bottom</A></span> (<span class="symbol"><A NAME="ref_64_22" HREF="terminal_interface-curses-panels__ads.htm#ref_77_22">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) + <b>procedure</b> <span class="symbol"><a name="ref_64_14" href="terminal_interface-curses-panels__ads.htm#ref_77_14">Bottom</a></span> (<span class="symbol"><a name="ref_64_22" href="terminal_interface-curses-panels__ads.htm#ref_77_22">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_66_16">Bottompanel</A></span> (<span class="symbol"><A NAME="ref_66_29" HREF="terminal_interface-curses-panels__adb.htm#ref_66_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_66_16">Bottompanel</a></span> (<span class="symbol"><a name="ref_66_29">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Bottompanel, "bottom_panel"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_66_16">Bottompanel</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_77_22">Pan</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-panels__adb.htm#ref_66_16">Bottompanel</a> (<a href="terminal_interface-curses-panels__ads.htm#ref_77_22">Pan</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_77_14">Bottom</A>; + <b>end</b> <a href="terminal_interface-curses-panels__ads.htm#ref_77_14">Bottom</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_74_14" HREF="terminal_interface-curses-panels__ads.htm#ref_82_14">Top</A></span> (<span class="symbol"><A NAME="ref_74_19" HREF="terminal_interface-curses-panels__ads.htm#ref_82_19">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) + <b>procedure</b> <span class="symbol"><a name="ref_74_14" href="terminal_interface-curses-panels__ads.htm#ref_82_14">Top</a></span> (<span class="symbol"><a name="ref_74_19" href="terminal_interface-curses-panels__ads.htm#ref_82_19">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_76_16">Toppanel</A></span> (<span class="symbol"><A NAME="ref_76_26" HREF="terminal_interface-curses-panels__adb.htm#ref_76_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_76_16">Toppanel</a></span> (<span class="symbol"><a name="ref_76_26">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Toppanel, "top_panel"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_76_16">Toppanel</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_82_19">Pan</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-panels__adb.htm#ref_76_16">Toppanel</a> (<a href="terminal_interface-curses-panels__ads.htm#ref_82_19">Pan</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_82_14">Top</A>; + <b>end</b> <a href="terminal_interface-curses-panels__ads.htm#ref_82_14">Top</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_84_14" HREF="terminal_interface-curses-panels__ads.htm#ref_87_14">Show</A></span> (<span class="symbol"><A NAME="ref_84_20" HREF="terminal_interface-curses-panels__ads.htm#ref_87_20">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) + <b>procedure</b> <span class="symbol"><a name="ref_84_14" href="terminal_interface-curses-panels__ads.htm#ref_87_14">Show</a></span> (<span class="symbol"><a name="ref_84_20" href="terminal_interface-curses-panels__ads.htm#ref_87_20">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_86_16">Showpanel</A></span> (<span class="symbol"><A NAME="ref_86_27" HREF="terminal_interface-curses-panels__adb.htm#ref_86_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_86_16">Showpanel</a></span> (<span class="symbol"><a name="ref_86_27">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Showpanel, "show_panel"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_86_16">Showpanel</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_87_20">Pan</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-panels__adb.htm#ref_86_16">Showpanel</a> (<a href="terminal_interface-curses-panels__ads.htm#ref_87_20">Pan</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_87_14">Show</A>; + <b>end</b> <a href="terminal_interface-curses-panels__ads.htm#ref_87_14">Show</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_94_14" HREF="terminal_interface-curses-panels__ads.htm#ref_97_14">Hide</A></span> (<span class="symbol"><A NAME="ref_94_20" HREF="terminal_interface-curses-panels__ads.htm#ref_97_20">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) + <b>procedure</b> <span class="symbol"><a name="ref_94_14" href="terminal_interface-curses-panels__ads.htm#ref_97_14">Hide</a></span> (<span class="symbol"><a name="ref_94_20" href="terminal_interface-curses-panels__ads.htm#ref_97_20">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_96_16">Hidepanel</A></span> (<span class="symbol"><A NAME="ref_96_27" HREF="terminal_interface-curses-panels__adb.htm#ref_96_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_96_16">Hidepanel</a></span> (<span class="symbol"><a name="ref_96_27">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Hidepanel, "hide_panel"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_96_16">Hidepanel</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_97_20">Pan</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-panels__adb.htm#ref_96_16">Hidepanel</a> (<a href="terminal_interface-curses-panels__ads.htm#ref_97_20">Pan</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_97_14">Hide</A>; + <b>end</b> <a href="terminal_interface-curses-panels__ads.htm#ref_97_14">Hide</a>; - <b>function</b> <span class="symbol"><A NAME="ref_104_13" HREF="terminal_interface-curses-panels__ads.htm#ref_102_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_104_25" HREF="terminal_interface-curses-panels__ads.htm#ref_102_25">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> + <b>function</b> <span class="symbol"><a name="ref_104_13" href="terminal_interface-curses-panels__ads.htm#ref_102_13">Get_Window</a></span> (<span class="symbol"><a name="ref_104_25" href="terminal_interface-curses-panels__ads.htm#ref_102_25">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_106_16">Panel_Win</A></span> (<span class="symbol"><A NAME="ref_106_27" HREF="terminal_interface-curses-panels__adb.htm#ref_106_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; + <b>function</b> <span class="symbol"><a name="ref_106_16">Panel_Win</a></span> (<span class="symbol"><a name="ref_106_27">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <b>pragma</b> Import (C, Panel_Win, "panel_window"); - <span class="symbol"><A NAME="ref_109_7">Win</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses-panels__adb.htm#ref_106_16">Panel_Win</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_102_25">Pan</A>); + <span class="symbol"><a name="ref_109_7">Win</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses-panels__adb.htm#ref_106_16">Panel_Win</a> (<a href="terminal_interface-curses-panels__ads.htm#ref_102_25">Pan</a>); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_109_7">Win</A> = <A HREF="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-panels__adb.htm#ref_109_7">Win</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</a>; <b>end</b> <b>if</b>; - <b>return</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_109_7">Win</A>; - <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_102_13">Get_Window</A>; + <b>return</b> <a href="terminal_interface-curses-panels__adb.htm#ref_109_7">Win</a>; + <b>end</b> <a href="terminal_interface-curses-panels__ads.htm#ref_102_13">Get_Window</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_117_14" HREF="terminal_interface-curses-panels__ads.htm#ref_111_14">Replace</A></span> (<span class="symbol"><A NAME="ref_117_23" HREF="terminal_interface-curses-panels__ads.htm#ref_111_23">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>; - <span class="symbol"><A NAME="ref_118_23" HREF="terminal_interface-curses-panels__ads.htm#ref_112_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) + <b>procedure</b> <span class="symbol"><a name="ref_117_14" href="terminal_interface-curses-panels__ads.htm#ref_111_14">Replace</a></span> (<span class="symbol"><a name="ref_117_23" href="terminal_interface-curses-panels__ads.htm#ref_111_23">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>; + <span class="symbol"><a name="ref_118_23" href="terminal_interface-curses-panels__ads.htm#ref_112_23">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_120_16">Replace_Pan</A></span> (<span class="symbol"><A NAME="ref_120_29" HREF="terminal_interface-curses-panels__adb.htm#ref_120_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>; - <span class="symbol"><A NAME="ref_121_29" HREF="terminal_interface-curses-panels__adb.htm#ref_120_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_120_16">Replace_Pan</a></span> (<span class="symbol"><a name="ref_120_29">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>; + <span class="symbol"><a name="ref_121_29">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Replace_Pan, "replace_panel"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_120_16">Replace_Pan</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_111_23">Pan</A>, <A HREF="terminal_interface-curses-panels__ads.htm#ref_112_23">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-panels__adb.htm#ref_120_16">Replace_Pan</a> (<a href="terminal_interface-curses-panels__ads.htm#ref_111_23">Pan</a>, <a href="terminal_interface-curses-panels__ads.htm#ref_112_23">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_111_14">Replace</A>; + <b>end</b> <a href="terminal_interface-curses-panels__ads.htm#ref_111_14">Replace</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_129_14" HREF="terminal_interface-curses-panels__ads.htm#ref_117_14">Move</A></span> (<span class="symbol"><A NAME="ref_129_20" HREF="terminal_interface-curses-panels__ads.htm#ref_117_20">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>; - <span class="symbol"><A NAME="ref_130_20" HREF="terminal_interface-curses-panels__ads.htm#ref_118_20">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_131_20" HREF="terminal_interface-curses-panels__ads.htm#ref_119_20">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>) + <b>procedure</b> <span class="symbol"><a name="ref_129_14" href="terminal_interface-curses-panels__ads.htm#ref_117_14">Move</a></span> (<span class="symbol"><a name="ref_129_20" href="terminal_interface-curses-panels__ads.htm#ref_117_20">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>; + <span class="symbol"><a name="ref_130_20" href="terminal_interface-curses-panels__ads.htm#ref_118_20">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_131_20" href="terminal_interface-curses-panels__ads.htm#ref_119_20">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_133_16">Move</A></span> (<span class="symbol"><A NAME="ref_133_22" HREF="terminal_interface-curses-panels__adb.htm#ref_133_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>; - <span class="symbol"><A NAME="ref_134_22" HREF="terminal_interface-curses-panels__adb.htm#ref_133_16">Line</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_135_22" HREF="terminal_interface-curses-panels__adb.htm#ref_133_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_133_16">Move</a></span> (<span class="symbol"><a name="ref_133_22">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>; + <span class="symbol"><a name="ref_134_22">Line</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_135_22">Column</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Move, "move_panel"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_133_16">Move</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_117_20">Pan</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_118_20">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_119_20">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-panels__adb.htm#ref_133_16">Move</a> (<a href="terminal_interface-curses-panels__ads.htm#ref_117_20">Pan</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-panels__ads.htm#ref_118_20">Line</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-panels__ads.htm#ref_119_20">Column</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_117_14">Move</A>; + <b>end</b> <a href="terminal_interface-curses-panels__ads.htm#ref_117_14">Move</a>; - <b>function</b> <span class="symbol"><A NAME="ref_143_13" HREF="terminal_interface-curses-panels__ads.htm#ref_124_13">Is_Hidden</A></span> (<span class="symbol"><A NAME="ref_143_24" HREF="terminal_interface-curses-panels__ads.htm#ref_124_24">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> Boolean + <b>function</b> <span class="symbol"><a name="ref_143_13" href="terminal_interface-curses-panels__ads.htm#ref_124_13">Is_Hidden</a></span> (<span class="symbol"><a name="ref_143_24" href="terminal_interface-curses-panels__ads.htm#ref_124_24">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> Boolean <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_145_16">Panel_Hidden</A></span> (<span class="symbol"><A NAME="ref_145_30" HREF="terminal_interface-curses-panels__adb.htm#ref_145_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_145_16">Panel_Hidden</a></span> (<span class="symbol"><a name="ref_145_30">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Panel_Hidden, "panel_hidden"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_145_16">Panel_Hidden</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_124_24">Pan</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</A> <b>then</b> + <b>if</b> <a href="terminal_interface-curses-panels__adb.htm#ref_145_16">Panel_Hidden</a> (<a href="terminal_interface-curses-panels__ads.htm#ref_124_24">Pan</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</a> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_124_13">Is_Hidden</A>; + <b>end</b> <a href="terminal_interface-curses-panels__ads.htm#ref_124_13">Is_Hidden</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_155_14" HREF="terminal_interface-curses-panels__ads.htm#ref_139_14">Delete</A></span> (<span class="symbol"><A NAME="ref_155_22" HREF="terminal_interface-curses-panels__ads.htm#ref_139_22">Pan</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) + <b>procedure</b> <span class="symbol"><a name="ref_155_14" href="terminal_interface-curses-panels__ads.htm#ref_139_14">Delete</a></span> (<span class="symbol"><a name="ref_155_22" href="terminal_interface-curses-panels__ads.htm#ref_139_22">Pan</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_157_16">Del_Panel</A></span> (<span class="symbol"><A NAME="ref_157_27" HREF="terminal_interface-curses-panels__adb.htm#ref_157_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_157_16">Del_Panel</a></span> (<span class="symbol"><a name="ref_157_27">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Del_Panel, "del_panel"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_157_16">Del_Panel</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_139_22">Pan</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-panels__adb.htm#ref_157_16">Del_Panel</a> (<a href="terminal_interface-curses-panels__ads.htm#ref_139_22">Pan</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</a>; <b>end</b> <b>if</b>; - <A HREF="terminal_interface-curses-panels__ads.htm#ref_139_22">Pan</A> := <A HREF="terminal_interface-curses-panels__ads.htm#ref_54_4">Null_Panel</A>; - <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_139_14">Delete</A>; + <a href="terminal_interface-curses-panels__ads.htm#ref_139_22">Pan</a> := <a href="terminal_interface-curses-panels__ads.htm#ref_54_4">Null_Panel</a>; + <b>end</b> <a href="terminal_interface-curses-panels__ads.htm#ref_139_14">Delete</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-panels__ads.htm b/doc/html/ada/terminal_interface-curses-panels__ads.htm index 7879fb0c9e8d..4cc3178d5811 100644 --- a/doc/html/ada/terminal_interface-curses-panels__ads.htm +++ b/doc/html/ada/terminal_interface-curses-panels__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-panels.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-panels.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,155 +11,155 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-panels.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Panels --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1998-2009,2014 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.23 @</EM></span> -<span class="comment"><EM>-- @Date: 2020/02/02 23:34:34 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-panels.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Panels --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1998-2009,2014 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.23 @</em></span> +<span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>with</b> System; -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<span class="symbol"><A NAME="ref_45_35" HREF="terminal_interface-curses-panels__adb.htm#ref_46_40">Panels</A></span> <b>is</b> - <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</A>); - <b>pragma</b> Linker_Options ("-lpanel" & <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_9_4">DFT_ARG_SUFFIX</A>); +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_45_35" href="terminal_interface-curses-panels__adb.htm#ref_46_40">Panels</a></span> <b>is</b> + <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</a>); + <b>pragma</b> Linker_Options ("-lpanel" & <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_9_4">DFT_ARG_SUFFIX</a>); - <b>type</b> <span class="symbol"><A NAME="ref_49_9">Panel</A></span> <b>is</b> <b>private</b>; + <b>type</b> <span class="symbol"><a name="ref_49_9">Panel</a></span> <b>is</b> <b>private</b>; - <span class="comment"><EM>---------------------------</EM></span> - <span class="comment"><EM>-- Interface constants --</EM></span> - <span class="comment"><EM>---------------------------</EM></span> - <span class="symbol"><A NAME="ref_54_4">Null_Panel</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>; + <span class="comment"><em>---------------------------</em></span> + <span class="comment"><em>-- Interface constants --</em></span> + <span class="comment"><em>---------------------------</em></span> + <span class="symbol"><a name="ref_54_4">Null_Panel</a></span> : <b>constant</b> <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>; - <span class="comment"><EM>-------------------</EM></span> - <span class="comment"><EM>-- Exceptions --</EM></span> - <span class="comment"><EM>-------------------</EM></span> + <span class="comment"><em>-------------------</em></span> + <span class="comment"><em>-- Exceptions --</em></span> + <span class="comment"><em>-------------------</em></span> - <span class="symbol"><A NAME="ref_60_4">Panel_Exception</A></span> : <b>exception</b>; + <span class="symbol"><a name="ref_60_4">Panel_Exception</a></span> : <b>exception</b>; - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/panel.3x.html">panel.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/panel.3x.html">panel.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> - <span class="comment"><EM>-- <A NAME="AFU_1">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_67_13" HREF="terminal_interface-curses-panels__adb.htm#ref_50_13">Create</A></span> (<span class="symbol"><A NAME="ref_67_21" HREF="terminal_interface-curses-panels__adb.htm#ref_50_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">new_panel()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_1">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_67_13" href="terminal_interface-curses-panels__adb.htm#ref_50_13">Create</a></span> (<span class="symbol"><a name="ref_67_21" href="terminal_interface-curses-panels__adb.htm#ref_50_21">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/panel.3x.html">new_panel()</A></em></span> <b>pragma</b> Inline (Create); - <span class="comment"><EM>-- <A NAME="AFU_2">|</A></EM></span> - <b>function</b> New_Panel (<span class="symbol"><A NAME="ref_72_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A> <b>renames</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_67_13">Create</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">new_panel()</A></EM></span> - <span class="comment"><EM>-- pragma Inline (New_Panel);</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_3">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_77_14" HREF="terminal_interface-curses-panels__adb.htm#ref_64_14">Bottom</A></span> (<span class="symbol"><A NAME="ref_77_22" HREF="terminal_interface-curses-panels__adb.htm#ref_64_22">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">bottom_panel()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_77_14">Bottom</A>); - - <span class="comment"><EM>-- <A NAME="AFU_4">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_82_14" HREF="terminal_interface-curses-panels__adb.htm#ref_74_14">Top</A></span> (<span class="symbol"><A NAME="ref_82_19" HREF="terminal_interface-curses-panels__adb.htm#ref_74_19">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">top_panel()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_82_14">Top</A>); - - <span class="comment"><EM>-- <A NAME="AFU_5">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_87_14" HREF="terminal_interface-curses-panels__adb.htm#ref_84_14">Show</A></span> (<span class="symbol"><A NAME="ref_87_20" HREF="terminal_interface-curses-panels__adb.htm#ref_84_20">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">show_panel()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_87_14">Show</A>); - - <span class="comment"><EM>-- <A NAME="AFU_6">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_92_14">Update_Panels</A></span>; - <span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">update_panels()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_2">|</A></em></span> + <b>function</b> New_Panel (<span class="symbol"><a name="ref_72_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a> <b>renames</b> <a href="terminal_interface-curses-panels__ads.htm#ref_67_13">Create</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/panel.3x.html">new_panel()</A></em></span> + <span class="comment"><em>-- pragma Inline (New_Panel);</em></span> + + <span class="comment"><em>-- <A NAME="AFU_3">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_77_14" href="terminal_interface-curses-panels__adb.htm#ref_64_14">Bottom</a></span> (<span class="symbol"><a name="ref_77_22" href="terminal_interface-curses-panels__adb.htm#ref_64_22">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/panel.3x.html">bottom_panel()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-panels__ads.htm#ref_77_14">Bottom</a>); + + <span class="comment"><em>-- <A NAME="AFU_4">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_82_14" href="terminal_interface-curses-panels__adb.htm#ref_74_14">Top</a></span> (<span class="symbol"><a name="ref_82_19" href="terminal_interface-curses-panels__adb.htm#ref_74_19">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/panel.3x.html">top_panel()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-panels__ads.htm#ref_82_14">Top</a>); + + <span class="comment"><em>-- <A NAME="AFU_5">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_87_14" href="terminal_interface-curses-panels__adb.htm#ref_84_14">Show</a></span> (<span class="symbol"><a name="ref_87_20" href="terminal_interface-curses-panels__adb.htm#ref_84_20">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/panel.3x.html">show_panel()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-panels__ads.htm#ref_87_14">Show</a>); + + <span class="comment"><em>-- <A NAME="AFU_6">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_92_14">Update_Panels</a></span>; + <span class="comment"><em>-- AKA: <A HREF="../man/panel.3x.html">update_panels()</A></em></span> <b>pragma</b> Import (C, Update_Panels, "update_panels"); - <span class="comment"><EM>-- <A NAME="AFU_7">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_97_14" HREF="terminal_interface-curses-panels__adb.htm#ref_94_14">Hide</A></span> (<span class="symbol"><A NAME="ref_97_20" HREF="terminal_interface-curses-panels__adb.htm#ref_94_20">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">hide_panel()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_97_14">Hide</A>); - - <span class="comment"><EM>-- <A NAME="AFU_8">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_102_13" HREF="terminal_interface-curses-panels__adb.htm#ref_104_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_102_25" HREF="terminal_interface-curses-panels__adb.htm#ref_104_25">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">panel_window()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_102_13">Get_Window</A>); - - <span class="comment"><EM>-- <A NAME="AFU_9">|</A></EM></span> - <b>function</b> Panel_Window (<span class="symbol"><A NAME="ref_107_27">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> <b>renames</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_102_13">Get_Window</A>; - <span class="comment"><EM>-- pragma Inline (Panel_Window);</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_10">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_111_14" HREF="terminal_interface-curses-panels__adb.htm#ref_117_14">Replace</A></span> (<span class="symbol"><A NAME="ref_111_23" HREF="terminal_interface-curses-panels__adb.htm#ref_117_23">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>; - <span class="symbol"><A NAME="ref_112_23" HREF="terminal_interface-curses-panels__adb.htm#ref_118_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">replace_panel()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_111_14">Replace</A>); - - <span class="comment"><EM>-- <A NAME="AFU_11">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_117_14" HREF="terminal_interface-curses-panels__adb.htm#ref_129_14">Move</A></span> (<span class="symbol"><A NAME="ref_117_20" HREF="terminal_interface-curses-panels__adb.htm#ref_129_20">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>; - <span class="symbol"><A NAME="ref_118_20" HREF="terminal_interface-curses-panels__adb.htm#ref_130_20">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_119_20" HREF="terminal_interface-curses-panels__adb.htm#ref_131_20">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">move_panel()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_117_14">Move</A>); - - <span class="comment"><EM>-- <A NAME="AFU_12">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_124_13" HREF="terminal_interface-curses-panels__adb.htm#ref_143_13">Is_Hidden</A></span> (<span class="symbol"><A NAME="ref_124_24" HREF="terminal_interface-curses-panels__adb.htm#ref_143_24">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> Boolean; - <span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">panel_hidden()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_124_13">Is_Hidden</A>); - - <span class="comment"><EM>-- <A NAME="AFU_13">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_129_13">Above</A></span> (<span class="symbol"><A NAME="ref_129_20" HREF="terminal_interface-curses-panels__ads.htm#ref_129_13">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">panel_above()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_7">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_97_14" href="terminal_interface-curses-panels__adb.htm#ref_94_14">Hide</a></span> (<span class="symbol"><a name="ref_97_20" href="terminal_interface-curses-panels__adb.htm#ref_94_20">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/panel.3x.html">hide_panel()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-panels__ads.htm#ref_97_14">Hide</a>); + + <span class="comment"><em>-- <A NAME="AFU_8">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_102_13" href="terminal_interface-curses-panels__adb.htm#ref_104_13">Get_Window</a></span> (<span class="symbol"><a name="ref_102_25" href="terminal_interface-curses-panels__adb.htm#ref_104_25">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/panel.3x.html">panel_window()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-panels__ads.htm#ref_102_13">Get_Window</a>); + + <span class="comment"><em>-- <A NAME="AFU_9">|</A></em></span> + <b>function</b> Panel_Window (<span class="symbol"><a name="ref_107_27">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> <b>renames</b> <a href="terminal_interface-curses-panels__ads.htm#ref_102_13">Get_Window</a>; + <span class="comment"><em>-- pragma Inline (Panel_Window);</em></span> + + <span class="comment"><em>-- <A NAME="AFU_10">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_111_14" href="terminal_interface-curses-panels__adb.htm#ref_117_14">Replace</a></span> (<span class="symbol"><a name="ref_111_23" href="terminal_interface-curses-panels__adb.htm#ref_117_23">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>; + <span class="symbol"><a name="ref_112_23" href="terminal_interface-curses-panels__adb.htm#ref_118_23">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/panel.3x.html">replace_panel()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-panels__ads.htm#ref_111_14">Replace</a>); + + <span class="comment"><em>-- <A NAME="AFU_11">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_117_14" href="terminal_interface-curses-panels__adb.htm#ref_129_14">Move</a></span> (<span class="symbol"><a name="ref_117_20" href="terminal_interface-curses-panels__adb.htm#ref_129_20">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>; + <span class="symbol"><a name="ref_118_20" href="terminal_interface-curses-panels__adb.htm#ref_130_20">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_119_20" href="terminal_interface-curses-panels__adb.htm#ref_131_20">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/panel.3x.html">move_panel()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-panels__ads.htm#ref_117_14">Move</a>); + + <span class="comment"><em>-- <A NAME="AFU_12">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_124_13" href="terminal_interface-curses-panels__adb.htm#ref_143_13">Is_Hidden</a></span> (<span class="symbol"><a name="ref_124_24" href="terminal_interface-curses-panels__adb.htm#ref_143_24">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> Boolean; + <span class="comment"><em>-- AKA: <A HREF="../man/panel.3x.html">panel_hidden()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses-panels__ads.htm#ref_124_13">Is_Hidden</a>); + + <span class="comment"><em>-- <A NAME="AFU_13">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_129_13">Above</a></span> (<span class="symbol"><a name="ref_129_20">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/panel.3x.html">panel_above()</A></em></span> <b>pragma</b> Import (C, Above, "panel_above"); - <span class="comment"><EM>-- <A NAME="AFU_14">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_134_13">Below</A></span> (<span class="symbol"><A NAME="ref_134_20" HREF="terminal_interface-curses-panels__ads.htm#ref_134_13">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">panel_below()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_14">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_134_13">Below</a></span> (<span class="symbol"><a name="ref_134_20">Pan</a></span> : <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>) <b>return</b> <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/panel.3x.html">panel_below()</A></em></span> <b>pragma</b> Import (C, Below, "panel_below"); - <span class="comment"><EM>-- <A NAME="AFU_15">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_139_14" HREF="terminal_interface-curses-panels__adb.htm#ref_155_14">Delete</A></span> (<span class="symbol"><A NAME="ref_139_22" HREF="terminal_interface-curses-panels__adb.htm#ref_155_22">Pan</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">del_panel()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_15">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_139_14" href="terminal_interface-curses-panels__adb.htm#ref_155_14">Delete</a></span> (<span class="symbol"><a name="ref_139_22" href="terminal_interface-curses-panels__adb.htm#ref_155_22">Pan</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/panel.3x.html">del_panel()</A></em></span> <b>pragma</b> Inline (Delete); <b>private</b> - <b>type</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address; - <A HREF="terminal_interface-curses-panels__ads.htm#ref_54_4">Null_Panel</A> : <b>constant</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A> := 0; + <b>type</b> <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address; + <a href="terminal_interface-curses-panels__ads.htm#ref_54_4">Null_Panel</a> : <b>constant</b> <a href="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</a> := 0; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-panels__ads.htm#ref_45_35">Panels</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-putwin__adb.htm b/doc/html/ada/terminal_interface-curses-putwin__adb.htm index 32f6411ae986..4e5073d601e5 100644 --- a/doc/html/ada/terminal_interface-curses-putwin__adb.htm +++ b/doc/html/ada/terminal_interface-curses-putwin__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-putwin.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-putwin.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,86 +11,86 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-putwin.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.PutWin --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 2000-2002,2003 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.5 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-putwin.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.PutWin --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 2000-2002,2003 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.5 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> <b>with</b> Ada.Streams.Stream_IO.C_Streams; -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C_Streams; -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C_Streams; +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<span class="symbol"><A NAME="ref_46_40" HREF="terminal_interface-curses-putwin__ads.htm#ref_44_35">PutWin</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_46_40" href="terminal_interface-curses-putwin__ads.htm#ref_44_35">PutWin</a></span> <b>is</b> - <b>package</b> <span class="symbol"><A NAME="ref_48_12">ICS</A></span> <b>renames</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C_Streams; - <b>package</b> <span class="symbol"><A NAME="ref_49_12">ACS</A></span> <b>renames</b> Ada.Streams.Stream_IO.C_Streams; - <b>use</b> <b>type</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>package</b> <span class="symbol"><a name="ref_48_12">ICS</a></span> <b>renames</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C_Streams; + <b>package</b> <span class="symbol"><a name="ref_49_12">ACS</a></span> <b>renames</b> Ada.Streams.Stream_IO.C_Streams; + <b>use</b> <b>type</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_52_14" HREF="terminal_interface-curses-putwin__ads.htm#ref_46_14">Put_Window</A></span> (<span class="symbol"><A NAME="ref_52_26" HREF="terminal_interface-curses-putwin__ads.htm#ref_46_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_53_26" HREF="terminal_interface-curses-putwin__ads.htm#ref_47_26">File</A></span> : Ada.Streams.Stream_IO.File_Type) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_54_16">putwin</A></span> (<span class="symbol"><A NAME="ref_54_24" HREF="terminal_interface-curses-putwin__adb.htm#ref_54_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_54_38" HREF="terminal_interface-curses-putwin__adb.htm#ref_54_16">f</A></span> : <A HREF="terminal_interface-curses-putwin__adb.htm#ref_48_12">ICS</A>.FILEs) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>procedure</b> <span class="symbol"><a name="ref_52_14" href="terminal_interface-curses-putwin__ads.htm#ref_46_14">Put_Window</a></span> (<span class="symbol"><a name="ref_52_26" href="terminal_interface-curses-putwin__ads.htm#ref_46_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_53_26" href="terminal_interface-curses-putwin__ads.htm#ref_47_26">File</a></span> : Ada.Streams.Stream_IO.File_Type) <b>is</b> + <b>function</b> <span class="symbol"><a name="ref_54_16">putwin</a></span> (<span class="symbol"><a name="ref_54_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_54_38">f</a></span> : <a href="terminal_interface-curses-putwin__adb.htm#ref_48_12">ICS</a>.FILEs) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, putwin, "putwin"); - <span class="symbol"><A NAME="ref_57_7">R</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> := <A HREF="terminal_interface-curses-putwin__adb.htm#ref_54_16">putwin</A> (<A HREF="terminal_interface-curses-putwin__ads.htm#ref_46_26">Win</A>, <A HREF="terminal_interface-curses-putwin__adb.htm#ref_49_12">ACS</A>.C_Stream (<A HREF="terminal_interface-curses-putwin__ads.htm#ref_47_26">File</A>)); + <span class="symbol"><a name="ref_57_7">R</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-putwin__adb.htm#ref_54_16">putwin</a> (<a href="terminal_interface-curses-putwin__ads.htm#ref_46_26">Win</a>, <a href="terminal_interface-curses-putwin__adb.htm#ref_49_12">ACS</a>.C_Stream (<a href="terminal_interface-curses-putwin__ads.htm#ref_47_26">File</a>)); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-putwin__adb.htm#ref_57_7">R</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Ok</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-putwin__adb.htm#ref_57_7">R</a> /= <a href="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Ok</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-putwin__ads.htm#ref_46_14">Put_Window</A>; + <b>end</b> <a href="terminal_interface-curses-putwin__ads.htm#ref_46_14">Put_Window</a>; - <b>function</b> <span class="symbol"><A NAME="ref_64_13" HREF="terminal_interface-curses-putwin__ads.htm#ref_49_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_64_25" HREF="terminal_interface-curses-putwin__ads.htm#ref_49_25">File</A></span> : Ada.Streams.Stream_IO.File_Type) - <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_66_16">getwin</A></span> (<span class="symbol"><A NAME="ref_66_24" HREF="terminal_interface-curses-putwin__adb.htm#ref_66_16">f</A></span> : <A HREF="terminal_interface-curses-putwin__adb.htm#ref_48_12">ICS</A>.FILEs) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; + <b>function</b> <span class="symbol"><a name="ref_64_13" href="terminal_interface-curses-putwin__ads.htm#ref_49_13">Get_Window</a></span> (<span class="symbol"><a name="ref_64_25" href="terminal_interface-curses-putwin__ads.htm#ref_49_25">File</a></span> : Ada.Streams.Stream_IO.File_Type) + <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> <b>is</b> + <b>function</b> <span class="symbol"><a name="ref_66_16">getwin</a></span> (<span class="symbol"><a name="ref_66_24">f</a></span> : <a href="terminal_interface-curses-putwin__adb.htm#ref_48_12">ICS</a>.FILEs) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <b>pragma</b> Import (C, getwin, "getwin"); - <span class="symbol"><A NAME="ref_69_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses-putwin__adb.htm#ref_66_16">getwin</A> (<A HREF="terminal_interface-curses-putwin__adb.htm#ref_49_12">ACS</A>.C_Stream (<A HREF="terminal_interface-curses-putwin__ads.htm#ref_49_25">File</A>)); + <span class="symbol"><a name="ref_69_7">W</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses-putwin__adb.htm#ref_66_16">getwin</a> (<a href="terminal_interface-curses-putwin__adb.htm#ref_49_12">ACS</a>.C_Stream (<a href="terminal_interface-curses-putwin__ads.htm#ref_49_25">File</a>)); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-putwin__adb.htm#ref_69_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-putwin__adb.htm#ref_69_7">W</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>else</b> - <b>return</b> <A HREF="terminal_interface-curses-putwin__adb.htm#ref_69_7">W</A>; + <b>return</b> <a href="terminal_interface-curses-putwin__adb.htm#ref_69_7">W</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-putwin__ads.htm#ref_49_13">Get_Window</A>; + <b>end</b> <a href="terminal_interface-curses-putwin__ads.htm#ref_49_13">Get_Window</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-putwin__ads.htm#ref_44_35">PutWin</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-putwin__ads.htm#ref_44_35">PutWin</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-putwin__ads.htm b/doc/html/ada/terminal_interface-curses-putwin__ads.htm index 9246fedcb393..91f26451b6cb 100644 --- a/doc/html/ada/terminal_interface-curses-putwin__ads.htm +++ b/doc/html/ada/terminal_interface-curses-putwin__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-putwin.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-putwin.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,59 +11,59 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-putwin.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.PutWin --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 2000-2002,2003 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.5 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-putwin.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.PutWin --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 2000-2002,2003 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.5 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> <b>with</b> Ada.Streams.Stream_IO; -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<span class="symbol"><A NAME="ref_44_35" HREF="terminal_interface-curses-putwin__adb.htm#ref_46_40">PutWin</A></span> <b>is</b> +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_44_35" href="terminal_interface-curses-putwin__adb.htm#ref_46_40">PutWin</a></span> <b>is</b> - <b>procedure</b> <span class="symbol"><A NAME="ref_46_14" HREF="terminal_interface-curses-putwin__adb.htm#ref_52_14">Put_Window</A></span> (<span class="symbol"><A NAME="ref_46_26" HREF="terminal_interface-curses-putwin__adb.htm#ref_52_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_47_26" HREF="terminal_interface-curses-putwin__adb.htm#ref_53_26">File</A></span> : Ada.Streams.Stream_IO.File_Type); + <b>procedure</b> <span class="symbol"><a name="ref_46_14" href="terminal_interface-curses-putwin__adb.htm#ref_52_14">Put_Window</a></span> (<span class="symbol"><a name="ref_46_26" href="terminal_interface-curses-putwin__adb.htm#ref_52_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_47_26" href="terminal_interface-curses-putwin__adb.htm#ref_53_26">File</a></span> : Ada.Streams.Stream_IO.File_Type); - <b>function</b> <span class="symbol"><A NAME="ref_49_13" HREF="terminal_interface-curses-putwin__adb.htm#ref_64_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_49_25" HREF="terminal_interface-curses-putwin__adb.htm#ref_64_25">File</A></span> : Ada.Streams.Stream_IO.File_Type) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; + <b>function</b> <span class="symbol"><a name="ref_49_13" href="terminal_interface-curses-putwin__adb.htm#ref_64_13">Get_Window</a></span> (<span class="symbol"><a name="ref_49_25" href="terminal_interface-curses-putwin__adb.htm#ref_64_25">File</a></span> : Ada.Streams.Stream_IO.File_Type) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-putwin__ads.htm#ref_44_35">PutWin</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-putwin__ads.htm#ref_44_35">PutWin</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-termcap__adb.htm b/doc/html/ada/terminal_interface-curses-termcap__adb.htm index b6cf8933f4de..cef7daf3f1d3 100644 --- a/doc/html/ada/terminal_interface-curses-termcap__adb.htm +++ b/doc/html/ada/terminal_interface-curses-termcap__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-termcap.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-termcap.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,172 +11,172 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-termcap.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Termcap --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 2000-2006,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.13 @</EM></span> -<span class="comment"><EM>-- @Date: 2020/02/02 23:34:34 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-termcap.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Termcap --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 2000-2006,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.13 @</em></span> +<span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings; +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<span class="symbol"><A NAME="ref_48_40" HREF="terminal_interface-curses-termcap__ads.htm#ref_43_35">Termcap</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_48_40" href="terminal_interface-curses-termcap__ads.htm#ref_43_35">Termcap</a></span> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_50_13" HREF="terminal_interface-curses-termcap__ads.htm#ref_60_13">Get_Entry</A></span> (<span class="symbol"><A NAME="ref_50_24" HREF="terminal_interface-curses-termcap__ads.htm#ref_60_24">Name</A></span> : String) <b>return</b> Boolean + <b>function</b> <span class="symbol"><a name="ref_50_13" href="terminal_interface-curses-termcap__ads.htm#ref_60_13">Get_Entry</a></span> (<span class="symbol"><a name="ref_50_24" href="terminal_interface-curses-termcap__ads.htm#ref_60_24">Name</a></span> : String) <b>return</b> Boolean <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_52_16">tgetent</A></span> (<span class="symbol"><A NAME="ref_52_25" HREF="terminal_interface-curses-termcap__adb.htm#ref_52_16">name</A></span> : char_array; <span class="symbol"><A NAME="ref_52_44" HREF="terminal_interface-curses-termcap__adb.htm#ref_52_16">val</A></span> : char_array) - <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_52_16">tgetent</a></span> (<span class="symbol"><a name="ref_52_25">name</a></span> : char_array; <span class="symbol"><a name="ref_52_44">val</a></span> : char_array) + <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, tgetent, "tgetent"); - <span class="symbol"><A NAME="ref_55_7">NameTxt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-termcap__ads.htm#ref_60_24">Name</A>'Length); - <span class="symbol"><A NAME="ref_56_7">Length</A></span> : size_t; - <span class="symbol"><A NAME="ref_57_7">ignored</A></span> : <b>constant</b> char_array (0 .. 0) := (0 => nul); - <span class="symbol"><A NAME="ref_58_7">result</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <span class="symbol"><a name="ref_55_7">NameTxt</a></span> : char_array (0 .. <a href="terminal_interface-curses-termcap__ads.htm#ref_60_24">Name</a>'Length); + <span class="symbol"><a name="ref_56_7">Length</a></span> : size_t; + <span class="symbol"><a name="ref_57_7">ignored</a></span> : <b>constant</b> char_array (0 .. 0) := (0 => nul); + <span class="symbol"><a name="ref_58_7">result</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>begin</b> - To_C (<A HREF="terminal_interface-curses-termcap__ads.htm#ref_60_24">Name</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_55_7">NameTxt</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_56_7">Length</A>); - <A HREF="terminal_interface-curses-termcap__adb.htm#ref_58_7">result</A> := <A HREF="terminal_interface-curses-termcap__adb.htm#ref_52_16">tgetent</A> (char_array (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_57_7">ignored</A>), <A HREF="terminal_interface-curses-termcap__adb.htm#ref_55_7">NameTxt</A>); - <b>if</b> <A HREF="terminal_interface-curses-termcap__adb.htm#ref_58_7">result</A> = -1 <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + To_C (<a href="terminal_interface-curses-termcap__ads.htm#ref_60_24">Name</a>, <a href="terminal_interface-curses-termcap__adb.htm#ref_55_7">NameTxt</a>, <a href="terminal_interface-curses-termcap__adb.htm#ref_56_7">Length</a>); + <a href="terminal_interface-curses-termcap__adb.htm#ref_58_7">result</a> := <a href="terminal_interface-curses-termcap__adb.htm#ref_52_16">tgetent</a> (char_array (<a href="terminal_interface-curses-termcap__adb.htm#ref_57_7">ignored</a>), <a href="terminal_interface-curses-termcap__adb.htm#ref_55_7">NameTxt</a>); + <b>if</b> <a href="terminal_interface-curses-termcap__adb.htm#ref_58_7">result</a> = -1 <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>else</b> - <b>return</b> Boolean'Val (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_58_7">result</A>); + <b>return</b> Boolean'Val (<a href="terminal_interface-curses-termcap__adb.htm#ref_58_7">result</a>); <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-termcap__ads.htm#ref_60_13">Get_Entry</A>; + <b>end</b> <a href="terminal_interface-curses-termcap__ads.htm#ref_60_13">Get_Entry</a>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_70_13" HREF="terminal_interface-curses-termcap__ads.htm#ref_64_13">Get_Flag</A></span> (<span class="symbol"><A NAME="ref_70_23" HREF="terminal_interface-curses-termcap__ads.htm#ref_64_23">Name</A></span> : String) <b>return</b> Boolean +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>function</b> <span class="symbol"><a name="ref_70_13" href="terminal_interface-curses-termcap__ads.htm#ref_64_13">Get_Flag</a></span> (<span class="symbol"><a name="ref_70_23" href="terminal_interface-curses-termcap__ads.htm#ref_64_23">Name</a></span> : String) <b>return</b> Boolean <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_72_16">tgetflag</A></span> (<span class="symbol"><A NAME="ref_72_26" HREF="terminal_interface-curses-termcap__adb.htm#ref_72_16">id</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_72_16">tgetflag</a></span> (<span class="symbol"><a name="ref_72_26">id</a></span> : char_array) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, tgetflag, "tgetflag"); - <span class="symbol"><A NAME="ref_74_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-termcap__ads.htm#ref_64_23">Name</A>'Length); - <span class="symbol"><A NAME="ref_75_7">Length</A></span> : size_t; + <span class="symbol"><a name="ref_74_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses-termcap__ads.htm#ref_64_23">Name</a>'Length); + <span class="symbol"><a name="ref_75_7">Length</a></span> : size_t; <b>begin</b> - To_C (<A HREF="terminal_interface-curses-termcap__ads.htm#ref_64_23">Name</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_74_7">Txt</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_75_7">Length</A>); - <b>if</b> <A HREF="terminal_interface-curses-termcap__adb.htm#ref_72_16">tgetflag</A> (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_74_7">Txt</A>) = 0 <b>then</b> + To_C (<a href="terminal_interface-curses-termcap__ads.htm#ref_64_23">Name</a>, <a href="terminal_interface-curses-termcap__adb.htm#ref_74_7">Txt</a>, <a href="terminal_interface-curses-termcap__adb.htm#ref_75_7">Length</a>); + <b>if</b> <a href="terminal_interface-curses-termcap__adb.htm#ref_72_16">tgetflag</a> (<a href="terminal_interface-curses-termcap__adb.htm#ref_74_7">Txt</a>) = 0 <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-termcap__ads.htm#ref_64_13">Get_Flag</A>; + <b>end</b> <a href="terminal_interface-curses-termcap__ads.htm#ref_64_13">Get_Flag</a>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_86_14" HREF="terminal_interface-curses-termcap__ads.htm#ref_68_14">Get_Number</A></span> (<span class="symbol"><A NAME="ref_86_26" HREF="terminal_interface-curses-termcap__ads.htm#ref_68_26">Name</A></span> : String; - <span class="symbol"><A NAME="ref_87_26" HREF="terminal_interface-curses-termcap__ads.htm#ref_69_26">Value</A></span> : <b>out</b> Integer; - <span class="symbol"><A NAME="ref_88_26" HREF="terminal_interface-curses-termcap__ads.htm#ref_70_26">Result</A></span> : <b>out</b> Boolean) +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_86_14" href="terminal_interface-curses-termcap__ads.htm#ref_68_14">Get_Number</a></span> (<span class="symbol"><a name="ref_86_26" href="terminal_interface-curses-termcap__ads.htm#ref_68_26">Name</a></span> : String; + <span class="symbol"><a name="ref_87_26" href="terminal_interface-curses-termcap__ads.htm#ref_69_26">Value</a></span> : <b>out</b> Integer; + <span class="symbol"><a name="ref_88_26" href="terminal_interface-curses-termcap__ads.htm#ref_70_26">Result</a></span> : <b>out</b> Boolean) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_90_16">tgetnum</A></span> (<span class="symbol"><A NAME="ref_90_25" HREF="terminal_interface-curses-termcap__adb.htm#ref_90_16">id</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_90_16">tgetnum</a></span> (<span class="symbol"><a name="ref_90_25">id</a></span> : char_array) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, tgetnum, "tgetnum"); - <span class="symbol"><A NAME="ref_92_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-termcap__ads.htm#ref_68_26">Name</A>'Length); - <span class="symbol"><A NAME="ref_93_7">Length</A></span> : size_t; + <span class="symbol"><a name="ref_92_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses-termcap__ads.htm#ref_68_26">Name</a>'Length); + <span class="symbol"><a name="ref_93_7">Length</a></span> : size_t; <b>begin</b> - To_C (<A HREF="terminal_interface-curses-termcap__ads.htm#ref_68_26">Name</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_92_7">Txt</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_93_7">Length</A>); - <A HREF="terminal_interface-curses-termcap__ads.htm#ref_69_26">Value</A> := Integer (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_90_16">tgetnum</A> (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_92_7">Txt</A>)); - <b>if</b> <A HREF="terminal_interface-curses-termcap__ads.htm#ref_69_26">Value</A> = -1 <b>then</b> - <A HREF="terminal_interface-curses-termcap__ads.htm#ref_70_26">Result</A> := False; + To_C (<a href="terminal_interface-curses-termcap__ads.htm#ref_68_26">Name</a>, <a href="terminal_interface-curses-termcap__adb.htm#ref_92_7">Txt</a>, <a href="terminal_interface-curses-termcap__adb.htm#ref_93_7">Length</a>); + <a href="terminal_interface-curses-termcap__ads.htm#ref_69_26">Value</a> := Integer (<a href="terminal_interface-curses-termcap__adb.htm#ref_90_16">tgetnum</a> (<a href="terminal_interface-curses-termcap__adb.htm#ref_92_7">Txt</a>)); + <b>if</b> <a href="terminal_interface-curses-termcap__ads.htm#ref_69_26">Value</a> = -1 <b>then</b> + <a href="terminal_interface-curses-termcap__ads.htm#ref_70_26">Result</a> := False; <b>else</b> - <A HREF="terminal_interface-curses-termcap__ads.htm#ref_70_26">Result</A> := True; + <a href="terminal_interface-curses-termcap__ads.htm#ref_70_26">Result</a> := True; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-termcap__ads.htm#ref_68_14">Get_Number</A>; + <b>end</b> <a href="terminal_interface-curses-termcap__ads.htm#ref_68_14">Get_Number</a>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_105_14" HREF="terminal_interface-curses-termcap__ads.htm#ref_74_14">Get_String</A></span> (<span class="symbol"><A NAME="ref_105_26" HREF="terminal_interface-curses-termcap__ads.htm#ref_74_26">Name</A></span> : String; - <span class="symbol"><A NAME="ref_106_26" HREF="terminal_interface-curses-termcap__ads.htm#ref_75_26">Value</A></span> : <b>out</b> String; - <span class="symbol"><A NAME="ref_107_26" HREF="terminal_interface-curses-termcap__ads.htm#ref_76_26">Result</A></span> : <b>out</b> Boolean) +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_105_14" href="terminal_interface-curses-termcap__ads.htm#ref_74_14">Get_String</a></span> (<span class="symbol"><a name="ref_105_26" href="terminal_interface-curses-termcap__ads.htm#ref_74_26">Name</a></span> : String; + <span class="symbol"><a name="ref_106_26" href="terminal_interface-curses-termcap__ads.htm#ref_75_26">Value</a></span> : <b>out</b> String; + <span class="symbol"><a name="ref_107_26" href="terminal_interface-curses-termcap__ads.htm#ref_76_26">Result</a></span> : <b>out</b> Boolean) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_109_16">tgetstr</A></span> (<span class="symbol"><A NAME="ref_109_25" HREF="terminal_interface-curses-termcap__adb.htm#ref_109_16">id</A></span> : char_array; - <span class="symbol"><A NAME="ref_110_25" HREF="terminal_interface-curses-termcap__adb.htm#ref_109_16">buf</A></span> : char_array) <b>return</b> chars_ptr; + <b>function</b> <span class="symbol"><a name="ref_109_16">tgetstr</a></span> (<span class="symbol"><a name="ref_109_25">id</a></span> : char_array; + <span class="symbol"><a name="ref_110_25">buf</a></span> : char_array) <b>return</b> chars_ptr; <b>pragma</b> Import (C, tgetstr, "tgetstr"); - <span class="symbol"><A NAME="ref_112_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-termcap__ads.htm#ref_74_26">Name</A>'Length); - <span class="symbol"><A NAME="ref_113_7">Length</A></span> : size_t; - <span class="symbol"><A NAME="ref_114_7">Txt2</A></span> : chars_ptr; - <b>type</b> t <b>is</b> <b>new</b> char_array (0 .. 1024); <span class="comment"><EM>-- does it need to be 1024?</EM></span> - <span class="symbol"><A NAME="ref_116_7">Return_Buffer</A></span> : <b>constant</b> t := (<b>others</b> => nul); + <span class="symbol"><a name="ref_112_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses-termcap__ads.htm#ref_74_26">Name</a>'Length); + <span class="symbol"><a name="ref_113_7">Length</a></span> : size_t; + <span class="symbol"><a name="ref_114_7">Txt2</a></span> : chars_ptr; + <b>type</b> t <b>is</b> <b>new</b> char_array (0 .. 1024); <span class="comment"><em>-- does it need to be 1024?</em></span> + <span class="symbol"><a name="ref_116_7">Return_Buffer</a></span> : <b>constant</b> t := (<b>others</b> => nul); <b>begin</b> - To_C (<A HREF="terminal_interface-curses-termcap__ads.htm#ref_74_26">Name</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_112_7">Txt</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_113_7">Length</A>); - <A HREF="terminal_interface-curses-termcap__adb.htm#ref_114_7">Txt2</A> := <A HREF="terminal_interface-curses-termcap__adb.htm#ref_109_16">tgetstr</A> (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_112_7">Txt</A>, char_array (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_116_7">Return_Buffer</A>)); - <b>if</b> <A HREF="terminal_interface-curses-termcap__adb.htm#ref_114_7">Txt2</A> = Null_Ptr <b>then</b> - <A HREF="terminal_interface-curses-termcap__ads.htm#ref_76_26">Result</A> := False; + To_C (<a href="terminal_interface-curses-termcap__ads.htm#ref_74_26">Name</a>, <a href="terminal_interface-curses-termcap__adb.htm#ref_112_7">Txt</a>, <a href="terminal_interface-curses-termcap__adb.htm#ref_113_7">Length</a>); + <a href="terminal_interface-curses-termcap__adb.htm#ref_114_7">Txt2</a> := <a href="terminal_interface-curses-termcap__adb.htm#ref_109_16">tgetstr</a> (<a href="terminal_interface-curses-termcap__adb.htm#ref_112_7">Txt</a>, char_array (<a href="terminal_interface-curses-termcap__adb.htm#ref_116_7">Return_Buffer</a>)); + <b>if</b> <a href="terminal_interface-curses-termcap__adb.htm#ref_114_7">Txt2</a> = Null_Ptr <b>then</b> + <a href="terminal_interface-curses-termcap__ads.htm#ref_76_26">Result</a> := False; <b>else</b> - <A HREF="terminal_interface-curses-termcap__ads.htm#ref_75_26">Value</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</A> (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_114_7">Txt2</A>); - <A HREF="terminal_interface-curses-termcap__ads.htm#ref_76_26">Result</A> := True; + <a href="terminal_interface-curses-termcap__ads.htm#ref_75_26">Value</a> := <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses-termcap__adb.htm#ref_114_7">Txt2</a>); + <a href="terminal_interface-curses-termcap__ads.htm#ref_76_26">Result</a> := True; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-termcap__ads.htm#ref_74_14">Get_String</A>; + <b>end</b> <a href="terminal_interface-curses-termcap__ads.htm#ref_74_14">Get_String</a>; - <b>function</b> <span class="symbol"><A NAME="ref_128_13" HREF="terminal_interface-curses-termcap__ads.htm#ref_77_13">Get_String</A></span> (<span class="symbol"><A NAME="ref_128_25" HREF="terminal_interface-curses-termcap__ads.htm#ref_77_25">Name</A></span> : String) <b>return</b> Boolean + <b>function</b> <span class="symbol"><a name="ref_128_13" href="terminal_interface-curses-termcap__ads.htm#ref_77_13">Get_String</a></span> (<span class="symbol"><a name="ref_128_25" href="terminal_interface-curses-termcap__ads.htm#ref_77_25">Name</a></span> : String) <b>return</b> Boolean <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_130_16">tgetstr</A></span> (<span class="symbol"><A NAME="ref_130_25" HREF="terminal_interface-curses-termcap__adb.htm#ref_130_16">Id</A></span> : char_array; - <span class="symbol"><A NAME="ref_131_25" HREF="terminal_interface-curses-termcap__adb.htm#ref_130_16">buf</A></span> : char_array) <b>return</b> chars_ptr; + <b>function</b> <span class="symbol"><a name="ref_130_16">tgetstr</a></span> (<span class="symbol"><a name="ref_130_25">Id</a></span> : char_array; + <span class="symbol"><a name="ref_131_25">buf</a></span> : char_array) <b>return</b> chars_ptr; <b>pragma</b> Import (C, tgetstr, "tgetstr"); - <span class="symbol"><A NAME="ref_133_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-termcap__ads.htm#ref_77_25">Name</A>'Length); - <span class="symbol"><A NAME="ref_134_7">Length</A></span> : size_t; - <span class="symbol"><A NAME="ref_135_7">Txt2</A></span> : chars_ptr; - <b>type</b> t <b>is</b> <b>new</b> char_array (0 .. 1024); <span class="comment"><EM>-- does it need to be 1024?</EM></span> - <span class="symbol"><A NAME="ref_137_7">Phony_Txt</A></span> : <b>constant</b> t := (<b>others</b> => nul); + <span class="symbol"><a name="ref_133_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses-termcap__ads.htm#ref_77_25">Name</a>'Length); + <span class="symbol"><a name="ref_134_7">Length</a></span> : size_t; + <span class="symbol"><a name="ref_135_7">Txt2</a></span> : chars_ptr; + <b>type</b> t <b>is</b> <b>new</b> char_array (0 .. 1024); <span class="comment"><em>-- does it need to be 1024?</em></span> + <span class="symbol"><a name="ref_137_7">Phony_Txt</a></span> : <b>constant</b> t := (<b>others</b> => nul); <b>begin</b> - To_C (<A HREF="terminal_interface-curses-termcap__ads.htm#ref_77_25">Name</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_133_7">Txt</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_134_7">Length</A>); - <A HREF="terminal_interface-curses-termcap__adb.htm#ref_135_7">Txt2</A> := <A HREF="terminal_interface-curses-termcap__adb.htm#ref_130_16">tgetstr</A> (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_133_7">Txt</A>, char_array (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_137_7">Phony_Txt</A>)); - <b>if</b> <A HREF="terminal_interface-curses-termcap__adb.htm#ref_135_7">Txt2</A> = Null_Ptr <b>then</b> + To_C (<a href="terminal_interface-curses-termcap__ads.htm#ref_77_25">Name</a>, <a href="terminal_interface-curses-termcap__adb.htm#ref_133_7">Txt</a>, <a href="terminal_interface-curses-termcap__adb.htm#ref_134_7">Length</a>); + <a href="terminal_interface-curses-termcap__adb.htm#ref_135_7">Txt2</a> := <a href="terminal_interface-curses-termcap__adb.htm#ref_130_16">tgetstr</a> (<a href="terminal_interface-curses-termcap__adb.htm#ref_133_7">Txt</a>, char_array (<a href="terminal_interface-curses-termcap__adb.htm#ref_137_7">Phony_Txt</a>)); + <b>if</b> <a href="terminal_interface-curses-termcap__adb.htm#ref_135_7">Txt2</a> = Null_Ptr <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-termcap__ads.htm#ref_77_13">Get_String</A>; + <b>end</b> <a href="terminal_interface-curses-termcap__ads.htm#ref_77_13">Get_String</a>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_149_13" HREF="terminal_interface-curses-termcap__ads.htm#ref_54_13">TGoto</A></span> (<span class="symbol"><A NAME="ref_149_20" HREF="terminal_interface-curses-termcap__ads.htm#ref_54_20">Cap</A></span> : String; - <span class="symbol"><A NAME="ref_150_20" HREF="terminal_interface-curses-termcap__ads.htm#ref_55_20">Col</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_151_20" HREF="terminal_interface-curses-termcap__ads.htm#ref_56_20">Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>) <b>return</b> Termcap_String <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_152_16">tgoto</A></span> (<span class="symbol"><A NAME="ref_152_23" HREF="terminal_interface-curses-termcap__adb.htm#ref_152_16">cap</A></span> : char_array; - <span class="symbol"><A NAME="ref_153_23" HREF="terminal_interface-curses-termcap__adb.htm#ref_152_16">col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_154_23" HREF="terminal_interface-curses-termcap__adb.htm#ref_152_16">row</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> chars_ptr; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>function</b> <span class="symbol"><a name="ref_149_13" href="terminal_interface-curses-termcap__ads.htm#ref_54_13">TGoto</a></span> (<span class="symbol"><a name="ref_149_20" href="terminal_interface-curses-termcap__ads.htm#ref_54_20">Cap</a></span> : String; + <span class="symbol"><a name="ref_150_20" href="terminal_interface-curses-termcap__ads.htm#ref_55_20">Col</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_151_20" href="terminal_interface-curses-termcap__ads.htm#ref_56_20">Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>) <b>return</b> Termcap_String <b>is</b> + <b>function</b> <span class="symbol"><a name="ref_152_16">tgoto</a></span> (<span class="symbol"><a name="ref_152_23">cap</a></span> : char_array; + <span class="symbol"><a name="ref_153_23">col</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_154_23">row</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> chars_ptr; <b>pragma</b> Import (C, tgoto); - <span class="symbol"><A NAME="ref_156_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-termcap__ads.htm#ref_54_20">Cap</A>'Length); - <span class="symbol"><A NAME="ref_157_7">Length</A></span> : size_t; + <span class="symbol"><a name="ref_156_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses-termcap__ads.htm#ref_54_20">Cap</a>'Length); + <span class="symbol"><a name="ref_157_7">Length</a></span> : size_t; <b>begin</b> - To_C (<A HREF="terminal_interface-curses-termcap__ads.htm#ref_54_20">Cap</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_156_7">Txt</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_157_7">Length</A>); - <b>return</b> Termcap_String (<A HREF="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</A> - (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_152_16">tgoto</A> (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_156_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-termcap__ads.htm#ref_55_20">Col</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-termcap__ads.htm#ref_56_20">Row</A>)))); - <b>end</b> <A HREF="terminal_interface-curses-termcap__ads.htm#ref_54_13">TGoto</A>; + To_C (<a href="terminal_interface-curses-termcap__ads.htm#ref_54_20">Cap</a>, <a href="terminal_interface-curses-termcap__adb.htm#ref_156_7">Txt</a>, <a href="terminal_interface-curses-termcap__adb.htm#ref_157_7">Length</a>); + <b>return</b> Termcap_String (<a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> + (<a href="terminal_interface-curses-termcap__adb.htm#ref_152_16">tgoto</a> (<a href="terminal_interface-curses-termcap__adb.htm#ref_156_7">Txt</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-termcap__ads.htm#ref_55_20">Col</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-termcap__ads.htm#ref_56_20">Row</a>)))); + <b>end</b> <a href="terminal_interface-curses-termcap__ads.htm#ref_54_13">TGoto</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-termcap__ads.htm#ref_43_35">Termcap</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-termcap__ads.htm#ref_43_35">Termcap</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-termcap__ads.htm b/doc/html/ada/terminal_interface-curses-termcap__ads.htm index d019b91d698f..269ee9ddf0d7 100644 --- a/doc/html/ada/terminal_interface-curses-termcap__ads.htm +++ b/doc/html/ada/terminal_interface-curses-termcap__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-termcap.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-termcap.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,89 +11,89 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-termcap.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Termcap --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 2000-2002,2003 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.5 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-termcap.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Termcap --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 2000-2002,2003 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.5 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<span class="symbol"><A NAME="ref_43_35" HREF="terminal_interface-curses-termcap__adb.htm#ref_48_40">Termcap</A></span> <b>is</b> - <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-termcap__ads.htm#ref_43_35">Termcap</A>); +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_43_35" href="terminal_interface-curses-termcap__adb.htm#ref_48_40">Termcap</a></span> <b>is</b> + <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-termcap__ads.htm#ref_43_35">Termcap</a>); - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page curs_termcap.3x</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- Not implemented: tputs (see curs_terminfo)</EM></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page curs_termcap.3x</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- Not implemented: tputs (see curs_terminfo)</em></span> <b>type</b> Termcap_String <b>is</b> <b>new</b> String; - <span class="comment"><EM>-- |</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_54_13" HREF="terminal_interface-curses-termcap__adb.htm#ref_149_13">TGoto</A></span> (<span class="symbol"><A NAME="ref_54_20" HREF="terminal_interface-curses-termcap__adb.htm#ref_149_20">Cap</A></span> : String; - <span class="symbol"><A NAME="ref_55_20" HREF="terminal_interface-curses-termcap__adb.htm#ref_150_20">Col</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_56_20" HREF="terminal_interface-curses-termcap__adb.htm#ref_151_20">Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>) <b>return</b> Termcap_String; - <span class="comment"><EM>-- AKA: tgoto()</EM></span> + <span class="comment"><em>-- |</em></span> + <b>function</b> <span class="symbol"><a name="ref_54_13" href="terminal_interface-curses-termcap__adb.htm#ref_149_13">TGoto</a></span> (<span class="symbol"><a name="ref_54_20" href="terminal_interface-curses-termcap__adb.htm#ref_149_20">Cap</a></span> : String; + <span class="symbol"><a name="ref_55_20" href="terminal_interface-curses-termcap__adb.htm#ref_150_20">Col</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_56_20" href="terminal_interface-curses-termcap__adb.htm#ref_151_20">Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>) <b>return</b> Termcap_String; + <span class="comment"><em>-- AKA: tgoto()</em></span> - <span class="comment"><EM>-- |</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_60_13" HREF="terminal_interface-curses-termcap__adb.htm#ref_50_13">Get_Entry</A></span> (<span class="symbol"><A NAME="ref_60_24" HREF="terminal_interface-curses-termcap__adb.htm#ref_50_24">Name</A></span> : String) <b>return</b> Boolean; - <span class="comment"><EM>-- AKA: tgetent()</EM></span> + <span class="comment"><em>-- |</em></span> + <b>function</b> <span class="symbol"><a name="ref_60_13" href="terminal_interface-curses-termcap__adb.htm#ref_50_13">Get_Entry</a></span> (<span class="symbol"><a name="ref_60_24" href="terminal_interface-curses-termcap__adb.htm#ref_50_24">Name</a></span> : String) <b>return</b> Boolean; + <span class="comment"><em>-- AKA: tgetent()</em></span> - <span class="comment"><EM>-- |</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_64_13" HREF="terminal_interface-curses-termcap__adb.htm#ref_70_13">Get_Flag</A></span> (<span class="symbol"><A NAME="ref_64_23" HREF="terminal_interface-curses-termcap__adb.htm#ref_70_23">Name</A></span> : String) <b>return</b> Boolean; - <span class="comment"><EM>-- AKA: tgetflag()</EM></span> + <span class="comment"><em>-- |</em></span> + <b>function</b> <span class="symbol"><a name="ref_64_13" href="terminal_interface-curses-termcap__adb.htm#ref_70_13">Get_Flag</a></span> (<span class="symbol"><a name="ref_64_23" href="terminal_interface-curses-termcap__adb.htm#ref_70_23">Name</a></span> : String) <b>return</b> Boolean; + <span class="comment"><em>-- AKA: tgetflag()</em></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_68_14" HREF="terminal_interface-curses-termcap__adb.htm#ref_86_14">Get_Number</A></span> (<span class="symbol"><A NAME="ref_68_26" HREF="terminal_interface-curses-termcap__adb.htm#ref_86_26">Name</A></span> : String; - <span class="symbol"><A NAME="ref_69_26" HREF="terminal_interface-curses-termcap__adb.htm#ref_87_26">Value</A></span> : <b>out</b> Integer; - <span class="symbol"><A NAME="ref_70_26" HREF="terminal_interface-curses-termcap__adb.htm#ref_88_26">Result</A></span> : <b>out</b> Boolean); - <span class="comment"><EM>-- AKA: tgetnum()</EM></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_68_14" href="terminal_interface-curses-termcap__adb.htm#ref_86_14">Get_Number</a></span> (<span class="symbol"><a name="ref_68_26" href="terminal_interface-curses-termcap__adb.htm#ref_86_26">Name</a></span> : String; + <span class="symbol"><a name="ref_69_26" href="terminal_interface-curses-termcap__adb.htm#ref_87_26">Value</a></span> : <b>out</b> Integer; + <span class="symbol"><a name="ref_70_26" href="terminal_interface-curses-termcap__adb.htm#ref_88_26">Result</a></span> : <b>out</b> Boolean); + <span class="comment"><em>-- AKA: tgetnum()</em></span> - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_74_14" HREF="terminal_interface-curses-termcap__adb.htm#ref_105_14">Get_String</A></span> (<span class="symbol"><A NAME="ref_74_26" HREF="terminal_interface-curses-termcap__adb.htm#ref_105_26">Name</A></span> : String; - <span class="symbol"><A NAME="ref_75_26" HREF="terminal_interface-curses-termcap__adb.htm#ref_106_26">Value</A></span> : <b>out</b> String; - <span class="symbol"><A NAME="ref_76_26" HREF="terminal_interface-curses-termcap__adb.htm#ref_107_26">Result</A></span> : <b>out</b> Boolean); - <b>function</b> <span class="symbol"><A NAME="ref_77_13" HREF="terminal_interface-curses-termcap__adb.htm#ref_128_13">Get_String</A></span> (<span class="symbol"><A NAME="ref_77_25" HREF="terminal_interface-curses-termcap__adb.htm#ref_128_25">Name</A></span> : String) <b>return</b> Boolean; - <span class="comment"><EM>-- Returns True if the string is found.</EM></span> - <span class="comment"><EM>-- AKA: tgetstr()</EM></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_74_14" href="terminal_interface-curses-termcap__adb.htm#ref_105_14">Get_String</a></span> (<span class="symbol"><a name="ref_74_26" href="terminal_interface-curses-termcap__adb.htm#ref_105_26">Name</a></span> : String; + <span class="symbol"><a name="ref_75_26" href="terminal_interface-curses-termcap__adb.htm#ref_106_26">Value</a></span> : <b>out</b> String; + <span class="symbol"><a name="ref_76_26" href="terminal_interface-curses-termcap__adb.htm#ref_107_26">Result</a></span> : <b>out</b> Boolean); + <b>function</b> <span class="symbol"><a name="ref_77_13" href="terminal_interface-curses-termcap__adb.htm#ref_128_13">Get_String</a></span> (<span class="symbol"><a name="ref_77_25" href="terminal_interface-curses-termcap__adb.htm#ref_128_25">Name</a></span> : String) <b>return</b> Boolean; + <span class="comment"><em>-- Returns True if the string is found.</em></span> + <span class="comment"><em>-- AKA: tgetstr()</em></span> -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-termcap__ads.htm#ref_43_35">Termcap</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-termcap__ads.htm#ref_43_35">Termcap</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-terminfo__adb.htm b/doc/html/ada/terminal_interface-curses-terminfo__adb.htm index 9b25898c6f5c..c84c2035542f 100644 --- a/doc/html/ada/terminal_interface-curses-terminfo__adb.htm +++ b/doc/html/ada/terminal_interface-curses-terminfo__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-terminfo.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-terminfo.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,170 +11,170 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-terminfo.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Terminfo --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 2000-2006,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.7 @</EM></span> -<span class="comment"><EM>-- @Date: 2020/02/02 23:34:34 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-terminfo.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Terminfo --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 2000-2006,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.7 @</em></span> +<span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings; +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; <b>use</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings; <b>with</b> Ada.Unchecked_Conversion; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<span class="symbol"><A NAME="ref_49_40" HREF="terminal_interface-curses-terminfo__ads.htm#ref_45_35">Terminfo</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_49_40" href="terminal_interface-curses-terminfo__ads.htm#ref_45_35">Terminfo</a></span> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_51_13" HREF="terminal_interface-curses-terminfo__adb.htm#ref_53_13">Is_MinusOne_Pointer</A></span> (<span class="symbol"><A NAME="ref_51_34" HREF="terminal_interface-curses-terminfo__adb.htm#ref_53_34">P</A></span> : chars_ptr) <b>return</b> Boolean; + <b>function</b> <span class="symbol"><a name="ref_51_13" href="terminal_interface-curses-terminfo__adb.htm#ref_53_13">Is_MinusOne_Pointer</a></span> (<span class="symbol"><a name="ref_51_34" href="terminal_interface-curses-terminfo__adb.htm#ref_53_34">P</a></span> : chars_ptr) <b>return</b> Boolean; - <b>function</b> <span class="symbol"><A NAME="ref_53_13" HREF="terminal_interface-curses-terminfo__adb.htm#ref_51_13">Is_MinusOne_Pointer</A></span> (<span class="symbol"><A NAME="ref_53_34" HREF="terminal_interface-curses-terminfo__adb.htm#ref_51_34">P</A></span> : chars_ptr) <b>return</b> Boolean <b>is</b> - <b>type</b> <span class="symbol"><A NAME="ref_54_12">Weird_Address</A></span> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address; - <span class="symbol"><A NAME="ref_55_7">Invalid_Pointer</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_54_12">Weird_Address</A> := -1; + <b>function</b> <span class="symbol"><a name="ref_53_13" href="terminal_interface-curses-terminfo__adb.htm#ref_51_13">Is_MinusOne_Pointer</a></span> (<span class="symbol"><a name="ref_53_34" href="terminal_interface-curses-terminfo__adb.htm#ref_51_34">P</a></span> : chars_ptr) <b>return</b> Boolean <b>is</b> + <b>type</b> <span class="symbol"><a name="ref_54_12">Weird_Address</a></span> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address; + <span class="symbol"><a name="ref_55_7">Invalid_Pointer</a></span> : <b>constant</b> <a href="terminal_interface-curses-terminfo__adb.htm#ref_54_12">Weird_Address</a> := -1; <b>function</b> To_Weird <b>is</b> <b>new</b> Ada.Unchecked_Conversion - (Source => chars_ptr, Target => <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_54_12">Weird_Address</A>); + (Source => chars_ptr, Target => <a href="terminal_interface-curses-terminfo__adb.htm#ref_54_12">Weird_Address</a>); <b>begin</b> - <b>if</b> To_Weird (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_51_34">P</A>) = <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_55_7">Invalid_Pointer</A> <b>then</b> + <b>if</b> To_Weird (<a href="terminal_interface-curses-terminfo__adb.htm#ref_51_34">P</a>) = <a href="terminal_interface-curses-terminfo__adb.htm#ref_55_7">Invalid_Pointer</a> <b>then</b> <b>return</b> True; <b>else</b> <b>return</b> False; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_51_13">Is_MinusOne_Pointer</A>; - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_51_13">Is_MinusOne_Pointer</A>); + <b>end</b> <a href="terminal_interface-curses-terminfo__adb.htm#ref_51_13">Is_MinusOne_Pointer</a>; + <b>pragma</b> Inline (<a href="terminal_interface-curses-terminfo__adb.htm#ref_51_13">Is_MinusOne_Pointer</a>); -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_68_13" HREF="terminal_interface-curses-terminfo__ads.htm#ref_65_13">Get_Flag</A></span> (<span class="symbol"><A NAME="ref_68_23" HREF="terminal_interface-curses-terminfo__ads.htm#ref_65_23">Name</A></span> : String) <b>return</b> Boolean +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>function</b> <span class="symbol"><a name="ref_68_13" href="terminal_interface-curses-terminfo__ads.htm#ref_65_13">Get_Flag</a></span> (<span class="symbol"><a name="ref_68_23" href="terminal_interface-curses-terminfo__ads.htm#ref_65_23">Name</a></span> : String) <b>return</b> Boolean <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_70_16">tigetflag</A></span> (<span class="symbol"><A NAME="ref_70_27" HREF="terminal_interface-curses-terminfo__adb.htm#ref_70_16">id</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>; + <b>function</b> <span class="symbol"><a name="ref_70_16">tigetflag</a></span> (<span class="symbol"><a name="ref_70_27">id</a></span> : char_array) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; <b>pragma</b> Import (C, tigetflag); - <span class="symbol"><A NAME="ref_72_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_65_23">Name</A>'Length); - <span class="symbol"><A NAME="ref_73_7">Length</A></span> : size_t; + <span class="symbol"><a name="ref_72_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses-terminfo__ads.htm#ref_65_23">Name</a>'Length); + <span class="symbol"><a name="ref_73_7">Length</a></span> : size_t; <b>begin</b> - To_C (<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_65_23">Name</A>, <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_72_7">Txt</A>, <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_73_7">Length</A>); - <b>if</b> <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_70_16">tigetflag</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_72_7">Txt</A>) = <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_66_4">Curses_True</A>) <b>then</b> + To_C (<a href="terminal_interface-curses-terminfo__ads.htm#ref_65_23">Name</a>, <a href="terminal_interface-curses-terminfo__adb.htm#ref_72_7">Txt</a>, <a href="terminal_interface-curses-terminfo__adb.htm#ref_73_7">Length</a>); + <b>if</b> <a href="terminal_interface-curses-terminfo__adb.htm#ref_70_16">tigetflag</a> (<a href="terminal_interface-curses-terminfo__adb.htm#ref_72_7">Txt</a>) = <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_66_4">Curses_True</a>) <b>then</b> <b>return</b> True; <b>else</b> <b>return</b> False; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_65_13">Get_Flag</A>; + <b>end</b> <a href="terminal_interface-curses-terminfo__ads.htm#ref_65_13">Get_Flag</a>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_84_14" HREF="terminal_interface-curses-terminfo__ads.htm#ref_58_14">Get_String</A></span> (<span class="symbol"><A NAME="ref_84_26" HREF="terminal_interface-curses-terminfo__ads.htm#ref_58_26">Name</A></span> : String; - <span class="symbol"><A NAME="ref_85_26" HREF="terminal_interface-curses-terminfo__ads.htm#ref_59_26">Value</A></span> : <b>out</b> Terminfo_String; - <span class="symbol"><A NAME="ref_86_26" HREF="terminal_interface-curses-terminfo__ads.htm#ref_60_26">Result</A></span> : <b>out</b> Boolean) +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_84_14" href="terminal_interface-curses-terminfo__ads.htm#ref_58_14">Get_String</a></span> (<span class="symbol"><a name="ref_84_26" href="terminal_interface-curses-terminfo__ads.htm#ref_58_26">Name</a></span> : String; + <span class="symbol"><a name="ref_85_26" href="terminal_interface-curses-terminfo__ads.htm#ref_59_26">Value</a></span> : <b>out</b> Terminfo_String; + <span class="symbol"><a name="ref_86_26" href="terminal_interface-curses-terminfo__ads.htm#ref_60_26">Result</a></span> : <b>out</b> Boolean) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_88_16">tigetstr</A></span> (<span class="symbol"><A NAME="ref_88_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_88_16">id</A></span> : char_array) <b>return</b> chars_ptr; + <b>function</b> <span class="symbol"><a name="ref_88_16">tigetstr</a></span> (<span class="symbol"><a name="ref_88_26">id</a></span> : char_array) <b>return</b> chars_ptr; <b>pragma</b> Import (C, tigetstr, "tigetstr"); - <span class="symbol"><A NAME="ref_90_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_58_26">Name</A>'Length); - <span class="symbol"><A NAME="ref_91_7">Length</A></span> : size_t; - <span class="symbol"><A NAME="ref_92_7">Txt2</A></span> : chars_ptr; + <span class="symbol"><a name="ref_90_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses-terminfo__ads.htm#ref_58_26">Name</a>'Length); + <span class="symbol"><a name="ref_91_7">Length</a></span> : size_t; + <span class="symbol"><a name="ref_92_7">Txt2</a></span> : chars_ptr; <b>begin</b> - To_C (<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_58_26">Name</A>, <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_90_7">Txt</A>, <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_91_7">Length</A>); - <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_92_7">Txt2</A> := <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_88_16">tigetstr</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_90_7">Txt</A>); - <b>if</b> <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_92_7">Txt2</A> = Null_Ptr <b>then</b> - <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_60_26">Result</A> := False; - <b>elsif</b> <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_51_13">Is_MinusOne_Pointer</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_92_7">Txt2</A>) <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + To_C (<a href="terminal_interface-curses-terminfo__ads.htm#ref_58_26">Name</a>, <a href="terminal_interface-curses-terminfo__adb.htm#ref_90_7">Txt</a>, <a href="terminal_interface-curses-terminfo__adb.htm#ref_91_7">Length</a>); + <a href="terminal_interface-curses-terminfo__adb.htm#ref_92_7">Txt2</a> := <a href="terminal_interface-curses-terminfo__adb.htm#ref_88_16">tigetstr</a> (<a href="terminal_interface-curses-terminfo__adb.htm#ref_90_7">Txt</a>); + <b>if</b> <a href="terminal_interface-curses-terminfo__adb.htm#ref_92_7">Txt2</a> = Null_Ptr <b>then</b> + <a href="terminal_interface-curses-terminfo__ads.htm#ref_60_26">Result</a> := False; + <b>elsif</b> <a href="terminal_interface-curses-terminfo__adb.htm#ref_51_13">Is_MinusOne_Pointer</a> (<a href="terminal_interface-curses-terminfo__adb.htm#ref_92_7">Txt2</a>) <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>else</b> - <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_59_26">Value</A> := Terminfo_String (<A HREF="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_92_7">Txt2</A>)); - <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_60_26">Result</A> := True; + <a href="terminal_interface-curses-terminfo__ads.htm#ref_59_26">Value</a> := Terminfo_String (<a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses-terminfo__adb.htm#ref_92_7">Txt2</a>)); + <a href="terminal_interface-curses-terminfo__ads.htm#ref_60_26">Result</a> := True; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_58_14">Get_String</A>; + <b>end</b> <a href="terminal_interface-curses-terminfo__ads.htm#ref_58_14">Get_String</a>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_107_13" HREF="terminal_interface-curses-terminfo__ads.htm#ref_61_13">Has_String</A></span> (<span class="symbol"><A NAME="ref_107_25" HREF="terminal_interface-curses-terminfo__ads.htm#ref_61_25">Name</A></span> : String) <b>return</b> Boolean +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>function</b> <span class="symbol"><a name="ref_107_13" href="terminal_interface-curses-terminfo__ads.htm#ref_61_13">Has_String</a></span> (<span class="symbol"><a name="ref_107_25" href="terminal_interface-curses-terminfo__ads.htm#ref_61_25">Name</a></span> : String) <b>return</b> Boolean <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_109_16">tigetstr</A></span> (<span class="symbol"><A NAME="ref_109_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_109_16">id</A></span> : char_array) <b>return</b> chars_ptr; + <b>function</b> <span class="symbol"><a name="ref_109_16">tigetstr</a></span> (<span class="symbol"><a name="ref_109_26">id</a></span> : char_array) <b>return</b> chars_ptr; <b>pragma</b> Import (C, tigetstr, "tigetstr"); - <span class="symbol"><A NAME="ref_111_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_61_25">Name</A>'Length); - <span class="symbol"><A NAME="ref_112_7">Length</A></span> : size_t; - <span class="symbol"><A NAME="ref_113_7">Txt2</A></span> : chars_ptr; + <span class="symbol"><a name="ref_111_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses-terminfo__ads.htm#ref_61_25">Name</a>'Length); + <span class="symbol"><a name="ref_112_7">Length</a></span> : size_t; + <span class="symbol"><a name="ref_113_7">Txt2</a></span> : chars_ptr; <b>begin</b> - To_C (<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_61_25">Name</A>, <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_111_7">Txt</A>, <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_112_7">Length</A>); - <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_113_7">Txt2</A> := <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_109_16">tigetstr</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_111_7">Txt</A>); - <b>if</b> <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_113_7">Txt2</A> = Null_Ptr <b>then</b> + To_C (<a href="terminal_interface-curses-terminfo__ads.htm#ref_61_25">Name</a>, <a href="terminal_interface-curses-terminfo__adb.htm#ref_111_7">Txt</a>, <a href="terminal_interface-curses-terminfo__adb.htm#ref_112_7">Length</a>); + <a href="terminal_interface-curses-terminfo__adb.htm#ref_113_7">Txt2</a> := <a href="terminal_interface-curses-terminfo__adb.htm#ref_109_16">tigetstr</a> (<a href="terminal_interface-curses-terminfo__adb.htm#ref_111_7">Txt</a>); + <b>if</b> <a href="terminal_interface-curses-terminfo__adb.htm#ref_113_7">Txt2</a> = Null_Ptr <b>then</b> <b>return</b> False; - <b>elsif</b> <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_51_13">Is_MinusOne_Pointer</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_113_7">Txt2</A>) <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>elsif</b> <a href="terminal_interface-curses-terminfo__adb.htm#ref_51_13">Is_MinusOne_Pointer</a> (<a href="terminal_interface-curses-terminfo__adb.htm#ref_113_7">Txt2</a>) <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_61_13">Has_String</A>; + <b>end</b> <a href="terminal_interface-curses-terminfo__ads.htm#ref_61_13">Has_String</a>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_127_13" HREF="terminal_interface-curses-terminfo__ads.htm#ref_69_13">Get_Number</A></span> (<span class="symbol"><A NAME="ref_127_25" HREF="terminal_interface-curses-terminfo__ads.htm#ref_69_25">Name</A></span> : String) <b>return</b> Integer <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_128_16">tigetstr</A></span> (<span class="symbol"><A NAME="ref_128_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_128_16">s</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>function</b> <span class="symbol"><a name="ref_127_13" href="terminal_interface-curses-terminfo__ads.htm#ref_69_13">Get_Number</a></span> (<span class="symbol"><a name="ref_127_25" href="terminal_interface-curses-terminfo__ads.htm#ref_69_25">Name</a></span> : String) <b>return</b> Integer <b>is</b> + <b>function</b> <span class="symbol"><a name="ref_128_16">tigetstr</a></span> (<span class="symbol"><a name="ref_128_26">s</a></span> : char_array) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, tigetstr); - <span class="symbol"><A NAME="ref_130_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_69_25">Name</A>'Length); - <span class="symbol"><A NAME="ref_131_7">Length</A></span> : size_t; + <span class="symbol"><a name="ref_130_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses-terminfo__ads.htm#ref_69_25">Name</a>'Length); + <span class="symbol"><a name="ref_131_7">Length</a></span> : size_t; <b>begin</b> - To_C (<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_69_25">Name</A>, <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_130_7">Txt</A>, <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_131_7">Length</A>); - <b>return</b> Integer (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_128_16">tigetstr</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_130_7">Txt</A>)); - <b>end</b> <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_69_13">Get_Number</A>; + To_C (<a href="terminal_interface-curses-terminfo__ads.htm#ref_69_25">Name</a>, <a href="terminal_interface-curses-terminfo__adb.htm#ref_130_7">Txt</a>, <a href="terminal_interface-curses-terminfo__adb.htm#ref_131_7">Length</a>); + <b>return</b> Integer (<a href="terminal_interface-curses-terminfo__adb.htm#ref_128_16">tigetstr</a> (<a href="terminal_interface-curses-terminfo__adb.htm#ref_130_7">Txt</a>)); + <b>end</b> <a href="terminal_interface-curses-terminfo__ads.htm#ref_69_13">Get_Number</a>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_138_14" HREF="terminal_interface-curses-terminfo__ads.htm#ref_77_14">Put_String</A></span> (<span class="symbol"><A NAME="ref_138_26" HREF="terminal_interface-curses-terminfo__ads.htm#ref_77_26">Str</A></span> : <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_45_35">Terminfo_String</A>; - <span class="symbol"><A NAME="ref_139_26" HREF="terminal_interface-curses-terminfo__ads.htm#ref_78_26">affcnt</A></span> : Natural := 1; - <span class="symbol"><A NAME="ref_140_26" HREF="terminal_interface-curses-terminfo__ads.htm#ref_79_26">putc</A></span> : <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_72_9">putctype</A> := <b>null</b>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_141_16">tputs</A></span> (<span class="symbol"><A NAME="ref_141_23" HREF="terminal_interface-curses-terminfo__adb.htm#ref_141_16">str</A></span> : char_array; - <span class="symbol"><A NAME="ref_142_23" HREF="terminal_interface-curses-terminfo__adb.htm#ref_141_16">affcnt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_143_23" HREF="terminal_interface-curses-terminfo__adb.htm#ref_141_16">putc</A></span> : <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_72_9">putctype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <b>function</b> <span class="symbol"><A NAME="ref_144_16">putp</A></span> (<span class="symbol"><A NAME="ref_144_22" HREF="terminal_interface-curses-terminfo__adb.htm#ref_144_16">str</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_138_14" href="terminal_interface-curses-terminfo__ads.htm#ref_77_14">Put_String</a></span> (<span class="symbol"><a name="ref_138_26" href="terminal_interface-curses-terminfo__ads.htm#ref_77_26">Str</a></span> : <a href="terminal_interface-curses-terminfo__ads.htm#ref_45_35">Terminfo_String</a>; + <span class="symbol"><a name="ref_139_26" href="terminal_interface-curses-terminfo__ads.htm#ref_78_26">affcnt</a></span> : Natural := 1; + <span class="symbol"><a name="ref_140_26" href="terminal_interface-curses-terminfo__ads.htm#ref_79_26">putc</a></span> : <a href="terminal_interface-curses-terminfo__ads.htm#ref_72_9">putctype</a> := <b>null</b>) <b>is</b> + <b>function</b> <span class="symbol"><a name="ref_141_16">tputs</a></span> (<span class="symbol"><a name="ref_141_23">str</a></span> : char_array; + <span class="symbol"><a name="ref_142_23">affcnt</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_143_23">putc</a></span> : <a href="terminal_interface-curses-terminfo__ads.htm#ref_72_9">putctype</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <b>function</b> <span class="symbol"><a name="ref_144_16">putp</a></span> (<span class="symbol"><a name="ref_144_22">str</a></span> : char_array) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, tputs); <b>pragma</b> Import (C, putp); - <span class="symbol"><A NAME="ref_147_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_77_26">Str</A>'Length); - <span class="symbol"><A NAME="ref_148_7">Length</A></span> : size_t; - <span class="symbol"><A NAME="ref_149_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <span class="symbol"><a name="ref_147_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses-terminfo__ads.htm#ref_77_26">Str</a>'Length); + <span class="symbol"><a name="ref_148_7">Length</a></span> : size_t; + <span class="symbol"><a name="ref_149_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>begin</b> - To_C (String (<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_77_26">Str</A>), <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_147_7">Txt</A>, <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_148_7">Length</A>); - <b>if</b> <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_79_26">putc</A> = <b>null</b> <b>then</b> - <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_149_7">Err</A> := <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_144_16">putp</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_147_7">Txt</A>); + To_C (String (<a href="terminal_interface-curses-terminfo__ads.htm#ref_77_26">Str</a>), <a href="terminal_interface-curses-terminfo__adb.htm#ref_147_7">Txt</a>, <a href="terminal_interface-curses-terminfo__adb.htm#ref_148_7">Length</a>); + <b>if</b> <a href="terminal_interface-curses-terminfo__ads.htm#ref_79_26">putc</a> = <b>null</b> <b>then</b> + <a href="terminal_interface-curses-terminfo__adb.htm#ref_149_7">Err</a> := <a href="terminal_interface-curses-terminfo__adb.htm#ref_144_16">putp</a> (<a href="terminal_interface-curses-terminfo__adb.htm#ref_147_7">Txt</a>); <b>else</b> - <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_149_7">Err</A> := <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_141_16">tputs</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_147_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_78_26">affcnt</A>), <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_79_26">putc</A>); + <a href="terminal_interface-curses-terminfo__adb.htm#ref_149_7">Err</a> := <a href="terminal_interface-curses-terminfo__adb.htm#ref_141_16">tputs</a> (<a href="terminal_interface-curses-terminfo__adb.htm#ref_147_7">Txt</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses-terminfo__ads.htm#ref_78_26">affcnt</a>), <a href="terminal_interface-curses-terminfo__ads.htm#ref_79_26">putc</a>); <b>end</b> <b>if</b>; - <b>if</b> <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_149_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses-terminfo__adb.htm#ref_149_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_77_14">Put_String</A>; + <b>end</b> <a href="terminal_interface-curses-terminfo__ads.htm#ref_77_14">Put_String</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_45_35">Terminfo</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-terminfo__ads.htm#ref_45_35">Terminfo</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-terminfo__ads.htm b/doc/html/ada/terminal_interface-curses-terminfo__ads.htm index e4721d0d29e4..5859280772b5 100644 --- a/doc/html/ada/terminal_interface-curses-terminfo__ads.htm +++ b/doc/html/ada/terminal_interface-curses-terminfo__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-terminfo.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-terminfo.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,90 +11,90 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-terminfo.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Terminfo --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 2000-2002,2003 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.5 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-terminfo.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Terminfo --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 2000-2002,2003 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.5 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<span class="symbol"><A NAME="ref_45_35" HREF="terminal_interface-curses-terminfo__adb.htm#ref_49_40">Terminfo</A></span> <b>is</b> - <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_45_35">Terminfo</A>); +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_45_35" href="terminal_interface-curses-terminfo__adb.htm#ref_49_40">Terminfo</a></span> <b>is</b> + <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-terminfo__ads.htm#ref_45_35">Terminfo</a>); - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page curs_terminfo.3x</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- Not implemented: setupterm, setterm, set_curterm, del_curterm,</EM></span> - <span class="comment"><EM>-- restartterm, tparm, putp, vidputs, vidattr,</EM></span> - <span class="comment"><EM>-- mvcur</EM></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page curs_terminfo.3x</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- Not implemented: setupterm, setterm, set_curterm, del_curterm,</em></span> + <span class="comment"><em>-- restartterm, tparm, putp, vidputs, vidattr,</em></span> + <span class="comment"><em>-- mvcur</em></span> <b>type</b> Terminfo_String <b>is</b> <b>new</b> String; - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_58_14" HREF="terminal_interface-curses-terminfo__adb.htm#ref_84_14">Get_String</A></span> (<span class="symbol"><A NAME="ref_58_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_84_26">Name</A></span> : String; - <span class="symbol"><A NAME="ref_59_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_85_26">Value</A></span> : <b>out</b> Terminfo_String; - <span class="symbol"><A NAME="ref_60_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_86_26">Result</A></span> : <b>out</b> Boolean); - <b>function</b> <span class="symbol"><A NAME="ref_61_13" HREF="terminal_interface-curses-terminfo__adb.htm#ref_107_13">Has_String</A></span> (<span class="symbol"><A NAME="ref_61_25" HREF="terminal_interface-curses-terminfo__adb.htm#ref_107_25">Name</A></span> : String) <b>return</b> Boolean; - <span class="comment"><EM>-- AKA: tigetstr()</EM></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_58_14" href="terminal_interface-curses-terminfo__adb.htm#ref_84_14">Get_String</a></span> (<span class="symbol"><a name="ref_58_26" href="terminal_interface-curses-terminfo__adb.htm#ref_84_26">Name</a></span> : String; + <span class="symbol"><a name="ref_59_26" href="terminal_interface-curses-terminfo__adb.htm#ref_85_26">Value</a></span> : <b>out</b> Terminfo_String; + <span class="symbol"><a name="ref_60_26" href="terminal_interface-curses-terminfo__adb.htm#ref_86_26">Result</a></span> : <b>out</b> Boolean); + <b>function</b> <span class="symbol"><a name="ref_61_13" href="terminal_interface-curses-terminfo__adb.htm#ref_107_13">Has_String</a></span> (<span class="symbol"><a name="ref_61_25" href="terminal_interface-curses-terminfo__adb.htm#ref_107_25">Name</a></span> : String) <b>return</b> Boolean; + <span class="comment"><em>-- AKA: tigetstr()</em></span> - <span class="comment"><EM>-- |</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_65_13" HREF="terminal_interface-curses-terminfo__adb.htm#ref_68_13">Get_Flag</A></span> (<span class="symbol"><A NAME="ref_65_23" HREF="terminal_interface-curses-terminfo__adb.htm#ref_68_23">Name</A></span> : String) <b>return</b> Boolean; - <span class="comment"><EM>-- AKA: tigetflag()</EM></span> + <span class="comment"><em>-- |</em></span> + <b>function</b> <span class="symbol"><a name="ref_65_13" href="terminal_interface-curses-terminfo__adb.htm#ref_68_13">Get_Flag</a></span> (<span class="symbol"><a name="ref_65_23" href="terminal_interface-curses-terminfo__adb.htm#ref_68_23">Name</a></span> : String) <b>return</b> Boolean; + <span class="comment"><em>-- AKA: tigetflag()</em></span> - <span class="comment"><EM>-- |</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_69_13" HREF="terminal_interface-curses-terminfo__adb.htm#ref_127_13">Get_Number</A></span> (<span class="symbol"><A NAME="ref_69_25" HREF="terminal_interface-curses-terminfo__adb.htm#ref_127_25">Name</A></span> : String) <b>return</b> Integer; - <span class="comment"><EM>-- AKA: tigetnum()</EM></span> + <span class="comment"><em>-- |</em></span> + <b>function</b> <span class="symbol"><a name="ref_69_13" href="terminal_interface-curses-terminfo__adb.htm#ref_127_13">Get_Number</a></span> (<span class="symbol"><a name="ref_69_25" href="terminal_interface-curses-terminfo__adb.htm#ref_127_25">Name</a></span> : String) <b>return</b> Integer; + <span class="comment"><em>-- AKA: tigetnum()</em></span> - <b>type</b> <span class="symbol"><A NAME="ref_72_9">putctype</A></span> <b>is</b> <b>access</b> <b>function</b> (<span class="symbol"><A NAME="ref_72_38" HREF="terminal_interface-curses-terminfo__ads.htm#ref_72_9">c</A></span> : <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int) - <b>return</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int; - <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_72_9">putctype</A>); + <b>type</b> <span class="symbol"><a name="ref_72_9">putctype</a></span> <b>is</b> <b>access</b> <b>function</b> (<span class="symbol"><a name="ref_72_38">c</a></span> : <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int) + <b>return</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int; + <b>pragma</b> Convention (C, <a href="terminal_interface-curses-terminfo__ads.htm#ref_72_9">putctype</a>); - <span class="comment"><EM>-- |</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_77_14" HREF="terminal_interface-curses-terminfo__adb.htm#ref_138_14">Put_String</A></span> (<span class="symbol"><A NAME="ref_77_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_138_26">Str</A></span> : Terminfo_String; - <span class="symbol"><A NAME="ref_78_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_139_26">affcnt</A></span> : Natural := 1; - <span class="symbol"><A NAME="ref_79_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_140_26">putc</A></span> : <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_72_9">putctype</A> := <b>null</b>); - <span class="comment"><EM>-- AKA: tputs()</EM></span> + <span class="comment"><em>-- |</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_77_14" href="terminal_interface-curses-terminfo__adb.htm#ref_138_14">Put_String</a></span> (<span class="symbol"><a name="ref_77_26" href="terminal_interface-curses-terminfo__adb.htm#ref_138_26">Str</a></span> : Terminfo_String; + <span class="symbol"><a name="ref_78_26" href="terminal_interface-curses-terminfo__adb.htm#ref_139_26">affcnt</a></span> : Natural := 1; + <span class="symbol"><a name="ref_79_26" href="terminal_interface-curses-terminfo__adb.htm#ref_140_26">putc</a></span> : <a href="terminal_interface-curses-terminfo__ads.htm#ref_72_9">putctype</a> := <b>null</b>); + <span class="comment"><em>-- AKA: tputs()</em></span> -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_45_35">Terminfo</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-terminfo__ads.htm#ref_45_35">Terminfo</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-text_io-aux__adb.htm b/doc/html/ada/terminal_interface-curses-text_io-aux__adb.htm index 2fa040c7d603..6ce4a43c7b76 100644 --- a/doc/html/ada/terminal_interface-curses-text_io-aux__adb.htm +++ b/doc/html/ada/terminal_interface-curses-text_io-aux__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-text_io-aux.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-text_io-aux.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,137 +11,137 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-aux.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Text_IO.Aux --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2006,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.14 @</EM></span> -<span class="comment"><EM>-- @Date: 2020/02/02 23:34:34 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<span class="symbol"><A NAME="ref_43_48" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</A></span> <b>is</b> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-aux.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Text_IO.Aux --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2006,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.14 @</em></span> +<span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_43_48" href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a></span> <b>is</b> - <b>procedure</b> <span class="symbol"><A NAME="ref_45_14" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_49_14">Put_Buf</A></span> - (<span class="symbol"><A NAME="ref_46_7" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_47_7" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Buf</A></span> : String; - <span class="symbol"><A NAME="ref_48_7" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_52_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A>; - <span class="symbol"><A NAME="ref_49_7" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_53_7">Signal</A></span> : Boolean := True; - <span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_54_7">Ljust</A></span> : Boolean := False) + <b>procedure</b> <span class="symbol"><a name="ref_45_14" href="terminal_interface-curses-text_io-aux__ads.htm#ref_49_14">Put_Buf</a></span> + (<span class="symbol"><a name="ref_46_7" href="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_47_7" href="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Buf</a></span> : String; + <span class="symbol"><a name="ref_48_7" href="terminal_interface-curses-text_io-aux__ads.htm#ref_52_7">Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a>; + <span class="symbol"><a name="ref_49_7" href="terminal_interface-curses-text_io-aux__ads.htm#ref_53_7">Signal</a></span> : Boolean := True; + <span class="symbol"><a name="ref_50_7" href="terminal_interface-curses-text_io-aux__ads.htm#ref_54_7">Ljust</a></span> : Boolean := False) <b>is</b> - <span class="symbol"><A NAME="ref_52_7">L</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A>; - <span class="symbol"><A NAME="ref_53_7">Len</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A>; - <span class="symbol"><A NAME="ref_54_7">W</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_52_7">Width</A>; - <span class="symbol"><A NAME="ref_55_7">LC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_56_7">CC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>; - <span class="symbol"><A NAME="ref_57_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_58_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; + <span class="symbol"><a name="ref_52_7">L</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a>; + <span class="symbol"><a name="ref_53_7">Len</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a>; + <span class="symbol"><a name="ref_54_7">W</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-aux__ads.htm#ref_52_7">Width</a>; + <span class="symbol"><a name="ref_55_7">LC</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_56_7">CC</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>; + <span class="symbol"><a name="ref_57_7">Y</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_58_7">X</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_60_17" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_62_17">Output</A></span> (<span class="symbol"><A NAME="ref_60_25" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_62_25">From</A></span>, <span class="symbol"><A NAME="ref_60_31" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_62_31">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A>); + <b>procedure</b> <span class="symbol"><a name="ref_60_17" href="terminal_interface-curses-text_io-aux__adb.htm#ref_62_17">Output</a></span> (<span class="symbol"><a name="ref_60_25" href="terminal_interface-curses-text_io-aux__adb.htm#ref_62_25">From</a></span>, <span class="symbol"><a name="ref_60_31" href="terminal_interface-curses-text_io-aux__adb.htm#ref_62_31">To</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a>); - <b>procedure</b> <span class="symbol"><A NAME="ref_62_17" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_60_17">Output</A></span> (<span class="symbol"><A NAME="ref_62_25" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_60_25">From</A></span>, <span class="symbol"><A NAME="ref_62_31" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_60_31">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A>) + <b>procedure</b> <span class="symbol"><a name="ref_62_17" href="terminal_interface-curses-text_io-aux__adb.htm#ref_60_17">Output</a></span> (<span class="symbol"><a name="ref_62_25" href="terminal_interface-curses-text_io-aux__adb.htm#ref_60_25">From</a></span>, <span class="symbol"><a name="ref_62_31" href="terminal_interface-curses-text_io-aux__adb.htm#ref_60_31">To</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a>) <b>is</b> <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</A> > 0 <b>then</b> - <b>if</b> <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">W</A> = 0 <b>then</b> - <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">W</A> := <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</A>; + <b>if</b> <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</a> > 0 <b>then</b> + <b>if</b> <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">W</a> = 0 <b>then</b> + <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">W</a> := <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</a>; <b>end</b> <b>if</b>; - <b>if</b> <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</A> > <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">W</A> <b>then</b> - <span class="comment"><EM>-- LRM A10.6 (7) says this</EM></span> - <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">W</A> := <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</A>; + <b>if</b> <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</a> > <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">W</a> <b>then</b> + <span class="comment"><em>-- LRM A10.6 (7) says this</em></span> + <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">W</a> := <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</a>; <b>end</b> <b>if</b>; - <b>pragma</b> Assert (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</A> <= <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">W</A>); - <A HREF="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</A> (<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Win</A>, <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_55_7">LC</A>, <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_56_7">CC</A>); - <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A> (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</A>) > <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_56_7">CC</A> <b>then</b> - <b>if</b> <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_53_7">Signal</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_135_4">Layout_Error</A>; + <b>pragma</b> Assert (<a href="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</a> <= <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">W</a>); + <a href="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</a> (<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Win</a>, <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_55_7">LC</a>, <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_56_7">CC</a>); + <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a> (<a href="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</a>) > <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_56_7">CC</a> <b>then</b> + <b>if</b> <a href="terminal_interface-curses-text_io-aux__ads.htm#ref_53_7">Signal</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_135_4">Layout_Error</a>; <b>else</b> <b>return</b>; <b>end</b> <b>if</b>; <b>else</b> - <b>if</b> <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</A> < <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">W</A> <b>and</b> <b>then</b> <b>not</b> <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_54_7">Ljust</A> <b>then</b> + <b>if</b> <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</a> < <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">W</a> <b>and</b> <b>then</b> <b>not</b> <a href="terminal_interface-curses-text_io-aux__ads.htm#ref_54_7">Ljust</a> <b>then</b> <b>declare</b> - <span class="symbol"><A NAME="ref_85_22">Filler</A></span> : <b>constant</b> String (1 .. (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">W</A> - <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</A>)) + <span class="symbol"><a name="ref_85_22">Filler</a></span> : <b>constant</b> String (1 .. (<a href="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">W</a> - <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</a>)) := (<b>others</b> => ' '); <b>begin</b> - <A HREF="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</A> (<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Win</A>, <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_85_22">Filler</A>); + <a href="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</a> (<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Win</a>, <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_85_22">Filler</a>); <b>end</b>; <b>end</b> <b>if</b>; - <A HREF="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</A> (<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Win</A>, <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_57_7">Y</A>, <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_58_7">X</A>); - <b>if</b> (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_58_7">X</A> + <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A> (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</A>)) > <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_56_7">CC</A> <b>then</b> - <A HREF="terminal_interface-curses-text_io__ads.htm#ref_87_14">New_Line</A> (<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Win</A>); + <a href="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</a> (<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Win</a>, <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_57_7">Y</a>, <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_58_7">X</a>); + <b>if</b> (<a href="terminal_interface-curses-text_io-aux__adb.htm#ref_58_7">X</a> + <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> (<a href="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</a>)) > <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_56_7">CC</a> <b>then</b> + <a href="terminal_interface-curses-text_io__ads.htm#ref_87_14">New_Line</a> (<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Win</a>); <b>end</b> <b>if</b>; - <A HREF="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</A> (<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Win</A>, <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Buf</A> (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_60_25">From</A> .. <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_60_31">To</A>)); - <b>if</b> <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</A> < <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">W</A> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_54_7">Ljust</A> <b>then</b> + <a href="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</a> (<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Win</a>, <a href="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Buf</a> (<a href="terminal_interface-curses-text_io-aux__adb.htm#ref_60_25">From</a> .. <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_60_31">To</a>)); + <b>if</b> <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</a> < <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">W</a> <b>and</b> <b>then</b> <a href="terminal_interface-curses-text_io-aux__ads.htm#ref_54_7">Ljust</a> <b>then</b> <b>declare</b> - <span class="symbol"><A NAME="ref_98_22">Filler</A></span> : <b>constant</b> String (1 .. (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">W</A> - <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</A>)) + <span class="symbol"><a name="ref_98_22">Filler</a></span> : <b>constant</b> String (1 .. (<a href="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">W</a> - <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</a>)) := (<b>others</b> => ' '); <b>begin</b> - <A HREF="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</A> (<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Win</A>, <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_98_22">Filler</A>); + <a href="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</a> (<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Win</a>, <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_98_22">Filler</a>); <b>end</b>; <b>end</b> <b>if</b>; <b>end</b> <b>if</b>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_60_17">Output</A>; + <b>end</b> <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_60_17">Output</a>; <b>begin</b> - <b>pragma</b> Assert (<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Win</A> /= <A HREF="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</A>); - <b>if</b> <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_54_7">Ljust</A> <b>then</b> - <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</A> := 1; - <b>for</b> <span class="symbol"><A NAME="ref_112_14">I</A></span> <b>in</b> 1 .. <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Buf</A>'Length <b>loop</b> - <b>exit</b> <b>when</b> <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Buf</A> (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</A>) = ' '; - <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</A> := <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</A> + 1; + <b>pragma</b> Assert (<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Win</a> /= <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a>); + <b>if</b> <a href="terminal_interface-curses-text_io-aux__ads.htm#ref_54_7">Ljust</a> <b>then</b> + <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</a> := 1; + <b>for</b> <span class="symbol"><a name="ref_112_14">I</a></span> <b>in</b> 1 .. <a href="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Buf</a>'Length <b>loop</b> + <b>exit</b> <b>when</b> <a href="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Buf</a> (<a href="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</a>) = ' '; + <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</a> := <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</a> + 1; <b>end</b> <b>loop</b>; - <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</A> := <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</A> - 1; - <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_60_17">Output</A> (1, <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</A>); - <b>else</b> <span class="comment"><EM>-- input buffer is not left justified</EM></span> - <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</A> := <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Buf</A>'Length; - <b>for</b> <span class="symbol"><A NAME="ref_120_14">I</A></span> <b>in</b> 1 .. <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Buf</A>'Length <b>loop</b> - <b>exit</b> <b>when</b> <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Buf</A> (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</A>) = ' '; - <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</A> := <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</A> - 1; + <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</a> := <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</a> - 1; + <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_60_17">Output</a> (1, <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</a>); + <b>else</b> <span class="comment"><em>-- input buffer is not left justified</em></span> + <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</a> := <a href="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Buf</a>'Length; + <b>for</b> <span class="symbol"><a name="ref_120_14">I</a></span> <b>in</b> 1 .. <a href="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Buf</a>'Length <b>loop</b> + <b>exit</b> <b>when</b> <a href="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Buf</a> (<a href="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</a>) = ' '; + <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</a> := <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</a> - 1; <b>end</b> <b>loop</b>; - <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</A> := <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Buf</A>'Length - <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</A>; - <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_60_17">Output</A> (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</A> + 1, <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Buf</A>'Length); + <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">Len</a> := <a href="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Buf</a>'Length - <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</a>; + <a href="terminal_interface-curses-text_io-aux__adb.htm#ref_60_17">Output</a> (<a href="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">L</a> + 1, <a href="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Buf</a>'Length); <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_49_14">Put_Buf</A>; + <b>end</b> <a href="terminal_interface-curses-text_io-aux__ads.htm#ref_49_14">Put_Buf</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-text_io-aux__ads.htm b/doc/html/ada/terminal_interface-curses-text_io-aux__ads.htm index 62eac4caf717..82589864026d 100644 --- a/doc/html/ada/terminal_interface-curses-text_io-aux__ads.htm +++ b/doc/html/ada/terminal_interface-curses-text_io-aux__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-text_io-aux.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-text_io-aux.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,64 +11,64 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-aux.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Text_IO.Aux --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2006,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.15 @</EM></span> -<span class="comment"><EM>-- @Date: 2020/02/02 23:34:34 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>private</b> <b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<span class="symbol"><A NAME="ref_43_51" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_43_48">Aux</A></span> <b>is</b> - <span class="comment"><EM>-- pragma Preelaborate (Aux);</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-aux.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Text_IO.Aux --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2006,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.15 @</em></span> +<span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>private</b> <b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_43_51" href="terminal_interface-curses-text_io-aux__adb.htm#ref_43_48">Aux</a></span> <b>is</b> + <span class="comment"><em>-- pragma Preelaborate (Aux);</em></span> - <span class="comment"><EM>-- This routine is called from the Text_IO output routines for numeric</EM></span> - <span class="comment"><EM>-- and enumeration types.</EM></span> - <span class="comment"><EM>--</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_49_14" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_45_14">Put_Buf</A></span> - (<span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_46_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="comment"><EM>-- The output window</EM></span> - <span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_47_7">Buf</A></span> : String; <span class="comment"><EM>-- The buffer containing the text</EM></span> - <span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_48_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A>; <span class="comment"><EM>-- The width of the output field</EM></span> - <span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_49_7">Signal</A></span> : Boolean := True; <span class="comment"><EM>-- If true, we raise Layout_Error</EM></span> - <span class="symbol"><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_50_7">Ljust</A></span> : Boolean := False); <span class="comment"><EM>-- The Buf is left justified</EM></span> + <span class="comment"><em>-- This routine is called from the Text_IO output routines for numeric</em></span> + <span class="comment"><em>-- and enumeration types.</em></span> + <span class="comment"><em>--</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_49_14" href="terminal_interface-curses-text_io-aux__adb.htm#ref_45_14">Put_Buf</a></span> + (<span class="symbol"><a name="ref_50_7" href="terminal_interface-curses-text_io-aux__adb.htm#ref_46_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="comment"><em>-- The output window</em></span> + <span class="symbol"><a name="ref_51_7" href="terminal_interface-curses-text_io-aux__adb.htm#ref_47_7">Buf</a></span> : String; <span class="comment"><em>-- The buffer containing the text</em></span> + <span class="symbol"><a name="ref_52_7" href="terminal_interface-curses-text_io-aux__adb.htm#ref_48_7">Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a>; <span class="comment"><em>-- The width of the output field</em></span> + <span class="symbol"><a name="ref_53_7" href="terminal_interface-curses-text_io-aux__adb.htm#ref_49_7">Signal</a></span> : Boolean := True; <span class="comment"><em>-- If true, we raise Layout_Error</em></span> + <span class="symbol"><a name="ref_54_7" href="terminal_interface-curses-text_io-aux__adb.htm#ref_50_7">Ljust</a></span> : Boolean := False); <span class="comment"><em>-- The Buf is left justified</em></span> -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-text_io-complex_io__adb.htm b/doc/html/ada/terminal_interface-curses-text_io-complex_io__adb.htm index bc8e1178dd2c..cad3300a2138 100644 --- a/doc/html/ada/terminal_interface-curses-text_io-complex_io__adb.htm +++ b/doc/html/ada/terminal_interface-curses-text_io-complex_io__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-text_io-complex_io.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-text_io-complex_io.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,82 +11,82 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-complex_io.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Text_IO.Complex_IO --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.12 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_45_43">Float_IO</A>; +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-complex_io.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Text_IO.Complex_IO --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.12 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_45_43">Float_IO</a>; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_48" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_47_43">Complex_IO</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_44_48" href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_47_43">Complex_IO</a></span> <b>is</b> <b>package</b> FIO <b>is</b> <b>new</b> - <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_45_43">Float_IO</A> (Complex_Types.Real'Base); + <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_45_43">Float_IO</a> (Complex_Types.Real'Base); - <b>procedure</b> <span class="symbol"><A NAME="ref_49_14" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_55_14">Put</A></span> - (<span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_56_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; + <b>procedure</b> <span class="symbol"><a name="ref_49_14" href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_55_14">Put</a></span> + (<span class="symbol"><a name="ref_50_7" href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_56_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; Item : Complex; - <span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_58_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_51_4">Default_Fore</A>; - <span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_59_7">Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_52_4">Default_Aft</A>; - <span class="symbol"><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_60_7">Exp</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_53_4">Default_Exp</A>) + <span class="symbol"><a name="ref_52_7" href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_58_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_51_4">Default_Fore</a>; + <span class="symbol"><a name="ref_53_7" href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_59_7">Aft</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_52_4">Default_Aft</a>; + <span class="symbol"><a name="ref_54_7" href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_60_7">Exp</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_53_4">Default_Exp</a>) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses-text_io__ads.htm#ref_109_14">Put</A> (<A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_56_7">Win</A>, '('); - FIO.<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_51_14">Put</A> (<A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_56_7">Win</A>, Item.Re, <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_58_7">Fore</A>, <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_59_7">Aft</A>, <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_60_7">Exp</A>); - <A HREF="terminal_interface-curses-text_io__ads.htm#ref_109_14">Put</A> (<A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_56_7">Win</A>, ','); - FIO.<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_51_14">Put</A> (<A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_56_7">Win</A>, Item.Im, <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_58_7">Fore</A>, <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_59_7">Aft</A>, <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_60_7">Exp</A>); - <A HREF="terminal_interface-curses-text_io__ads.htm#ref_109_14">Put</A> (<A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_56_7">Win</A>, ')'); - <b>end</b> <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_55_14">Put</A>; + <a href="terminal_interface-curses-text_io__ads.htm#ref_109_14">Put</a> (<a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_56_7">Win</a>, '('); + FIO.<a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_51_14">Put</a> (<a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_56_7">Win</a>, Item.Re, <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_58_7">Fore</a>, <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_59_7">Aft</a>, <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_60_7">Exp</a>); + <a href="terminal_interface-curses-text_io__ads.htm#ref_109_14">Put</a> (<a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_56_7">Win</a>, ','); + FIO.<a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_51_14">Put</a> (<a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_56_7">Win</a>, Item.Im, <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_58_7">Fore</a>, <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_59_7">Aft</a>, <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_60_7">Exp</a>); + <a href="terminal_interface-curses-text_io__ads.htm#ref_109_14">Put</a> (<a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_56_7">Win</a>, ')'); + <b>end</b> <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_55_14">Put</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_64_14" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_62_14">Put</A></span> + <b>procedure</b> <span class="symbol"><a name="ref_64_14" href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_62_14">Put</a></span> (Item : Complex; - <span class="symbol"><A NAME="ref_66_7" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_64_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_51_4">Default_Fore</A>; - <span class="symbol"><A NAME="ref_67_7" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_65_7">Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_52_4">Default_Aft</A>; - <span class="symbol"><A NAME="ref_68_7" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_66_7">Exp</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_53_4">Default_Exp</A>) + <span class="symbol"><a name="ref_66_7" href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_64_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_51_4">Default_Fore</a>; + <span class="symbol"><a name="ref_67_7" href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_65_7">Aft</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_52_4">Default_Aft</a>; + <span class="symbol"><a name="ref_68_7" href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_66_7">Exp</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_53_4">Default_Exp</a>) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_55_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</A>, Item, <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_64_7">Fore</A>, <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_65_7">Aft</A>, <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_66_7">Exp</A>); - <b>end</b> <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_62_14">Put</A>; + <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_55_14">Put</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>, Item, <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_64_7">Fore</a>, <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_65_7">Aft</a>, <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_66_7">Exp</a>); + <b>end</b> <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_62_14">Put</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_47_43">Complex_IO</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_47_43">Complex_IO</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-text_io-complex_io__ads.htm b/doc/html/ada/terminal_interface-curses-text_io-complex_io__ads.htm index 7abdb6408183..ac7607eb9f18 100644 --- a/doc/html/ada/terminal_interface-curses-text_io-complex_io__ads.htm +++ b/doc/html/ada/terminal_interface-curses-text_io-complex_io__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-text_io-complex_io.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-text_io-complex_io.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,79 +11,79 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-complex_io.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Text_IO.Complex_IO --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.12 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-complex_io.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Text_IO.Complex_IO --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.12 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>with</b> Ada.Numerics.Generic_Complex_Types; <b>generic</b> - <b>with</b> <b>package</b> <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_47_43">Complex_Types</A> <b>is</b> <b>new</b> Ada.Numerics.Generic_Complex_Types (<>); + <b>with</b> <b>package</b> Complex_Types <b>is</b> <b>new</b> Ada.Numerics.Generic_Complex_Types (<>); -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<span class="symbol"><A NAME="ref_47_43" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_44_48">Complex_IO</A></span> <b>is</b> +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_47_43" href="terminal_interface-curses-text_io-complex_io__adb.htm#ref_44_48">Complex_IO</a></span> <b>is</b> <b>use</b> Complex_Types; - <span class="symbol"><A NAME="ref_51_4">Default_Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := 2; - <span class="symbol"><A NAME="ref_52_4">Default_Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := Real'<b>Digits</b> - 1; - <span class="symbol"><A NAME="ref_53_4">Default_Exp</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := 3; + <span class="symbol"><a name="ref_51_4">Default_Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := 2; + <span class="symbol"><a name="ref_52_4">Default_Aft</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := Real'<b>Digits</b> - 1; + <span class="symbol"><a name="ref_53_4">Default_Exp</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := 3; - <b>procedure</b> <span class="symbol"><A NAME="ref_55_14" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_49_14">Put</A></span> - (<span class="symbol"><A NAME="ref_56_7" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_50_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_55_14">Item</A> : Complex; - <span class="symbol"><A NAME="ref_58_7" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_52_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_51_4">Default_Fore</A>; - <span class="symbol"><A NAME="ref_59_7" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_53_7">Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_52_4">Default_Aft</A>; - <span class="symbol"><A NAME="ref_60_7" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_54_7">Exp</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_53_4">Default_Exp</A>); + <b>procedure</b> <span class="symbol"><a name="ref_55_14" href="terminal_interface-curses-text_io-complex_io__adb.htm#ref_49_14">Put</a></span> + (<span class="symbol"><a name="ref_56_7" href="terminal_interface-curses-text_io-complex_io__adb.htm#ref_50_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + Item : Complex; + <span class="symbol"><a name="ref_58_7" href="terminal_interface-curses-text_io-complex_io__adb.htm#ref_52_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_51_4">Default_Fore</a>; + <span class="symbol"><a name="ref_59_7" href="terminal_interface-curses-text_io-complex_io__adb.htm#ref_53_7">Aft</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_52_4">Default_Aft</a>; + <span class="symbol"><a name="ref_60_7" href="terminal_interface-curses-text_io-complex_io__adb.htm#ref_54_7">Exp</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_53_4">Default_Exp</a>); - <b>procedure</b> <span class="symbol"><A NAME="ref_62_14" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_64_14">Put</A></span> - (<A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_62_14">Item</A> : Complex; - <span class="symbol"><A NAME="ref_64_7" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_66_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_51_4">Default_Fore</A>; - <span class="symbol"><A NAME="ref_65_7" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_67_7">Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_52_4">Default_Aft</A>; - <span class="symbol"><A NAME="ref_66_7" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_68_7">Exp</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_53_4">Default_Exp</A>); + <b>procedure</b> <span class="symbol"><a name="ref_62_14" href="terminal_interface-curses-text_io-complex_io__adb.htm#ref_64_14">Put</a></span> + (Item : Complex; + <span class="symbol"><a name="ref_64_7" href="terminal_interface-curses-text_io-complex_io__adb.htm#ref_66_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_51_4">Default_Fore</a>; + <span class="symbol"><a name="ref_65_7" href="terminal_interface-curses-text_io-complex_io__adb.htm#ref_67_7">Aft</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_52_4">Default_Aft</a>; + <span class="symbol"><a name="ref_66_7" href="terminal_interface-curses-text_io-complex_io__adb.htm#ref_68_7">Exp</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_53_4">Default_Exp</a>); <b>private</b> <b>pragma</b> Inline (Put); -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_47_43">Complex_IO</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-complex_io__ads.htm#ref_47_43">Complex_IO</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-text_io-decimal_io__adb.htm b/doc/html/ada/terminal_interface-curses-text_io-decimal_io__adb.htm index 4dc88020b3e1..7977d76dbfab 100644 --- a/doc/html/ada/terminal_interface-curses-text_io-decimal_io__adb.htm +++ b/doc/html/ada/terminal_interface-curses-text_io-decimal_io__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-text_io-decimal_io.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-text_io-decimal_io.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,84 +11,84 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-decimal_io.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Text_IO.Decimal_IO --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.12 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-decimal_io.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Text_IO.Decimal_IO --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.12 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>with</b> Ada.Text_IO; -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</A>; +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a>; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<span class="symbol"><A NAME="ref_45_48" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_45_43">Decimal_IO</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_45_48" href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_45_43">Decimal_IO</a></span> <b>is</b> - <b>package</b> <span class="symbol"><A NAME="ref_47_12">Aux</A></span> <b>renames</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</A>; - <b>package</b> DIO <b>is</b> <b>new</b> Ada.Text_IO.Decimal_IO (<A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_43_9">Num</A>); + <b>package</b> <span class="symbol"><a name="ref_47_12">Aux</a></span> <b>renames</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a>; + <b>package</b> DIO <b>is</b> <b>new</b> Ada.Text_IO.Decimal_IO (<a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_43_9">Num</a>); - <b>procedure</b> <span class="symbol"><A NAME="ref_50_14" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_51_14">Put</A></span> - (<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_52_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_53_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_43_9">Num</A>; - <span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_54_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_47_4">Default_Fore</A>; - <span class="symbol"><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_55_7">Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_48_4">Default_Aft</A>; - <span class="symbol"><A NAME="ref_55_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_56_7">Exp</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_49_4">Default_Exp</A>) + <b>procedure</b> <span class="symbol"><a name="ref_50_14" href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_51_14">Put</a></span> + (<span class="symbol"><a name="ref_51_7" href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_52_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_52_7" href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_53_7">Item</a></span> : <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_43_9">Num</a>; + <span class="symbol"><a name="ref_53_7" href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_54_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_47_4">Default_Fore</a>; + <span class="symbol"><a name="ref_54_7" href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_55_7">Aft</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_48_4">Default_Aft</a>; + <span class="symbol"><a name="ref_55_7" href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_56_7">Exp</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_49_4">Default_Exp</a>) <b>is</b> - <span class="symbol"><A NAME="ref_57_7">Buf</A></span> : String (1 .. <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A>'Last); - <span class="symbol"><A NAME="ref_58_7">Len</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_54_7">Fore</A> + 1 + <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_55_7">Aft</A>; + <span class="symbol"><a name="ref_57_7">Buf</a></span> : String (1 .. <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a>'Last); + <span class="symbol"><a name="ref_58_7">Len</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_54_7">Fore</a> + 1 + <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_55_7">Aft</a>; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_56_7">Exp</A> > 0 <b>then</b> - <A HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_58_7">Len</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_58_7">Len</A> + 1 + <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_56_7">Exp</A>; + <b>if</b> <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_56_7">Exp</a> > 0 <b>then</b> + <a href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_58_7">Len</a> := <a href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_58_7">Len</a> + 1 + <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_56_7">Exp</a>; <b>end</b> <b>if</b>; - DIO.Put (<A HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_57_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_53_7">Item</A>, <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_55_7">Aft</A>, <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_56_7">Exp</A>); - <A HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_47_12">Aux</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_49_14">Put_Buf</A> (<A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_52_7">Win</A>, <A HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_57_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_58_7">Len</A>, False); - <b>end</b> <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_51_14">Put</A>; + DIO.Put (<a href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_57_7">Buf</a>, <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_53_7">Item</a>, <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_55_7">Aft</a>, <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_56_7">Exp</a>); + <a href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_47_12">Aux</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_49_14">Put_Buf</a> (<a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_52_7">Win</a>, <a href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_57_7">Buf</a>, <a href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_58_7">Len</a>, False); + <b>end</b> <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_51_14">Put</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_67_14" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_58_14">Put</A></span> - (<span class="symbol"><A NAME="ref_68_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_59_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_43_9">Num</A>; - <span class="symbol"><A NAME="ref_69_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_60_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_47_4">Default_Fore</A>; - <span class="symbol"><A NAME="ref_70_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_61_7">Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_48_4">Default_Aft</A>; - <span class="symbol"><A NAME="ref_71_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_62_7">Exp</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_49_4">Default_Exp</A>) <b>is</b> + <b>procedure</b> <span class="symbol"><a name="ref_67_14" href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_58_14">Put</a></span> + (<span class="symbol"><a name="ref_68_7" href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_59_7">Item</a></span> : <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_43_9">Num</a>; + <span class="symbol"><a name="ref_69_7" href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_60_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_47_4">Default_Fore</a>; + <span class="symbol"><a name="ref_70_7" href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_61_7">Aft</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_48_4">Default_Aft</a>; + <span class="symbol"><a name="ref_71_7" href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_62_7">Exp</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_49_4">Default_Exp</a>) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_51_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_59_7">Item</A>, <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_60_7">Fore</A>, <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_61_7">Aft</A>, <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_62_7">Exp</A>); - <b>end</b> <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_58_14">Put</A>; + <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_51_14">Put</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>, <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_59_7">Item</a>, <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_60_7">Fore</a>, <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_61_7">Aft</a>, <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_62_7">Exp</a>); + <b>end</b> <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_58_14">Put</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_45_43">Decimal_IO</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_45_43">Decimal_IO</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-text_io-decimal_io__ads.htm b/doc/html/ada/terminal_interface-curses-text_io-decimal_io__ads.htm index f3db7e756383..727165e01ff0 100644 --- a/doc/html/ada/terminal_interface-curses-text_io-decimal_io__ads.htm +++ b/doc/html/ada/terminal_interface-curses-text_io-decimal_io__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-text_io-decimal_io.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-text_io-decimal_io.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,75 +11,75 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-decimal_io.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Text_IO.Decimal_IO --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.13 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-decimal_io.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Text_IO.Decimal_IO --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.13 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>generic</b> - <b>type</b> <span class="symbol"><A NAME="ref_43_9" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_45_43">Num</A></span> <b>is</b> <b>delta</b> <> <b>digits</b> <>; + <b>type</b> <span class="symbol"><a name="ref_43_9">Num</a></span> <b>is</b> <b>delta</b> <> <b>digits</b> <>; -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<span class="symbol"><A NAME="ref_45_43" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_45_48">Decimal_IO</A></span> <b>is</b> +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_45_43" href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_45_48">Decimal_IO</a></span> <b>is</b> - <span class="symbol"><A NAME="ref_47_4">Default_Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_43_9">Num</A>'Fore; - <span class="symbol"><A NAME="ref_48_4">Default_Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_43_9">Num</A>'Aft; - <span class="symbol"><A NAME="ref_49_4">Default_Exp</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := 0; + <span class="symbol"><a name="ref_47_4">Default_Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_43_9">Num</a>'Fore; + <span class="symbol"><a name="ref_48_4">Default_Aft</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_43_9">Num</a>'Aft; + <span class="symbol"><a name="ref_49_4">Default_Exp</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := 0; - <b>procedure</b> <span class="symbol"><A NAME="ref_51_14" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_50_14">Put</A></span> - (<span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_51_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_52_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_43_9">Num</A>; - <span class="symbol"><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_53_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_47_4">Default_Fore</A>; - <span class="symbol"><A NAME="ref_55_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_54_7">Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_48_4">Default_Aft</A>; - <span class="symbol"><A NAME="ref_56_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_55_7">Exp</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_49_4">Default_Exp</A>); + <b>procedure</b> <span class="symbol"><a name="ref_51_14" href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_50_14">Put</a></span> + (<span class="symbol"><a name="ref_52_7" href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_51_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_53_7" href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_52_7">Item</a></span> : <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_43_9">Num</a>; + <span class="symbol"><a name="ref_54_7" href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_53_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_47_4">Default_Fore</a>; + <span class="symbol"><a name="ref_55_7" href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_54_7">Aft</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_48_4">Default_Aft</a>; + <span class="symbol"><a name="ref_56_7" href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_55_7">Exp</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_49_4">Default_Exp</a>); - <b>procedure</b> <span class="symbol"><A NAME="ref_58_14" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_67_14">Put</A></span> - (<span class="symbol"><A NAME="ref_59_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_68_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_43_9">Num</A>; - <span class="symbol"><A NAME="ref_60_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_69_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_47_4">Default_Fore</A>; - <span class="symbol"><A NAME="ref_61_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_70_7">Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_48_4">Default_Aft</A>; - <span class="symbol"><A NAME="ref_62_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_71_7">Exp</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_49_4">Default_Exp</A>); + <b>procedure</b> <span class="symbol"><a name="ref_58_14" href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_67_14">Put</a></span> + (<span class="symbol"><a name="ref_59_7" href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_68_7">Item</a></span> : <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_43_9">Num</a>; + <span class="symbol"><a name="ref_60_7" href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_69_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_47_4">Default_Fore</a>; + <span class="symbol"><a name="ref_61_7" href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_70_7">Aft</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_48_4">Default_Aft</a>; + <span class="symbol"><a name="ref_62_7" href="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_71_7">Exp</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_49_4">Default_Exp</a>); <b>private</b> <b>pragma</b> Inline (Put); -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_45_43">Decimal_IO</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_45_43">Decimal_IO</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__adb.htm b/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__adb.htm index fd959f14305b..9d316057ad87 100644 --- a/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__adb.htm +++ b/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-text_io-enumeration_io.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-text_io-enumeration_io.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,89 +11,89 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-enumeration_io.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Text_IO.Enumeration_IO --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.12 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-enumeration_io.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Text_IO.Enumeration_IO --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.12 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>with</b> Ada.Text_IO; <b>with</b> Ada.Characters.Handling; <b>use</b> Ada.Characters.Handling; -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</A>; +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a>; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<span class="symbol"><A NAME="ref_46_48" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_45_43">Enumeration_IO</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_46_48" href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_45_43">Enumeration_IO</a></span> <b>is</b> - <b>package</b> <span class="symbol"><A NAME="ref_48_12">Aux</A></span> <b>renames</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</A>; - <b>package</b> EIO <b>is</b> <b>new</b> Ada.Text_IO.Enumeration_IO (<A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_43_9">Enum</A>); + <b>package</b> <span class="symbol"><a name="ref_48_12">Aux</a></span> <b>renames</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a>; + <b>package</b> EIO <b>is</b> <b>new</b> Ada.Text_IO.Enumeration_IO (<a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_43_9">Enum</a>); - <b>procedure</b> <span class="symbol"><A NAME="ref_51_14" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_50_14">Put</A></span> - (<span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_51_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_52_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_43_9">Enum</A>; - <span class="symbol"><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_53_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_47_4">Default_Width</A>; - <span class="symbol"><A NAME="ref_55_7" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_54_7">Set</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_54_9">Type_Set</A> := <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_48_4">Default_Setting</A>) + <b>procedure</b> <span class="symbol"><a name="ref_51_14" href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_50_14">Put</a></span> + (<span class="symbol"><a name="ref_52_7" href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_51_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_53_7" href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_52_7">Item</a></span> : <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_43_9">Enum</a>; + <span class="symbol"><a name="ref_54_7" href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_53_7">Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_47_4">Default_Width</a>; + <span class="symbol"><a name="ref_55_7" href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_54_7">Set</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_54_9">Type_Set</a> := <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_48_4">Default_Setting</a>) <b>is</b> - <span class="symbol"><A NAME="ref_57_7">Buf</A></span> : String (1 .. <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A>'Last); - <span class="symbol"><A NAME="ref_58_7">Tset</A></span> : Ada.Text_IO.Type_Set; + <span class="symbol"><a name="ref_57_7">Buf</a></span> : String (1 .. <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a>'Last); + <span class="symbol"><a name="ref_58_7">Tset</a></span> : Ada.Text_IO.Type_Set; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_54_7">Set</A> /= <A HREF="terminal_interface-curses-text_io__ads.htm#ref_54_46">Mixed_Case</A> <b>then</b> - <A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_58_7">Tset</A> := Ada.Text_IO.Type_Set'Val (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_54_9">Type_Set</A>'Pos (<A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_54_7">Set</A>)); + <b>if</b> <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_54_7">Set</a> /= <a href="terminal_interface-curses-text_io__ads.htm#ref_54_46">Mixed_Case</a> <b>then</b> + <a href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_58_7">Tset</a> := Ada.Text_IO.Type_Set'Val (<a href="terminal_interface-curses-text_io__ads.htm#ref_54_9">Type_Set</a>'Pos (<a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_54_7">Set</a>)); <b>else</b> - <A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_58_7">Tset</A> := Ada.Text_IO.Lower_Case; + <a href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_58_7">Tset</a> := Ada.Text_IO.Lower_Case; <b>end</b> <b>if</b>; - EIO.Put (<A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_57_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_52_7">Item</A>, <A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_58_7">Tset</A>); - <b>if</b> <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_54_7">Set</A> = <A HREF="terminal_interface-curses-text_io__ads.htm#ref_54_46">Mixed_Case</A> <b>then</b> - <A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_57_7">Buf</A> (<A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_57_7">Buf</A>'First) := To_Upper (<A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_57_7">Buf</A> (<A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_57_7">Buf</A>'First)); + EIO.Put (<a href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_57_7">Buf</a>, <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_52_7">Item</a>, <a href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_58_7">Tset</a>); + <b>if</b> <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_54_7">Set</a> = <a href="terminal_interface-curses-text_io__ads.htm#ref_54_46">Mixed_Case</a> <b>then</b> + <a href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_57_7">Buf</a> (<a href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_57_7">Buf</a>'First) := To_Upper (<a href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_57_7">Buf</a> (<a href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_57_7">Buf</a>'First)); <b>end</b> <b>if</b>; - <A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_48_12">Aux</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_49_14">Put_Buf</A> (<A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_51_7">Win</A>, <A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_57_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_53_7">Width</A>, True, True); - <b>end</b> <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_50_14">Put</A>; + <a href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_48_12">Aux</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_49_14">Put_Buf</a> (<a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_51_7">Win</a>, <a href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_57_7">Buf</a>, <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_53_7">Width</a>, True, True); + <b>end</b> <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_50_14">Put</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_72_14" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_56_14">Put</A></span> - (<span class="symbol"><A NAME="ref_73_7" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_57_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_43_9">Enum</A>; - <span class="symbol"><A NAME="ref_74_7" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_58_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_47_4">Default_Width</A>; - <span class="symbol"><A NAME="ref_75_7" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_59_7">Set</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_54_9">Type_Set</A> := <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_48_4">Default_Setting</A>) + <b>procedure</b> <span class="symbol"><a name="ref_72_14" href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_56_14">Put</a></span> + (<span class="symbol"><a name="ref_73_7" href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_57_7">Item</a></span> : <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_43_9">Enum</a>; + <span class="symbol"><a name="ref_74_7" href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_58_7">Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_47_4">Default_Width</a>; + <span class="symbol"><a name="ref_75_7" href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_59_7">Set</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_54_9">Type_Set</a> := <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_48_4">Default_Setting</a>) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_50_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_57_7">Item</A>, <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_58_7">Width</A>, <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_59_7">Set</A>); - <b>end</b> <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_56_14">Put</A>; + <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_50_14">Put</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>, <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_57_7">Item</a>, <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_58_7">Width</a>, <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_59_7">Set</a>); + <b>end</b> <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_56_14">Put</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_45_43">Enumeration_IO</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_45_43">Enumeration_IO</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__ads.htm b/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__ads.htm index d29a51efb9f5..4f7bc7fc1987 100644 --- a/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__ads.htm +++ b/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-text_io-enumeration_io.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-text_io-enumeration_io.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,72 +11,72 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-enumeration_io.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Text_IO.Enumeration_IO --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.13 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-enumeration_io.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Text_IO.Enumeration_IO --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.13 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>generic</b> - <b>type</b> <span class="symbol"><A NAME="ref_43_9" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_45_43">Enum</A></span> <b>is</b> (<>); + <b>type</b> <span class="symbol"><a name="ref_43_9">Enum</a></span> <b>is</b> (<>); -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<span class="symbol"><A NAME="ref_45_43" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_46_48">Enumeration_IO</A></span> <b>is</b> +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_45_43" href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_46_48">Enumeration_IO</a></span> <b>is</b> - <span class="symbol"><A NAME="ref_47_4">Default_Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := 0; - <span class="symbol"><A NAME="ref_48_4">Default_Setting</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_54_9">Type_Set</A> := <A HREF="terminal_interface-curses-text_io__ads.htm#ref_54_46">Mixed_Case</A>; + <span class="symbol"><a name="ref_47_4">Default_Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := 0; + <span class="symbol"><a name="ref_48_4">Default_Setting</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_54_9">Type_Set</a> := <a href="terminal_interface-curses-text_io__ads.htm#ref_54_46">Mixed_Case</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_50_14" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_51_14">Put</A></span> - (<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_52_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_53_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_43_9">Enum</A>; - <span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_54_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_47_4">Default_Width</A>; - <span class="symbol"><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_55_7">Set</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_54_9">Type_Set</A> := <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_48_4">Default_Setting</A>); + <b>procedure</b> <span class="symbol"><a name="ref_50_14" href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_51_14">Put</a></span> + (<span class="symbol"><a name="ref_51_7" href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_52_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_52_7" href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_53_7">Item</a></span> : <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_43_9">Enum</a>; + <span class="symbol"><a name="ref_53_7" href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_54_7">Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_47_4">Default_Width</a>; + <span class="symbol"><a name="ref_54_7" href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_55_7">Set</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_54_9">Type_Set</a> := <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_48_4">Default_Setting</a>); - <b>procedure</b> <span class="symbol"><A NAME="ref_56_14" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_72_14">Put</A></span> - (<span class="symbol"><A NAME="ref_57_7" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_73_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_43_9">Enum</A>; - <span class="symbol"><A NAME="ref_58_7" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_74_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_47_4">Default_Width</A>; - <span class="symbol"><A NAME="ref_59_7" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_75_7">Set</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_54_9">Type_Set</A> := <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_48_4">Default_Setting</A>); + <b>procedure</b> <span class="symbol"><a name="ref_56_14" href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_72_14">Put</a></span> + (<span class="symbol"><a name="ref_57_7" href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_73_7">Item</a></span> : <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_43_9">Enum</a>; + <span class="symbol"><a name="ref_58_7" href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_74_7">Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_47_4">Default_Width</a>; + <span class="symbol"><a name="ref_59_7" href="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_75_7">Set</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_54_9">Type_Set</a> := <a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_48_4">Default_Setting</a>); <b>private</b> <b>pragma</b> Inline (Put); -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_45_43">Enumeration_IO</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_45_43">Enumeration_IO</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-text_io-fixed_io__adb.htm b/doc/html/ada/terminal_interface-curses-text_io-fixed_io__adb.htm index 51b88dce58a5..b14e73ec746f 100644 --- a/doc/html/ada/terminal_interface-curses-text_io-fixed_io__adb.htm +++ b/doc/html/ada/terminal_interface-curses-text_io-fixed_io__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-text_io-fixed_io.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-text_io-fixed_io.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,84 +11,84 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-fixed_io.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Text_IO.Fixed_IO --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.12 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-fixed_io.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Text_IO.Fixed_IO --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.12 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>with</b> Ada.Text_IO; -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</A>; +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a>; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<span class="symbol"><A NAME="ref_45_48" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_45_43">Fixed_IO</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_45_48" href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_45_43">Fixed_IO</a></span> <b>is</b> - <b>package</b> <span class="symbol"><A NAME="ref_47_12">Aux</A></span> <b>renames</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</A>; - <b>package</b> FIXIO <b>is</b> <b>new</b> Ada.Text_IO.Fixed_IO (<A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_43_9">Num</A>); + <b>package</b> <span class="symbol"><a name="ref_47_12">Aux</a></span> <b>renames</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a>; + <b>package</b> FIXIO <b>is</b> <b>new</b> Ada.Text_IO.Fixed_IO (<a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_43_9">Num</a>); - <b>procedure</b> <span class="symbol"><A NAME="ref_50_14" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_51_14">Put</A></span> - (<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_52_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_53_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_43_9">Num</A>; - <span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_54_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_47_4">Default_Fore</A>; - <span class="symbol"><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_55_7">Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_48_4">Default_Aft</A>; - <span class="symbol"><A NAME="ref_55_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_56_7">Exp</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_49_4">Default_Exp</A>) + <b>procedure</b> <span class="symbol"><a name="ref_50_14" href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_51_14">Put</a></span> + (<span class="symbol"><a name="ref_51_7" href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_52_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_52_7" href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_53_7">Item</a></span> : <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_43_9">Num</a>; + <span class="symbol"><a name="ref_53_7" href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_54_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_47_4">Default_Fore</a>; + <span class="symbol"><a name="ref_54_7" href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_55_7">Aft</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_48_4">Default_Aft</a>; + <span class="symbol"><a name="ref_55_7" href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_56_7">Exp</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_49_4">Default_Exp</a>) <b>is</b> - <span class="symbol"><A NAME="ref_57_7">Buf</A></span> : String (1 .. <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A>'Last); - <span class="symbol"><A NAME="ref_58_7">Len</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_54_7">Fore</A> + 1 + <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_55_7">Aft</A>; + <span class="symbol"><a name="ref_57_7">Buf</a></span> : String (1 .. <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a>'Last); + <span class="symbol"><a name="ref_58_7">Len</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_54_7">Fore</a> + 1 + <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_55_7">Aft</a>; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_56_7">Exp</A> > 0 <b>then</b> - <A HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_58_7">Len</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_58_7">Len</A> + 1 + <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_56_7">Exp</A>; + <b>if</b> <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_56_7">Exp</a> > 0 <b>then</b> + <a href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_58_7">Len</a> := <a href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_58_7">Len</a> + 1 + <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_56_7">Exp</a>; <b>end</b> <b>if</b>; - FIXIO.Put (<A HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_57_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_53_7">Item</A>, <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_55_7">Aft</A>, <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_56_7">Exp</A>); - <A HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_47_12">Aux</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_49_14">Put_Buf</A> (<A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_52_7">Win</A>, <A HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_57_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_58_7">Len</A>, False); - <b>end</b> <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_51_14">Put</A>; + FIXIO.Put (<a href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_57_7">Buf</a>, <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_53_7">Item</a>, <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_55_7">Aft</a>, <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_56_7">Exp</a>); + <a href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_47_12">Aux</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_49_14">Put_Buf</a> (<a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_52_7">Win</a>, <a href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_57_7">Buf</a>, <a href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_58_7">Len</a>, False); + <b>end</b> <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_51_14">Put</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_67_14" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_58_14">Put</A></span> - (<span class="symbol"><A NAME="ref_68_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_59_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_43_9">Num</A>; - <span class="symbol"><A NAME="ref_69_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_60_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_47_4">Default_Fore</A>; - <span class="symbol"><A NAME="ref_70_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_61_7">Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_48_4">Default_Aft</A>; - <span class="symbol"><A NAME="ref_71_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_62_7">Exp</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_49_4">Default_Exp</A>) <b>is</b> + <b>procedure</b> <span class="symbol"><a name="ref_67_14" href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_58_14">Put</a></span> + (<span class="symbol"><a name="ref_68_7" href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_59_7">Item</a></span> : <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_43_9">Num</a>; + <span class="symbol"><a name="ref_69_7" href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_60_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_47_4">Default_Fore</a>; + <span class="symbol"><a name="ref_70_7" href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_61_7">Aft</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_48_4">Default_Aft</a>; + <span class="symbol"><a name="ref_71_7" href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_62_7">Exp</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_49_4">Default_Exp</a>) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_51_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_59_7">Item</A>, <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_60_7">Fore</A>, <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_61_7">Aft</A>, <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_62_7">Exp</A>); - <b>end</b> <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_58_14">Put</A>; + <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_51_14">Put</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>, <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_59_7">Item</a>, <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_60_7">Fore</a>, <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_61_7">Aft</a>, <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_62_7">Exp</a>); + <b>end</b> <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_58_14">Put</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_45_43">Fixed_IO</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_45_43">Fixed_IO</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-text_io-fixed_io__ads.htm b/doc/html/ada/terminal_interface-curses-text_io-fixed_io__ads.htm index f6f9eb867d04..abd2b999fbfc 100644 --- a/doc/html/ada/terminal_interface-curses-text_io-fixed_io__ads.htm +++ b/doc/html/ada/terminal_interface-curses-text_io-fixed_io__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-text_io-fixed_io.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-text_io-fixed_io.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,75 +11,75 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-fixed_io.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Text_IO.Fixed_IO --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.13 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-fixed_io.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Text_IO.Fixed_IO --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.13 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>generic</b> - <b>type</b> <span class="symbol"><A NAME="ref_43_9" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_45_43">Num</A></span> <b>is</b> <b>delta</b> <>; + <b>type</b> <span class="symbol"><a name="ref_43_9">Num</a></span> <b>is</b> <b>delta</b> <>; -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<span class="symbol"><A NAME="ref_45_43" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_45_48">Fixed_IO</A></span> <b>is</b> +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_45_43" href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_45_48">Fixed_IO</a></span> <b>is</b> - <span class="symbol"><A NAME="ref_47_4">Default_Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_43_9">Num</A>'Fore; - <span class="symbol"><A NAME="ref_48_4">Default_Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_43_9">Num</A>'Aft; - <span class="symbol"><A NAME="ref_49_4">Default_Exp</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := 0; + <span class="symbol"><a name="ref_47_4">Default_Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_43_9">Num</a>'Fore; + <span class="symbol"><a name="ref_48_4">Default_Aft</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_43_9">Num</a>'Aft; + <span class="symbol"><a name="ref_49_4">Default_Exp</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := 0; - <b>procedure</b> <span class="symbol"><A NAME="ref_51_14" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_50_14">Put</A></span> - (<span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_51_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_52_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_43_9">Num</A>; - <span class="symbol"><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_53_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_47_4">Default_Fore</A>; - <span class="symbol"><A NAME="ref_55_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_54_7">Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_48_4">Default_Aft</A>; - <span class="symbol"><A NAME="ref_56_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_55_7">Exp</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_49_4">Default_Exp</A>); + <b>procedure</b> <span class="symbol"><a name="ref_51_14" href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_50_14">Put</a></span> + (<span class="symbol"><a name="ref_52_7" href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_51_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_53_7" href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_52_7">Item</a></span> : <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_43_9">Num</a>; + <span class="symbol"><a name="ref_54_7" href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_53_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_47_4">Default_Fore</a>; + <span class="symbol"><a name="ref_55_7" href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_54_7">Aft</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_48_4">Default_Aft</a>; + <span class="symbol"><a name="ref_56_7" href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_55_7">Exp</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_49_4">Default_Exp</a>); - <b>procedure</b> <span class="symbol"><A NAME="ref_58_14" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_67_14">Put</A></span> - (<span class="symbol"><A NAME="ref_59_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_68_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_43_9">Num</A>; - <span class="symbol"><A NAME="ref_60_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_69_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_47_4">Default_Fore</A>; - <span class="symbol"><A NAME="ref_61_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_70_7">Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_48_4">Default_Aft</A>; - <span class="symbol"><A NAME="ref_62_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_71_7">Exp</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_49_4">Default_Exp</A>); + <b>procedure</b> <span class="symbol"><a name="ref_58_14" href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_67_14">Put</a></span> + (<span class="symbol"><a name="ref_59_7" href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_68_7">Item</a></span> : <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_43_9">Num</a>; + <span class="symbol"><a name="ref_60_7" href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_69_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_47_4">Default_Fore</a>; + <span class="symbol"><a name="ref_61_7" href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_70_7">Aft</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_48_4">Default_Aft</a>; + <span class="symbol"><a name="ref_62_7" href="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_71_7">Exp</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_49_4">Default_Exp</a>); <b>private</b> <b>pragma</b> Inline (Put); -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_45_43">Fixed_IO</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_45_43">Fixed_IO</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-text_io-float_io__adb.htm b/doc/html/ada/terminal_interface-curses-text_io-float_io__adb.htm index d15123266f10..a0ba64c5803b 100644 --- a/doc/html/ada/terminal_interface-curses-text_io-float_io__adb.htm +++ b/doc/html/ada/terminal_interface-curses-text_io-float_io__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-text_io-float_io.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-text_io-float_io.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,85 +11,85 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-float_io.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Text_IO.Float_IO --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.12 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-float_io.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Text_IO.Float_IO --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.12 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>with</b> Ada.Text_IO; -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</A>; +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a>; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<span class="symbol"><A NAME="ref_45_48" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_45_43">Float_IO</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_45_48" href="terminal_interface-curses-text_io-float_io__ads.htm#ref_45_43">Float_IO</a></span> <b>is</b> - <b>package</b> <span class="symbol"><A NAME="ref_47_12">Aux</A></span> <b>renames</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</A>; - <b>package</b> FIO <b>is</b> <b>new</b> Ada.Text_IO.Float_IO (<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_43_9">Num</A>); + <b>package</b> <span class="symbol"><a name="ref_47_12">Aux</a></span> <b>renames</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a>; + <b>package</b> FIO <b>is</b> <b>new</b> Ada.Text_IO.Float_IO (<a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_43_9">Num</a>); - <b>procedure</b> <span class="symbol"><A NAME="ref_50_14" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_51_14">Put</A></span> - (<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_52_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_53_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_43_9">Num</A>; - <span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_54_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_47_4">Default_Fore</A>; - <span class="symbol"><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_55_7">Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_48_4">Default_Aft</A>; - <span class="symbol"><A NAME="ref_55_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_56_7">Exp</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_49_4">Default_Exp</A>) + <b>procedure</b> <span class="symbol"><a name="ref_50_14" href="terminal_interface-curses-text_io-float_io__ads.htm#ref_51_14">Put</a></span> + (<span class="symbol"><a name="ref_51_7" href="terminal_interface-curses-text_io-float_io__ads.htm#ref_52_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_52_7" href="terminal_interface-curses-text_io-float_io__ads.htm#ref_53_7">Item</a></span> : <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_43_9">Num</a>; + <span class="symbol"><a name="ref_53_7" href="terminal_interface-curses-text_io-float_io__ads.htm#ref_54_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_47_4">Default_Fore</a>; + <span class="symbol"><a name="ref_54_7" href="terminal_interface-curses-text_io-float_io__ads.htm#ref_55_7">Aft</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_48_4">Default_Aft</a>; + <span class="symbol"><a name="ref_55_7" href="terminal_interface-curses-text_io-float_io__ads.htm#ref_56_7">Exp</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_49_4">Default_Exp</a>) <b>is</b> - <span class="symbol"><A NAME="ref_57_7">Buf</A></span> : String (1 .. <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A>'Last); - <span class="symbol"><A NAME="ref_58_7">Len</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_54_7">Fore</A> + 1 + <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_55_7">Aft</A>; + <span class="symbol"><a name="ref_57_7">Buf</a></span> : String (1 .. <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a>'Last); + <span class="symbol"><a name="ref_58_7">Len</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_54_7">Fore</a> + 1 + <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_55_7">Aft</a>; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_56_7">Exp</A> > 0 <b>then</b> - <A HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_58_7">Len</A> := <A HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_58_7">Len</A> + 1 + <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_56_7">Exp</A>; + <b>if</b> <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_56_7">Exp</a> > 0 <b>then</b> + <a href="terminal_interface-curses-text_io-float_io__adb.htm#ref_58_7">Len</a> := <a href="terminal_interface-curses-text_io-float_io__adb.htm#ref_58_7">Len</a> + 1 + <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_56_7">Exp</a>; <b>end</b> <b>if</b>; - FIO.Put (<A HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_57_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_53_7">Item</A>, <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_55_7">Aft</A>, <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_56_7">Exp</A>); - <A HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_47_12">Aux</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_49_14">Put_Buf</A> (<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_52_7">Win</A>, <A HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_57_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_58_7">Len</A>, False); - <b>end</b> <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_51_14">Put</A>; + FIO.Put (<a href="terminal_interface-curses-text_io-float_io__adb.htm#ref_57_7">Buf</a>, <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_53_7">Item</a>, <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_55_7">Aft</a>, <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_56_7">Exp</a>); + <a href="terminal_interface-curses-text_io-float_io__adb.htm#ref_47_12">Aux</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_49_14">Put_Buf</a> (<a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_52_7">Win</a>, <a href="terminal_interface-curses-text_io-float_io__adb.htm#ref_57_7">Buf</a>, <a href="terminal_interface-curses-text_io-float_io__adb.htm#ref_58_7">Len</a>, False); + <b>end</b> <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_51_14">Put</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_67_14" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_58_14">Put</A></span> - (<span class="symbol"><A NAME="ref_68_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_59_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_43_9">Num</A>; - <span class="symbol"><A NAME="ref_69_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_60_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_47_4">Default_Fore</A>; - <span class="symbol"><A NAME="ref_70_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_61_7">Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_48_4">Default_Aft</A>; - <span class="symbol"><A NAME="ref_71_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_62_7">Exp</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_49_4">Default_Exp</A>) + <b>procedure</b> <span class="symbol"><a name="ref_67_14" href="terminal_interface-curses-text_io-float_io__ads.htm#ref_58_14">Put</a></span> + (<span class="symbol"><a name="ref_68_7" href="terminal_interface-curses-text_io-float_io__ads.htm#ref_59_7">Item</a></span> : <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_43_9">Num</a>; + <span class="symbol"><a name="ref_69_7" href="terminal_interface-curses-text_io-float_io__ads.htm#ref_60_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_47_4">Default_Fore</a>; + <span class="symbol"><a name="ref_70_7" href="terminal_interface-curses-text_io-float_io__ads.htm#ref_61_7">Aft</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_48_4">Default_Aft</a>; + <span class="symbol"><a name="ref_71_7" href="terminal_interface-curses-text_io-float_io__ads.htm#ref_62_7">Exp</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_49_4">Default_Exp</a>) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_51_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_59_7">Item</A>, <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_60_7">Fore</A>, <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_61_7">Aft</A>, <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_62_7">Exp</A>); - <b>end</b> <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_58_14">Put</A>; + <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_51_14">Put</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>, <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_59_7">Item</a>, <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_60_7">Fore</a>, <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_61_7">Aft</a>, <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_62_7">Exp</a>); + <b>end</b> <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_58_14">Put</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_45_43">Float_IO</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_45_43">Float_IO</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-text_io-float_io__ads.htm b/doc/html/ada/terminal_interface-curses-text_io-float_io__ads.htm index 4b16d638c0cc..a4382f194f9d 100644 --- a/doc/html/ada/terminal_interface-curses-text_io-float_io__ads.htm +++ b/doc/html/ada/terminal_interface-curses-text_io-float_io__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-text_io-float_io.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-text_io-float_io.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,75 +11,75 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-float_io.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Text_IO.Float_IO --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.13 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-float_io.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Text_IO.Float_IO --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.13 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>generic</b> - <b>type</b> <span class="symbol"><A NAME="ref_43_9" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_45_43">Num</A></span> <b>is</b> <b>digits</b> <>; + <b>type</b> <span class="symbol"><a name="ref_43_9">Num</a></span> <b>is</b> <b>digits</b> <>; -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<span class="symbol"><A NAME="ref_45_43" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_45_48">Float_IO</A></span> <b>is</b> +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_45_43" href="terminal_interface-curses-text_io-float_io__adb.htm#ref_45_48">Float_IO</a></span> <b>is</b> - <span class="symbol"><A NAME="ref_47_4">Default_Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := 2; - <span class="symbol"><A NAME="ref_48_4">Default_Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_43_9">Num</A>'<b>Digits</b> - 1; - <span class="symbol"><A NAME="ref_49_4">Default_Exp</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := 3; + <span class="symbol"><a name="ref_47_4">Default_Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := 2; + <span class="symbol"><a name="ref_48_4">Default_Aft</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_43_9">Num</a>'<b>Digits</b> - 1; + <span class="symbol"><a name="ref_49_4">Default_Exp</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := 3; - <b>procedure</b> <span class="symbol"><A NAME="ref_51_14" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_50_14">Put</A></span> - (<span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_51_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_52_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_43_9">Num</A>; - <span class="symbol"><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_53_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_47_4">Default_Fore</A>; - <span class="symbol"><A NAME="ref_55_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_54_7">Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_48_4">Default_Aft</A>; - <span class="symbol"><A NAME="ref_56_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_55_7">Exp</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_49_4">Default_Exp</A>); + <b>procedure</b> <span class="symbol"><a name="ref_51_14" href="terminal_interface-curses-text_io-float_io__adb.htm#ref_50_14">Put</a></span> + (<span class="symbol"><a name="ref_52_7" href="terminal_interface-curses-text_io-float_io__adb.htm#ref_51_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_53_7" href="terminal_interface-curses-text_io-float_io__adb.htm#ref_52_7">Item</a></span> : <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_43_9">Num</a>; + <span class="symbol"><a name="ref_54_7" href="terminal_interface-curses-text_io-float_io__adb.htm#ref_53_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_47_4">Default_Fore</a>; + <span class="symbol"><a name="ref_55_7" href="terminal_interface-curses-text_io-float_io__adb.htm#ref_54_7">Aft</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_48_4">Default_Aft</a>; + <span class="symbol"><a name="ref_56_7" href="terminal_interface-curses-text_io-float_io__adb.htm#ref_55_7">Exp</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_49_4">Default_Exp</a>); - <b>procedure</b> <span class="symbol"><A NAME="ref_58_14" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_67_14">Put</A></span> - (<span class="symbol"><A NAME="ref_59_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_68_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_43_9">Num</A>; - <span class="symbol"><A NAME="ref_60_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_69_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_47_4">Default_Fore</A>; - <span class="symbol"><A NAME="ref_61_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_70_7">Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_48_4">Default_Aft</A>; - <span class="symbol"><A NAME="ref_62_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_71_7">Exp</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_49_4">Default_Exp</A>); + <b>procedure</b> <span class="symbol"><a name="ref_58_14" href="terminal_interface-curses-text_io-float_io__adb.htm#ref_67_14">Put</a></span> + (<span class="symbol"><a name="ref_59_7" href="terminal_interface-curses-text_io-float_io__adb.htm#ref_68_7">Item</a></span> : <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_43_9">Num</a>; + <span class="symbol"><a name="ref_60_7" href="terminal_interface-curses-text_io-float_io__adb.htm#ref_69_7">Fore</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_47_4">Default_Fore</a>; + <span class="symbol"><a name="ref_61_7" href="terminal_interface-curses-text_io-float_io__adb.htm#ref_70_7">Aft</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_48_4">Default_Aft</a>; + <span class="symbol"><a name="ref_62_7" href="terminal_interface-curses-text_io-float_io__adb.htm#ref_71_7">Exp</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_49_4">Default_Exp</a>); <b>private</b> <b>pragma</b> Inline (Put); -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_45_43">Float_IO</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-float_io__ads.htm#ref_45_43">Float_IO</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-text_io-integer_io__adb.htm b/doc/html/ada/terminal_interface-curses-text_io-integer_io__adb.htm index d92a03dd8102..f158e3343675 100644 --- a/doc/html/ada/terminal_interface-curses-text_io-integer_io__adb.htm +++ b/doc/html/ada/terminal_interface-curses-text_io-integer_io__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-text_io-integer_io.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-text_io-integer_io.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,79 +11,79 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-integer_io.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Text_IO.Integer_IO --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.12 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-integer_io.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Text_IO.Integer_IO --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.12 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>with</b> Ada.Text_IO; -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</A>; +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a>; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<span class="symbol"><A NAME="ref_45_48" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_45_43">Integer_IO</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_45_48" href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_45_43">Integer_IO</a></span> <b>is</b> - <b>package</b> <span class="symbol"><A NAME="ref_47_12">Aux</A></span> <b>renames</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</A>; - <b>package</b> IIO <b>is</b> <b>new</b> Ada.Text_IO.Integer_IO (<A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_43_9">Num</A>); + <b>package</b> <span class="symbol"><a name="ref_47_12">Aux</a></span> <b>renames</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a>; + <b>package</b> IIO <b>is</b> <b>new</b> Ada.Text_IO.Integer_IO (<a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_43_9">Num</a>); - <b>procedure</b> <span class="symbol"><A NAME="ref_50_14" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_50_14">Put</A></span> - (<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_51_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_52_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_43_9">Num</A>; - <span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_53_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_47_4">Default_Width</A>; - <span class="symbol"><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_54_7">Base</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</A> := <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_48_4">Default_Base</A>) + <b>procedure</b> <span class="symbol"><a name="ref_50_14" href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_50_14">Put</a></span> + (<span class="symbol"><a name="ref_51_7" href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_51_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_52_7" href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_52_7">Item</a></span> : <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_43_9">Num</a>; + <span class="symbol"><a name="ref_53_7" href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_53_7">Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_47_4">Default_Width</a>; + <span class="symbol"><a name="ref_54_7" href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_54_7">Base</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</a> := <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_48_4">Default_Base</a>) <b>is</b> - <span class="symbol"><A NAME="ref_56_7">Buf</A></span> : String (1 .. <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A>'Last); + <span class="symbol"><a name="ref_56_7">Buf</a></span> : String (1 .. <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a>'Last); <b>begin</b> - IIO.Put (<A HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_56_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_52_7">Item</A>, <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_54_7">Base</A>); - <A HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_47_12">Aux</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_49_14">Put_Buf</A> (<A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_51_7">Win</A>, <A HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_56_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_53_7">Width</A>); - <b>end</b> <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_50_14">Put</A>; + IIO.Put (<a href="terminal_interface-curses-text_io-integer_io__adb.htm#ref_56_7">Buf</a>, <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_52_7">Item</a>, <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_54_7">Base</a>); + <a href="terminal_interface-curses-text_io-integer_io__adb.htm#ref_47_12">Aux</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_49_14">Put_Buf</a> (<a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_51_7">Win</a>, <a href="terminal_interface-curses-text_io-integer_io__adb.htm#ref_56_7">Buf</a>, <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_53_7">Width</a>); + <b>end</b> <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_50_14">Put</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_62_14" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_56_14">Put</A></span> - (<span class="symbol"><A NAME="ref_63_7" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_57_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_43_9">Num</A>; - <span class="symbol"><A NAME="ref_64_7" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_58_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_47_4">Default_Width</A>; - <span class="symbol"><A NAME="ref_65_7" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_59_7">Base</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</A> := <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_48_4">Default_Base</A>) + <b>procedure</b> <span class="symbol"><a name="ref_62_14" href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_56_14">Put</a></span> + (<span class="symbol"><a name="ref_63_7" href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_57_7">Item</a></span> : <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_43_9">Num</a>; + <span class="symbol"><a name="ref_64_7" href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_58_7">Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_47_4">Default_Width</a>; + <span class="symbol"><a name="ref_65_7" href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_59_7">Base</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</a> := <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_48_4">Default_Base</a>) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_50_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_57_7">Item</A>, <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_58_7">Width</A>, <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_59_7">Base</A>); - <b>end</b> <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_56_14">Put</A>; + <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_50_14">Put</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>, <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_57_7">Item</a>, <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_58_7">Width</a>, <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_59_7">Base</a>); + <b>end</b> <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_56_14">Put</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_45_43">Integer_IO</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_45_43">Integer_IO</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-text_io-integer_io__ads.htm b/doc/html/ada/terminal_interface-curses-text_io-integer_io__ads.htm index 52be27eaa92d..23239f6935ec 100644 --- a/doc/html/ada/terminal_interface-curses-text_io-integer_io__ads.htm +++ b/doc/html/ada/terminal_interface-curses-text_io-integer_io__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-text_io-integer_io.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-text_io-integer_io.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,72 +11,72 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-integer_io.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Text_IO.Integer_IO --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.13 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-integer_io.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Text_IO.Integer_IO --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.13 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>generic</b> - <b>type</b> <span class="symbol"><A NAME="ref_43_9" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_45_43">Num</A></span> <b>is</b> <b>range</b> <>; + <b>type</b> <span class="symbol"><a name="ref_43_9">Num</a></span> <b>is</b> <b>range</b> <>; -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<span class="symbol"><A NAME="ref_45_43" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_45_48">Integer_IO</A></span> <b>is</b> +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_45_43" href="terminal_interface-curses-text_io-integer_io__adb.htm#ref_45_48">Integer_IO</a></span> <b>is</b> - <span class="symbol"><A NAME="ref_47_4">Default_Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_43_9">Num</A>'Width; - <span class="symbol"><A NAME="ref_48_4">Default_Base</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</A> := 10; + <span class="symbol"><a name="ref_47_4">Default_Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_43_9">Num</a>'Width; + <span class="symbol"><a name="ref_48_4">Default_Base</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</a> := 10; - <b>procedure</b> <span class="symbol"><A NAME="ref_50_14" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_50_14">Put</A></span> - (<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_51_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_52_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_43_9">Num</A>; - <span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_53_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_47_4">Default_Width</A>; - <span class="symbol"><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_54_7">Base</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</A> := <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_48_4">Default_Base</A>); + <b>procedure</b> <span class="symbol"><a name="ref_50_14" href="terminal_interface-curses-text_io-integer_io__adb.htm#ref_50_14">Put</a></span> + (<span class="symbol"><a name="ref_51_7" href="terminal_interface-curses-text_io-integer_io__adb.htm#ref_51_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_52_7" href="terminal_interface-curses-text_io-integer_io__adb.htm#ref_52_7">Item</a></span> : <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_43_9">Num</a>; + <span class="symbol"><a name="ref_53_7" href="terminal_interface-curses-text_io-integer_io__adb.htm#ref_53_7">Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_47_4">Default_Width</a>; + <span class="symbol"><a name="ref_54_7" href="terminal_interface-curses-text_io-integer_io__adb.htm#ref_54_7">Base</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</a> := <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_48_4">Default_Base</a>); - <b>procedure</b> <span class="symbol"><A NAME="ref_56_14" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_62_14">Put</A></span> - (<span class="symbol"><A NAME="ref_57_7" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_63_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_43_9">Num</A>; - <span class="symbol"><A NAME="ref_58_7" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_64_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_47_4">Default_Width</A>; - <span class="symbol"><A NAME="ref_59_7" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_65_7">Base</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</A> := <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_48_4">Default_Base</A>); + <b>procedure</b> <span class="symbol"><a name="ref_56_14" href="terminal_interface-curses-text_io-integer_io__adb.htm#ref_62_14">Put</a></span> + (<span class="symbol"><a name="ref_57_7" href="terminal_interface-curses-text_io-integer_io__adb.htm#ref_63_7">Item</a></span> : <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_43_9">Num</a>; + <span class="symbol"><a name="ref_58_7" href="terminal_interface-curses-text_io-integer_io__adb.htm#ref_64_7">Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_47_4">Default_Width</a>; + <span class="symbol"><a name="ref_59_7" href="terminal_interface-curses-text_io-integer_io__adb.htm#ref_65_7">Base</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</a> := <a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_48_4">Default_Base</a>); <b>private</b> <b>pragma</b> Inline (Put); -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_45_43">Integer_IO</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-integer_io__ads.htm#ref_45_43">Integer_IO</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-text_io-modular_io__adb.htm b/doc/html/ada/terminal_interface-curses-text_io-modular_io__adb.htm index bc5ebf888d95..0645bb6ec297 100644 --- a/doc/html/ada/terminal_interface-curses-text_io-modular_io__adb.htm +++ b/doc/html/ada/terminal_interface-curses-text_io-modular_io__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-text_io-modular_io.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-text_io-modular_io.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,79 +11,79 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-modular_io.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Text_IO.Modular_IO --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.12 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-modular_io.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Text_IO.Modular_IO --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.12 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>with</b> Ada.Text_IO; -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</A>; +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a>; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<span class="symbol"><A NAME="ref_45_48" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_45_43">Modular_IO</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_45_48" href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_45_43">Modular_IO</a></span> <b>is</b> - <b>package</b> <span class="symbol"><A NAME="ref_47_12">Aux</A></span> <b>renames</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</A>; - <b>package</b> MIO <b>is</b> <b>new</b> Ada.Text_IO.Modular_IO (<A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_43_9">Num</A>); + <b>package</b> <span class="symbol"><a name="ref_47_12">Aux</a></span> <b>renames</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_43_51">Aux</a>; + <b>package</b> MIO <b>is</b> <b>new</b> Ada.Text_IO.Modular_IO (<a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_43_9">Num</a>); - <b>procedure</b> <span class="symbol"><A NAME="ref_50_14" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_50_14">Put</A></span> - (<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_51_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_52_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_43_9">Num</A>; - <span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_53_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_47_4">Default_Width</A>; - <span class="symbol"><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_54_7">Base</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</A> := <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_48_4">Default_Base</A>) + <b>procedure</b> <span class="symbol"><a name="ref_50_14" href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_50_14">Put</a></span> + (<span class="symbol"><a name="ref_51_7" href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_51_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_52_7" href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_52_7">Item</a></span> : <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_43_9">Num</a>; + <span class="symbol"><a name="ref_53_7" href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_53_7">Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_47_4">Default_Width</a>; + <span class="symbol"><a name="ref_54_7" href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_54_7">Base</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</a> := <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_48_4">Default_Base</a>) <b>is</b> - <span class="symbol"><A NAME="ref_56_7">Buf</A></span> : String (1 .. <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A>'Last); + <span class="symbol"><a name="ref_56_7">Buf</a></span> : String (1 .. <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a>'Last); <b>begin</b> - MIO.Put (<A HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_56_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_52_7">Item</A>, <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_54_7">Base</A>); - <A HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_47_12">Aux</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_49_14">Put_Buf</A> (<A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_51_7">Win</A>, <A HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_56_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_53_7">Width</A>); - <b>end</b> <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_50_14">Put</A>; + MIO.Put (<a href="terminal_interface-curses-text_io-modular_io__adb.htm#ref_56_7">Buf</a>, <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_52_7">Item</a>, <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_54_7">Base</a>); + <a href="terminal_interface-curses-text_io-modular_io__adb.htm#ref_47_12">Aux</a>.<a href="terminal_interface-curses-text_io-aux__ads.htm#ref_49_14">Put_Buf</a> (<a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_51_7">Win</a>, <a href="terminal_interface-curses-text_io-modular_io__adb.htm#ref_56_7">Buf</a>, <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_53_7">Width</a>); + <b>end</b> <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_50_14">Put</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_62_14" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_56_14">Put</A></span> - (<span class="symbol"><A NAME="ref_63_7" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_57_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_43_9">Num</A>; - <span class="symbol"><A NAME="ref_64_7" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_58_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_47_4">Default_Width</A>; - <span class="symbol"><A NAME="ref_65_7" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_59_7">Base</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</A> := <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_48_4">Default_Base</A>) + <b>procedure</b> <span class="symbol"><a name="ref_62_14" href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_56_14">Put</a></span> + (<span class="symbol"><a name="ref_63_7" href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_57_7">Item</a></span> : <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_43_9">Num</a>; + <span class="symbol"><a name="ref_64_7" href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_58_7">Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_47_4">Default_Width</a>; + <span class="symbol"><a name="ref_65_7" href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_59_7">Base</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</a> := <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_48_4">Default_Base</a>) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_50_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_57_7">Item</A>, <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_58_7">Width</A>, <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_59_7">Base</A>); - <b>end</b> <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_56_14">Put</A>; + <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_50_14">Put</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>, <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_57_7">Item</a>, <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_58_7">Width</a>, <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_59_7">Base</a>); + <b>end</b> <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_56_14">Put</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_45_43">Modular_IO</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_45_43">Modular_IO</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-text_io-modular_io__ads.htm b/doc/html/ada/terminal_interface-curses-text_io-modular_io__ads.htm index f78a369226df..043ac0a380f4 100644 --- a/doc/html/ada/terminal_interface-curses-text_io-modular_io__ads.htm +++ b/doc/html/ada/terminal_interface-curses-text_io-modular_io__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-text_io-modular_io.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-text_io-modular_io.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,72 +11,72 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io-modular_io.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Text_IO.Modular_IO --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.13 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io-modular_io.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Text_IO.Modular_IO --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.13 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>generic</b> - <b>type</b> <span class="symbol"><A NAME="ref_43_9" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_45_43">Num</A></span> <b>is</b> <b>mod</b> <>; + <b>type</b> <span class="symbol"><a name="ref_43_9">Num</a></span> <b>is</b> <b>mod</b> <>; -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<span class="symbol"><A NAME="ref_45_43" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_45_48">Modular_IO</A></span> <b>is</b> +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<span class="symbol"><a name="ref_45_43" href="terminal_interface-curses-text_io-modular_io__adb.htm#ref_45_48">Modular_IO</a></span> <b>is</b> - <span class="symbol"><A NAME="ref_47_4">Default_Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_43_9">Num</A>'Width; - <span class="symbol"><A NAME="ref_48_4">Default_Base</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</A> := 10; + <span class="symbol"><a name="ref_47_4">Default_Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_43_9">Num</a>'Width; + <span class="symbol"><a name="ref_48_4">Default_Base</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</a> := 10; - <b>procedure</b> <span class="symbol"><A NAME="ref_50_14" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_50_14">Put</A></span> - (<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_51_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_52_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_43_9">Num</A>; - <span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_53_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_47_4">Default_Width</A>; - <span class="symbol"><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_54_7">Base</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</A> := <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_48_4">Default_Base</A>); + <b>procedure</b> <span class="symbol"><a name="ref_50_14" href="terminal_interface-curses-text_io-modular_io__adb.htm#ref_50_14">Put</a></span> + (<span class="symbol"><a name="ref_51_7" href="terminal_interface-curses-text_io-modular_io__adb.htm#ref_51_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_52_7" href="terminal_interface-curses-text_io-modular_io__adb.htm#ref_52_7">Item</a></span> : <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_43_9">Num</a>; + <span class="symbol"><a name="ref_53_7" href="terminal_interface-curses-text_io-modular_io__adb.htm#ref_53_7">Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_47_4">Default_Width</a>; + <span class="symbol"><a name="ref_54_7" href="terminal_interface-curses-text_io-modular_io__adb.htm#ref_54_7">Base</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</a> := <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_48_4">Default_Base</a>); - <b>procedure</b> <span class="symbol"><A NAME="ref_56_14" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_62_14">Put</A></span> - (<span class="symbol"><A NAME="ref_57_7" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_63_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_43_9">Num</A>; - <span class="symbol"><A NAME="ref_58_7" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_64_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</A> := <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_47_4">Default_Width</A>; - <span class="symbol"><A NAME="ref_59_7" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_65_7">Base</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</A> := <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_48_4">Default_Base</A>); + <b>procedure</b> <span class="symbol"><a name="ref_56_14" href="terminal_interface-curses-text_io-modular_io__adb.htm#ref_62_14">Put</a></span> + (<span class="symbol"><a name="ref_57_7" href="terminal_interface-curses-text_io-modular_io__adb.htm#ref_63_7">Item</a></span> : <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_43_9">Num</a>; + <span class="symbol"><a name="ref_58_7" href="terminal_interface-curses-text_io-modular_io__adb.htm#ref_64_7">Width</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_51_12">Field</a> := <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_47_4">Default_Width</a>; + <span class="symbol"><a name="ref_59_7" href="terminal_interface-curses-text_io-modular_io__adb.htm#ref_65_7">Base</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_52_12">Number_Base</a> := <a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_48_4">Default_Base</a>); <b>private</b> <b>pragma</b> Inline (Put); -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_45_43">Modular_IO</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>.<a href="terminal_interface-curses-text_io-modular_io__ads.htm#ref_45_43">Modular_IO</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-text_io__adb.htm b/doc/html/ada/terminal_interface-curses-text_io__adb.htm index a1997113aea6..379760c0d9ba 100644 --- a/doc/html/ada/terminal_interface-curses-text_io__adb.htm +++ b/doc/html/ada/terminal_interface-curses-text_io__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-text_io.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-text_io.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,347 +11,347 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Text_IO --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.23 @</EM></span> -<span class="comment"><EM>-- @Date: 2020/02/02 23:34:34 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<span class="symbol"><A NAME="ref_43_40" HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A></span> <b>is</b> - - <span class="symbol"><A NAME="ref_45_4">Default_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</A>; - - <b>procedure</b> <span class="symbol"><A NAME="ref_47_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_60_14">Set_Window</A></span> (<span class="symbol"><A NAME="ref_47_26" HREF="terminal_interface-curses-text_io__ads.htm#ref_60_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Text_IO --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2011,2014 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.23 @</em></span> +<span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_43_40" href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a></span> <b>is</b> + + <span class="symbol"><a name="ref_45_4">Default_Window</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a>; + + <b>procedure</b> <span class="symbol"><a name="ref_47_14" href="terminal_interface-curses-text_io__ads.htm#ref_60_14">Set_Window</a></span> (<span class="symbol"><a name="ref_47_26" href="terminal_interface-curses-text_io__ads.htm#ref_60_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses-text_io__adb.htm#ref_45_4">Default_Window</A> := <A HREF="terminal_interface-curses-text_io__ads.htm#ref_60_26">Win</A>; - <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_60_14">Set_Window</A>; + <a href="terminal_interface-curses-text_io__adb.htm#ref_45_4">Default_Window</a> := <a href="terminal_interface-curses-text_io__ads.htm#ref_60_26">Win</a>; + <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_60_14">Set_Window</a>; - <b>function</b> <span class="symbol"><A NAME="ref_53_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> + <b>function</b> <span class="symbol"><a name="ref_53_13" href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> <b>is</b> <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_45_4">Default_Window</A> = <A HREF="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</A> <b>then</b> - <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; + <b>if</b> <a href="terminal_interface-curses-text_io__adb.htm#ref_45_4">Default_Window</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b> + <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; <b>else</b> - <b>return</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_45_4">Default_Window</A>; + <b>return</b> <a href="terminal_interface-curses-text_io__adb.htm#ref_45_4">Default_Window</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</A>; - <b>pragma</b> Inline (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</A>); + <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>; + <b>pragma</b> Inline (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>); - <b>procedure</b> <span class="symbol"><A NAME="ref_64_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_66_14">Flush</A></span> (<span class="symbol"><A NAME="ref_64_21" HREF="terminal_interface-curses-text_io__ads.htm#ref_66_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) + <b>procedure</b> <span class="symbol"><a name="ref_64_14" href="terminal_interface-curses-text_io__ads.htm#ref_66_14">Flush</a></span> (<span class="symbol"><a name="ref_64_21" href="terminal_interface-curses-text_io__ads.htm#ref_66_21">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses__ads.htm#ref_1216_14">Refresh</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_66_21">Win</A>); - <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_66_14">Flush</A>; + <a href="terminal_interface-curses__ads.htm#ref_1216_14">Refresh</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_66_21">Win</a>); + <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_66_14">Flush</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_70_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_67_14">Flush</A></span> + <b>procedure</b> <span class="symbol"><a name="ref_70_14" href="terminal_interface-curses-text_io__ads.htm#ref_67_14">Flush</a></span> <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses-text_io__ads.htm#ref_66_14">Flush</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</A>); - <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_67_14">Flush</A>; + <a href="terminal_interface-curses-text_io__ads.htm#ref_66_14">Flush</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>); + <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_67_14">Flush</a>; - <span class="comment"><EM>--------------------------------------------</EM></span> - <span class="comment"><EM>-- Specification of line and page lengths --</EM></span> - <span class="comment"><EM>--------------------------------------------</EM></span> + <span class="comment"><em>--------------------------------------------</em></span> + <span class="comment"><em>-- Specification of line and page lengths --</em></span> + <span class="comment"><em>--------------------------------------------</em></span> - <span class="comment"><EM>-- There are no set routines in this package. I assume, that you allocate</EM></span> - <span class="comment"><EM>-- the window with an appropriate size.</EM></span> - <span class="comment"><EM>-- A scroll-window is interpreted as an page with unbounded page length,</EM></span> - <span class="comment"><EM>-- i.e. it returns the conventional 0 as page length.</EM></span> + <span class="comment"><em>-- There are no set routines in this package. I assume, that you allocate</em></span> + <span class="comment"><em>-- the window with an appropriate size.</em></span> + <span class="comment"><em>-- A scroll-window is interpreted as an page with unbounded page length,</em></span> + <span class="comment"><em>-- i.e. it returns the conventional 0 as page length.</em></span> - <b>function</b> <span class="symbol"><A NAME="ref_85_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_78_13">Line_Length</A></span> (<span class="symbol"><A NAME="ref_85_26" HREF="terminal_interface-curses-text_io__ads.htm#ref_78_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</A> + <b>function</b> <span class="symbol"><a name="ref_85_13" href="terminal_interface-curses-text_io__ads.htm#ref_78_13">Line_Length</a></span> (<span class="symbol"><a name="ref_85_26" href="terminal_interface-curses-text_io__ads.htm#ref_78_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a> <b>is</b> - <span class="symbol"><A NAME="ref_87_7">N_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_88_7">N_Cols</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>; + <span class="symbol"><a name="ref_87_7">N_Lines</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_88_7">N_Cols</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>; <b>begin</b> - <A HREF="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_78_26">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_87_7">N_Lines</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_88_7">N_Cols</A>); - <span class="comment"><EM>-- if Natural (N_Cols) > Natural (Count'Last) then</EM></span> - <span class="comment"><EM>-- raise Layout_Error;</EM></span> - <span class="comment"><EM>-- end if;</EM></span> - <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</A> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_88_7">N_Cols</A>); - <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_78_13">Line_Length</A>; - - <b>function</b> <span class="symbol"><A NAME="ref_97_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_79_13">Line_Length</A></span> <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</A> + <a href="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_78_26">Win</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_87_7">N_Lines</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_88_7">N_Cols</a>); + <span class="comment"><em>-- if Natural (N_Cols) > Natural (Count'Last) then</em></span> + <span class="comment"><em>-- raise Layout_Error;</em></span> + <span class="comment"><em>-- end if;</em></span> + <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a> (<a href="terminal_interface-curses-text_io__adb.htm#ref_88_7">N_Cols</a>); + <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_78_13">Line_Length</a>; + + <b>function</b> <span class="symbol"><a name="ref_97_13" href="terminal_interface-curses-text_io__ads.htm#ref_79_13">Line_Length</a></span> <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a> <b>is</b> <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_78_13">Line_Length</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</A>); - <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_79_13">Line_Length</A>; + <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_78_13">Line_Length</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>); + <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_79_13">Line_Length</a>; - <b>function</b> <span class="symbol"><A NAME="ref_103_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_81_13">Page_Length</A></span> (<span class="symbol"><A NAME="ref_103_26" HREF="terminal_interface-curses-text_io__ads.htm#ref_81_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</A> + <b>function</b> <span class="symbol"><a name="ref_103_13" href="terminal_interface-curses-text_io__ads.htm#ref_81_13">Page_Length</a></span> (<span class="symbol"><a name="ref_103_26" href="terminal_interface-curses-text_io__ads.htm#ref_81_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a> <b>is</b> - <span class="symbol"><A NAME="ref_105_7">N_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_106_7">N_Cols</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>; + <span class="symbol"><a name="ref_105_7">N_Lines</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_106_7">N_Cols</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1193_13">Scrolling_Allowed</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_81_26">Win</A>) <b>then</b> + <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1193_13">Scrolling_Allowed</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_81_26">Win</a>) <b>then</b> <b>return</b> 0; <b>else</b> - <A HREF="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_81_26">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_105_7">N_Lines</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_106_7">N_Cols</A>); - <span class="comment"><EM>-- if Natural (N_Lines) > Natural (Count'Last) then</EM></span> - <span class="comment"><EM>-- raise Layout_Error;</EM></span> - <span class="comment"><EM>-- end if;</EM></span> - <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</A> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_105_7">N_Lines</A>); + <a href="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_81_26">Win</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_105_7">N_Lines</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_106_7">N_Cols</a>); + <span class="comment"><em>-- if Natural (N_Lines) > Natural (Count'Last) then</em></span> + <span class="comment"><em>-- raise Layout_Error;</em></span> + <span class="comment"><em>-- end if;</em></span> + <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a> (<a href="terminal_interface-curses-text_io__adb.htm#ref_105_7">N_Lines</a>); <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_81_13">Page_Length</A>; + <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_81_13">Page_Length</a>; - <b>function</b> <span class="symbol"><A NAME="ref_119_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_82_13">Page_Length</A></span> <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</A> + <b>function</b> <span class="symbol"><a name="ref_119_13" href="terminal_interface-curses-text_io__ads.htm#ref_82_13">Page_Length</a></span> <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a> <b>is</b> <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_81_13">Page_Length</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</A>); - <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_82_13">Page_Length</A>; + <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_81_13">Page_Length</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>); + <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_82_13">Page_Length</a>; - <span class="comment"><EM>------------------------------------</EM></span> - <span class="comment"><EM>-- Column, Line, and Page Control --</EM></span> - <span class="comment"><EM>------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_128_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_87_14">New_Line</A></span> (<span class="symbol"><A NAME="ref_128_24" HREF="terminal_interface-curses-text_io__ads.htm#ref_87_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_128_38" HREF="terminal_interface-curses-text_io__ads.htm#ref_87_38">Spacing</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</A> := 1) + <span class="comment"><em>------------------------------------</em></span> + <span class="comment"><em>-- Column, Line, and Page Control --</em></span> + <span class="comment"><em>------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_128_14" href="terminal_interface-curses-text_io__ads.htm#ref_87_14">New_Line</a></span> (<span class="symbol"><a name="ref_128_24" href="terminal_interface-curses-text_io__ads.htm#ref_87_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_128_38" href="terminal_interface-curses-text_io__ads.htm#ref_87_38">Spacing</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a> := 1) <b>is</b> - <span class="symbol"><A NAME="ref_130_7">P_Size</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</A> := <A HREF="terminal_interface-curses-text_io__ads.htm#ref_81_13">Page_Length</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_87_24">Win</A>); + <span class="symbol"><a name="ref_130_7">P_Size</a></span> : <b>constant</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a> := <a href="terminal_interface-curses-text_io__ads.htm#ref_81_13">Page_Length</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_87_24">Win</a>); <b>begin</b> - <b>if</b> <b>not</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_87_38">Spacing</A>'Valid <b>then</b> + <b>if</b> <b>not</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_87_38">Spacing</a>'Valid <b>then</b> <b>raise</b> Constraint_Error; <b>end</b> <b>if</b>; - <b>for</b> <span class="symbol"><A NAME="ref_136_11">I</A></span> <b>in</b> 1 .. <A HREF="terminal_interface-curses-text_io__ads.htm#ref_87_38">Spacing</A> <b>loop</b> - <b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_130_7">P_Size</A> > 0 <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_102_13">Line</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_87_24">Win</A>) >= <A HREF="terminal_interface-curses-text_io__adb.htm#ref_130_7">P_Size</A> <b>then</b> - <A HREF="terminal_interface-curses-text_io__ads.htm#ref_90_14">New_Page</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_87_24">Win</A>); + <b>for</b> <span class="symbol"><a name="ref_136_11">I</a></span> <b>in</b> 1 .. <a href="terminal_interface-curses-text_io__ads.htm#ref_87_38">Spacing</a> <b>loop</b> + <b>if</b> <a href="terminal_interface-curses-text_io__adb.htm#ref_130_7">P_Size</a> > 0 <b>and</b> <b>then</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_102_13">Line</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_87_24">Win</a>) >= <a href="terminal_interface-curses-text_io__adb.htm#ref_130_7">P_Size</a> <b>then</b> + <a href="terminal_interface-curses-text_io__ads.htm#ref_90_14">New_Page</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_87_24">Win</a>); <b>else</b> - <A HREF="terminal_interface-curses__ads.htm#ref_699_14">Add</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_87_24">Win</A>, ASCII.LF); + <a href="terminal_interface-curses__ads.htm#ref_699_14">Add</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_87_24">Win</a>, ASCII.LF); <b>end</b> <b>if</b>; <b>end</b> <b>loop</b>; - <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_87_14">New_Line</A>; + <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_87_14">New_Line</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_145_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_88_14">New_Line</A></span> (<span class="symbol"><A NAME="ref_145_24" HREF="terminal_interface-curses-text_io__ads.htm#ref_88_24">Spacing</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</A> := 1) + <b>procedure</b> <span class="symbol"><a name="ref_145_14" href="terminal_interface-curses-text_io__ads.htm#ref_88_14">New_Line</a></span> (<span class="symbol"><a name="ref_145_24" href="terminal_interface-curses-text_io__ads.htm#ref_88_24">Spacing</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a> := 1) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses-text_io__ads.htm#ref_87_14">New_Line</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_88_24">Spacing</A>); - <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_88_14">New_Line</A>; + <a href="terminal_interface-curses-text_io__ads.htm#ref_87_14">New_Line</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>, <a href="terminal_interface-curses-text_io__ads.htm#ref_88_24">Spacing</a>); + <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_88_14">New_Line</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_151_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_90_14">New_Page</A></span> (<span class="symbol"><A NAME="ref_151_24" HREF="terminal_interface-curses-text_io__ads.htm#ref_90_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) + <b>procedure</b> <span class="symbol"><a name="ref_151_14" href="terminal_interface-curses-text_io__ads.htm#ref_90_14">New_Page</a></span> (<span class="symbol"><a name="ref_151_24" href="terminal_interface-curses-text_io__ads.htm#ref_90_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses__ads.htm#ref_1251_14">Clear</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_90_24">Win</A>); - <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_90_14">New_Page</A>; + <a href="terminal_interface-curses__ads.htm#ref_1251_14">Clear</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_90_24">Win</a>); + <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_90_14">New_Page</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_157_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_91_14">New_Page</A></span> + <b>procedure</b> <span class="symbol"><a name="ref_157_14" href="terminal_interface-curses-text_io__ads.htm#ref_91_14">New_Page</a></span> <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses-text_io__ads.htm#ref_90_14">New_Page</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</A>); - <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_91_14">New_Page</A>; + <a href="terminal_interface-curses-text_io__ads.htm#ref_90_14">New_Page</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>); + <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_91_14">New_Page</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_163_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_93_14">Set_Col</A></span> (<span class="symbol"><A NAME="ref_163_23" HREF="terminal_interface-curses-text_io__ads.htm#ref_93_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_163_38" HREF="terminal_interface-curses-text_io__ads.htm#ref_93_38">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</A>) + <b>procedure</b> <span class="symbol"><a name="ref_163_14" href="terminal_interface-curses-text_io__ads.htm#ref_93_14">Set_Col</a></span> (<span class="symbol"><a name="ref_163_23" href="terminal_interface-curses-text_io__ads.htm#ref_93_23">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_163_38" href="terminal_interface-curses-text_io__ads.htm#ref_93_38">To</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a>) <b>is</b> - <span class="symbol"><A NAME="ref_165_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_166_7">X1</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_167_7">X2</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_168_7">N</A></span> : Natural; + <span class="symbol"><a name="ref_165_7">Y</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_166_7">X1</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_167_7">X2</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_168_7">N</a></span> : Natural; <b>begin</b> - <b>if</b> <b>not</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_93_38">To</A>'Valid <b>then</b> + <b>if</b> <b>not</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_93_38">To</a>'Valid <b>then</b> <b>raise</b> Constraint_Error; <b>end</b> <b>if</b>; - <A HREF="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_93_23">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_165_7">Y</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_166_7">X1</A>); - <A HREF="terminal_interface-curses-text_io__adb.htm#ref_168_7">N</A> := Natural (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_93_38">To</A>); <A HREF="terminal_interface-curses-text_io__adb.htm#ref_168_7">N</A> := <A HREF="terminal_interface-curses-text_io__adb.htm#ref_168_7">N</A> - 1; - <A HREF="terminal_interface-curses-text_io__adb.htm#ref_167_7">X2</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_168_7">N</A>); - <b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_166_7">X1</A> > <A HREF="terminal_interface-curses-text_io__adb.htm#ref_167_7">X2</A> <b>then</b> - <A HREF="terminal_interface-curses-text_io__ads.htm#ref_87_14">New_Line</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_93_23">Win</A>, 1); - <A HREF="terminal_interface-curses-text_io__adb.htm#ref_166_7">X1</A> := 0; + <a href="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_93_23">Win</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_165_7">Y</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_166_7">X1</a>); + <a href="terminal_interface-curses-text_io__adb.htm#ref_168_7">N</a> := Natural (<a href="terminal_interface-curses-text_io__ads.htm#ref_93_38">To</a>); <a href="terminal_interface-curses-text_io__adb.htm#ref_168_7">N</a> := <a href="terminal_interface-curses-text_io__adb.htm#ref_168_7">N</a> - 1; + <a href="terminal_interface-curses-text_io__adb.htm#ref_167_7">X2</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> (<a href="terminal_interface-curses-text_io__adb.htm#ref_168_7">N</a>); + <b>if</b> <a href="terminal_interface-curses-text_io__adb.htm#ref_166_7">X1</a> > <a href="terminal_interface-curses-text_io__adb.htm#ref_167_7">X2</a> <b>then</b> + <a href="terminal_interface-curses-text_io__ads.htm#ref_87_14">New_Line</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_93_23">Win</a>, 1); + <a href="terminal_interface-curses-text_io__adb.htm#ref_166_7">X1</a> := 0; <b>end</b> <b>if</b>; - <b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_166_7">X1</A> < <A HREF="terminal_interface-curses-text_io__adb.htm#ref_167_7">X2</A> <b>then</b> + <b>if</b> <a href="terminal_interface-curses-text_io__adb.htm#ref_166_7">X1</a> < <a href="terminal_interface-curses-text_io__adb.htm#ref_167_7">X2</a> <b>then</b> <b>declare</b> - <span class="symbol"><A NAME="ref_183_13">Filler</A></span> : <b>constant</b> String (Integer (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_166_7">X1</A>) .. (Integer (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_167_7">X2</A>) - 1)) + <span class="symbol"><a name="ref_183_13">Filler</a></span> : <b>constant</b> String (Integer (<a href="terminal_interface-curses-text_io__adb.htm#ref_166_7">X1</a>) .. (Integer (<a href="terminal_interface-curses-text_io__adb.htm#ref_167_7">X2</a>) - 1)) := (<b>others</b> => ' '); <b>begin</b> - <A HREF="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_93_23">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_183_13">Filler</A>); + <a href="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_93_23">Win</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_183_13">Filler</a>); <b>end</b>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_93_14">Set_Col</A>; + <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_93_14">Set_Col</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_191_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_94_14">Set_Col</A></span> (<span class="symbol"><A NAME="ref_191_23" HREF="terminal_interface-curses-text_io__ads.htm#ref_94_23">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</A>) + <b>procedure</b> <span class="symbol"><a name="ref_191_14" href="terminal_interface-curses-text_io__ads.htm#ref_94_14">Set_Col</a></span> (<span class="symbol"><a name="ref_191_23" href="terminal_interface-curses-text_io__ads.htm#ref_94_23">To</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a>) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses-text_io__ads.htm#ref_93_14">Set_Col</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_94_23">To</A>); - <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_94_14">Set_Col</A>; + <a href="terminal_interface-curses-text_io__ads.htm#ref_93_14">Set_Col</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>, <a href="terminal_interface-curses-text_io__ads.htm#ref_94_23">To</a>); + <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_94_14">Set_Col</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_197_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_96_14">Set_Line</A></span> (<span class="symbol"><A NAME="ref_197_24" HREF="terminal_interface-curses-text_io__ads.htm#ref_96_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_197_38" HREF="terminal_interface-curses-text_io__ads.htm#ref_96_38">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</A>) + <b>procedure</b> <span class="symbol"><a name="ref_197_14" href="terminal_interface-curses-text_io__ads.htm#ref_96_14">Set_Line</a></span> (<span class="symbol"><a name="ref_197_24" href="terminal_interface-curses-text_io__ads.htm#ref_96_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_197_38" href="terminal_interface-curses-text_io__ads.htm#ref_96_38">To</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a>) <b>is</b> - <span class="symbol"><A NAME="ref_199_7">Y1</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_200_7">Y2</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_201_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_202_7">N</A></span> : Natural; + <span class="symbol"><a name="ref_199_7">Y1</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_200_7">Y2</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_201_7">X</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_202_7">N</a></span> : Natural; <b>begin</b> - <b>if</b> <b>not</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_96_38">To</A>'Valid <b>then</b> + <b>if</b> <b>not</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_96_38">To</a>'Valid <b>then</b> <b>raise</b> Constraint_Error; <b>end</b> <b>if</b>; - <A HREF="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_96_24">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_199_7">Y1</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_201_7">X</A>); - <b>pragma</b> Warnings (Off, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_201_7">X</A>); <span class="comment"><EM>-- unreferenced</EM></span> - <A HREF="terminal_interface-curses-text_io__adb.htm#ref_202_7">N</A> := Natural (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_96_38">To</A>); <A HREF="terminal_interface-curses-text_io__adb.htm#ref_202_7">N</A> := <A HREF="terminal_interface-curses-text_io__adb.htm#ref_202_7">N</A> - 1; - <A HREF="terminal_interface-curses-text_io__adb.htm#ref_200_7">Y2</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_202_7">N</A>); - <b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_200_7">Y2</A> < <A HREF="terminal_interface-curses-text_io__adb.htm#ref_199_7">Y1</A> <b>then</b> - <A HREF="terminal_interface-curses-text_io__ads.htm#ref_90_14">New_Page</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_96_24">Win</A>); - <A HREF="terminal_interface-curses-text_io__adb.htm#ref_199_7">Y1</A> := 0; + <a href="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_96_24">Win</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_199_7">Y1</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_201_7">X</a>); + <b>pragma</b> Warnings (Off, <a href="terminal_interface-curses-text_io__adb.htm#ref_201_7">X</a>); <span class="comment"><em>-- unreferenced</em></span> + <a href="terminal_interface-curses-text_io__adb.htm#ref_202_7">N</a> := Natural (<a href="terminal_interface-curses-text_io__ads.htm#ref_96_38">To</a>); <a href="terminal_interface-curses-text_io__adb.htm#ref_202_7">N</a> := <a href="terminal_interface-curses-text_io__adb.htm#ref_202_7">N</a> - 1; + <a href="terminal_interface-curses-text_io__adb.htm#ref_200_7">Y2</a> := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> (<a href="terminal_interface-curses-text_io__adb.htm#ref_202_7">N</a>); + <b>if</b> <a href="terminal_interface-curses-text_io__adb.htm#ref_200_7">Y2</a> < <a href="terminal_interface-curses-text_io__adb.htm#ref_199_7">Y1</a> <b>then</b> + <a href="terminal_interface-curses-text_io__ads.htm#ref_90_14">New_Page</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_96_24">Win</a>); + <a href="terminal_interface-curses-text_io__adb.htm#ref_199_7">Y1</a> := 0; <b>end</b> <b>if</b>; - <b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_199_7">Y1</A> < <A HREF="terminal_interface-curses-text_io__adb.htm#ref_200_7">Y2</A> <b>then</b> - <A HREF="terminal_interface-curses-text_io__ads.htm#ref_87_14">New_Line</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_96_24">Win</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</A> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_200_7">Y2</A> - <A HREF="terminal_interface-curses-text_io__adb.htm#ref_199_7">Y1</A>)); + <b>if</b> <a href="terminal_interface-curses-text_io__adb.htm#ref_199_7">Y1</a> < <a href="terminal_interface-curses-text_io__adb.htm#ref_200_7">Y2</a> <b>then</b> + <a href="terminal_interface-curses-text_io__ads.htm#ref_87_14">New_Line</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_96_24">Win</a>, <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a> (<a href="terminal_interface-curses-text_io__adb.htm#ref_200_7">Y2</a> - <a href="terminal_interface-curses-text_io__adb.htm#ref_199_7">Y1</a>)); <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_96_14">Set_Line</A>; + <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_96_14">Set_Line</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_221_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_97_14">Set_Line</A></span> (<span class="symbol"><A NAME="ref_221_24" HREF="terminal_interface-curses-text_io__ads.htm#ref_97_24">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</A>) + <b>procedure</b> <span class="symbol"><a name="ref_221_14" href="terminal_interface-curses-text_io__ads.htm#ref_97_14">Set_Line</a></span> (<span class="symbol"><a name="ref_221_24" href="terminal_interface-curses-text_io__ads.htm#ref_97_24">To</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a>) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses-text_io__ads.htm#ref_96_14">Set_Line</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_97_24">To</A>); - <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_97_14">Set_Line</A>; + <a href="terminal_interface-curses-text_io__ads.htm#ref_96_14">Set_Line</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>, <a href="terminal_interface-curses-text_io__ads.htm#ref_97_24">To</a>); + <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_97_14">Set_Line</a>; - <b>function</b> <span class="symbol"><A NAME="ref_227_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_99_13">Col</A></span> (<span class="symbol"><A NAME="ref_227_18" HREF="terminal_interface-curses-text_io__ads.htm#ref_99_18">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</A> + <b>function</b> <span class="symbol"><a name="ref_227_13" href="terminal_interface-curses-text_io__ads.htm#ref_99_13">Col</a></span> (<span class="symbol"><a name="ref_227_18" href="terminal_interface-curses-text_io__ads.htm#ref_99_18">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a> <b>is</b> - <span class="symbol"><A NAME="ref_229_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_230_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_231_7">N</A></span> : Natural; + <span class="symbol"><a name="ref_229_7">Y</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_230_7">X</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_231_7">N</a></span> : Natural; <b>begin</b> - <A HREF="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_99_18">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_229_7">Y</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_230_7">X</A>); - <A HREF="terminal_interface-curses-text_io__adb.htm#ref_231_7">N</A> := Natural (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_230_7">X</A>); <A HREF="terminal_interface-curses-text_io__adb.htm#ref_231_7">N</A> := <A HREF="terminal_interface-curses-text_io__adb.htm#ref_231_7">N</A> + 1; - <span class="comment"><EM>-- if N > Natural (Count'Last) then</EM></span> - <span class="comment"><EM>-- raise Layout_Error;</EM></span> - <span class="comment"><EM>-- end if;</EM></span> - <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</A> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_231_7">N</A>); - <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_99_13">Col</A>; - - <b>function</b> <span class="symbol"><A NAME="ref_241_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_100_13">Col</A></span> <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</A> + <a href="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_99_18">Win</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_229_7">Y</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_230_7">X</a>); + <a href="terminal_interface-curses-text_io__adb.htm#ref_231_7">N</a> := Natural (<a href="terminal_interface-curses-text_io__adb.htm#ref_230_7">X</a>); <a href="terminal_interface-curses-text_io__adb.htm#ref_231_7">N</a> := <a href="terminal_interface-curses-text_io__adb.htm#ref_231_7">N</a> + 1; + <span class="comment"><em>-- if N > Natural (Count'Last) then</em></span> + <span class="comment"><em>-- raise Layout_Error;</em></span> + <span class="comment"><em>-- end if;</em></span> + <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a> (<a href="terminal_interface-curses-text_io__adb.htm#ref_231_7">N</a>); + <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_99_13">Col</a>; + + <b>function</b> <span class="symbol"><a name="ref_241_13" href="terminal_interface-curses-text_io__ads.htm#ref_100_13">Col</a></span> <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a> <b>is</b> <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_99_13">Col</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</A>); - <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_100_13">Col</A>; + <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_99_13">Col</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>); + <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_100_13">Col</a>; - <b>function</b> <span class="symbol"><A NAME="ref_247_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_102_13">Line</A></span> (<span class="symbol"><A NAME="ref_247_19" HREF="terminal_interface-curses-text_io__ads.htm#ref_102_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</A> + <b>function</b> <span class="symbol"><a name="ref_247_13" href="terminal_interface-curses-text_io__ads.htm#ref_102_13">Line</a></span> (<span class="symbol"><a name="ref_247_19" href="terminal_interface-curses-text_io__ads.htm#ref_102_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a> <b>is</b> - <span class="symbol"><A NAME="ref_249_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_250_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_251_7">N</A></span> : Natural; + <span class="symbol"><a name="ref_249_7">Y</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_250_7">X</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_251_7">N</a></span> : Natural; <b>begin</b> - <A HREF="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_102_19">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_249_7">Y</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_250_7">X</A>); - <A HREF="terminal_interface-curses-text_io__adb.htm#ref_251_7">N</A> := Natural (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_249_7">Y</A>); <A HREF="terminal_interface-curses-text_io__adb.htm#ref_251_7">N</A> := <A HREF="terminal_interface-curses-text_io__adb.htm#ref_251_7">N</A> + 1; - <span class="comment"><EM>-- if N > Natural (Count'Last) then</EM></span> - <span class="comment"><EM>-- raise Layout_Error;</EM></span> - <span class="comment"><EM>-- end if;</EM></span> - <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</A> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_251_7">N</A>); - <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_102_13">Line</A>; - - <b>function</b> <span class="symbol"><A NAME="ref_261_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_103_13">Line</A></span> <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</A> + <a href="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_102_19">Win</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_249_7">Y</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_250_7">X</a>); + <a href="terminal_interface-curses-text_io__adb.htm#ref_251_7">N</a> := Natural (<a href="terminal_interface-curses-text_io__adb.htm#ref_249_7">Y</a>); <a href="terminal_interface-curses-text_io__adb.htm#ref_251_7">N</a> := <a href="terminal_interface-curses-text_io__adb.htm#ref_251_7">N</a> + 1; + <span class="comment"><em>-- if N > Natural (Count'Last) then</em></span> + <span class="comment"><em>-- raise Layout_Error;</em></span> + <span class="comment"><em>-- end if;</em></span> + <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a> (<a href="terminal_interface-curses-text_io__adb.htm#ref_251_7">N</a>); + <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_102_13">Line</a>; + + <b>function</b> <span class="symbol"><a name="ref_261_13" href="terminal_interface-curses-text_io__ads.htm#ref_103_13">Line</a></span> <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a> <b>is</b> <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_102_13">Line</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</A>); - <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_103_13">Line</A>; + <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_102_13">Line</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>); + <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_103_13">Line</a>; - <span class="comment"><EM>-----------------------</EM></span> - <span class="comment"><EM>-- Characters Output --</EM></span> - <span class="comment"><EM>-----------------------</EM></span> + <span class="comment"><em>-----------------------</em></span> + <span class="comment"><em>-- Characters Output --</em></span> + <span class="comment"><em>-----------------------</em></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_271_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_109_14">Put</A></span> (<span class="symbol"><A NAME="ref_271_19" HREF="terminal_interface-curses-text_io__ads.htm#ref_109_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_271_34" HREF="terminal_interface-curses-text_io__ads.htm#ref_109_34">Item</A></span> : Character) + <b>procedure</b> <span class="symbol"><a name="ref_271_14" href="terminal_interface-curses-text_io__ads.htm#ref_109_14">Put</a></span> (<span class="symbol"><a name="ref_271_19" href="terminal_interface-curses-text_io__ads.htm#ref_109_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_271_34" href="terminal_interface-curses-text_io__ads.htm#ref_109_34">Item</a></span> : Character) <b>is</b> - <span class="symbol"><A NAME="ref_273_7">P_Size</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</A> := <A HREF="terminal_interface-curses-text_io__ads.htm#ref_81_13">Page_Length</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_109_19">Win</A>); - <span class="symbol"><A NAME="ref_274_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_275_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_276_7">L</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_277_7">C</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>; + <span class="symbol"><a name="ref_273_7">P_Size</a></span> : <b>constant</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a> := <a href="terminal_interface-curses-text_io__ads.htm#ref_81_13">Page_Length</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_109_19">Win</a>); + <span class="symbol"><a name="ref_274_7">Y</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_275_7">X</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_276_7">L</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_277_7">C</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_273_7">P_Size</A> > 0 <b>then</b> - <A HREF="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_109_19">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_274_7">Y</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_275_7">X</A>); - <A HREF="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_109_19">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_276_7">L</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_277_7">C</A>); - <b>if</b> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_274_7">Y</A> + 1) = <A HREF="terminal_interface-curses-text_io__adb.htm#ref_276_7">L</A> <b>and</b> <b>then</b> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_275_7">X</A> + 1) = <A HREF="terminal_interface-curses-text_io__adb.htm#ref_277_7">C</A> <b>then</b> - <A HREF="terminal_interface-curses-text_io__ads.htm#ref_90_14">New_Page</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_109_19">Win</A>); + <b>if</b> <a href="terminal_interface-curses-text_io__adb.htm#ref_273_7">P_Size</a> > 0 <b>then</b> + <a href="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_109_19">Win</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_274_7">Y</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_275_7">X</a>); + <a href="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_109_19">Win</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_276_7">L</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_277_7">C</a>); + <b>if</b> (<a href="terminal_interface-curses-text_io__adb.htm#ref_274_7">Y</a> + 1) = <a href="terminal_interface-curses-text_io__adb.htm#ref_276_7">L</a> <b>and</b> <b>then</b> (<a href="terminal_interface-curses-text_io__adb.htm#ref_275_7">X</a> + 1) = <a href="terminal_interface-curses-text_io__adb.htm#ref_277_7">C</a> <b>then</b> + <a href="terminal_interface-curses-text_io__ads.htm#ref_90_14">New_Page</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_109_19">Win</a>); <b>end</b> <b>if</b>; <b>end</b> <b>if</b>; - <A HREF="terminal_interface-curses__ads.htm#ref_699_14">Add</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_109_19">Win</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_109_34">Item</A>); - <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_109_14">Put</A>; + <a href="terminal_interface-curses__ads.htm#ref_699_14">Add</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_109_19">Win</a>, <a href="terminal_interface-curses-text_io__ads.htm#ref_109_34">Item</a>); + <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_109_14">Put</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_289_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_110_14">Put</A></span> (<span class="symbol"><A NAME="ref_289_19" HREF="terminal_interface-curses-text_io__ads.htm#ref_110_19">Item</A></span> : Character) + <b>procedure</b> <span class="symbol"><a name="ref_289_14" href="terminal_interface-curses-text_io__ads.htm#ref_110_14">Put</a></span> (<span class="symbol"><a name="ref_289_19" href="terminal_interface-curses-text_io__ads.htm#ref_110_19">Item</a></span> : Character) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses-text_io__ads.htm#ref_109_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_110_19">Item</A>); - <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_110_14">Put</A>; + <a href="terminal_interface-curses-text_io__ads.htm#ref_109_14">Put</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>, <a href="terminal_interface-curses-text_io__ads.htm#ref_110_19">Item</a>); + <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_110_14">Put</a>; - <span class="comment"><EM>--------------------</EM></span> - <span class="comment"><EM>-- Strings-Output --</EM></span> - <span class="comment"><EM>--------------------</EM></span> + <span class="comment"><em>--------------------</em></span> + <span class="comment"><em>-- Strings-Output --</em></span> + <span class="comment"><em>--------------------</em></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_299_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</A></span> (<span class="symbol"><A NAME="ref_299_19" HREF="terminal_interface-curses-text_io__ads.htm#ref_116_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_299_34" HREF="terminal_interface-curses-text_io__ads.htm#ref_116_34">Item</A></span> : String) + <b>procedure</b> <span class="symbol"><a name="ref_299_14" href="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</a></span> (<span class="symbol"><a name="ref_299_19" href="terminal_interface-curses-text_io__ads.htm#ref_116_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_299_34" href="terminal_interface-curses-text_io__ads.htm#ref_116_34">Item</a></span> : String) <b>is</b> - <span class="symbol"><A NAME="ref_301_7">P_Size</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</A> := <A HREF="terminal_interface-curses-text_io__ads.htm#ref_81_13">Page_Length</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_116_19">Win</A>); - <span class="symbol"><A NAME="ref_302_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_303_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_304_7">L</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_305_7">C</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>; + <span class="symbol"><a name="ref_301_7">P_Size</a></span> : <b>constant</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a> := <a href="terminal_interface-curses-text_io__ads.htm#ref_81_13">Page_Length</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_116_19">Win</a>); + <span class="symbol"><a name="ref_302_7">Y</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_303_7">X</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_304_7">L</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_305_7">C</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_301_7">P_Size</A> > 0 <b>then</b> - <A HREF="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_116_19">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_302_7">Y</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_303_7">X</A>); - <A HREF="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_116_19">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_304_7">L</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_305_7">C</A>); - <b>if</b> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_302_7">Y</A> + 1) = <A HREF="terminal_interface-curses-text_io__adb.htm#ref_304_7">L</A> <b>and</b> <b>then</b> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_303_7">X</A> + 1 + <A HREF="terminal_interface-curses-text_io__ads.htm#ref_116_34">Item</A>'Length) >= <A HREF="terminal_interface-curses-text_io__adb.htm#ref_305_7">C</A> <b>then</b> - <A HREF="terminal_interface-curses-text_io__ads.htm#ref_90_14">New_Page</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_116_19">Win</A>); + <b>if</b> <a href="terminal_interface-curses-text_io__adb.htm#ref_301_7">P_Size</a> > 0 <b>then</b> + <a href="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_116_19">Win</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_302_7">Y</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_303_7">X</a>); + <a href="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_116_19">Win</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_304_7">L</a>, <a href="terminal_interface-curses-text_io__adb.htm#ref_305_7">C</a>); + <b>if</b> (<a href="terminal_interface-curses-text_io__adb.htm#ref_302_7">Y</a> + 1) = <a href="terminal_interface-curses-text_io__adb.htm#ref_304_7">L</a> <b>and</b> <b>then</b> (<a href="terminal_interface-curses-text_io__adb.htm#ref_303_7">X</a> + 1 + <a href="terminal_interface-curses-text_io__ads.htm#ref_116_34">Item</a>'Length) >= <a href="terminal_interface-curses-text_io__adb.htm#ref_305_7">C</a> <b>then</b> + <a href="terminal_interface-curses-text_io__ads.htm#ref_90_14">New_Page</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_116_19">Win</a>); <b>end</b> <b>if</b>; <b>end</b> <b>if</b>; - <A HREF="terminal_interface-curses__ads.htm#ref_824_14">Add</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_116_19">Win</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_116_34">Item</A>); - <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</A>; + <a href="terminal_interface-curses__ads.htm#ref_824_14">Add</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_116_19">Win</a>, <a href="terminal_interface-curses-text_io__ads.htm#ref_116_34">Item</a>); + <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_317_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_117_14">Put</A></span> (<span class="symbol"><A NAME="ref_317_19" HREF="terminal_interface-curses-text_io__ads.htm#ref_117_19">Item</A></span> : String) + <b>procedure</b> <span class="symbol"><a name="ref_317_14" href="terminal_interface-curses-text_io__ads.htm#ref_117_14">Put</a></span> (<span class="symbol"><a name="ref_317_19" href="terminal_interface-curses-text_io__ads.htm#ref_117_19">Item</a></span> : String) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_117_19">Item</A>); - <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_117_14">Put</A>; + <a href="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>, <a href="terminal_interface-curses-text_io__ads.htm#ref_117_19">Item</a>); + <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_117_14">Put</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_323_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_119_14">Put_Line</A></span> - (<span class="symbol"><A NAME="ref_324_7" HREF="terminal_interface-curses-text_io__ads.htm#ref_120_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_325_7" HREF="terminal_interface-curses-text_io__ads.htm#ref_121_7">Item</A></span> : String) + <b>procedure</b> <span class="symbol"><a name="ref_323_14" href="terminal_interface-curses-text_io__ads.htm#ref_119_14">Put_Line</a></span> + (<span class="symbol"><a name="ref_324_7" href="terminal_interface-curses-text_io__ads.htm#ref_120_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_325_7" href="terminal_interface-curses-text_io__ads.htm#ref_121_7">Item</a></span> : String) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_120_7">Win</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_121_7">Item</A>); - <A HREF="terminal_interface-curses-text_io__ads.htm#ref_87_14">New_Line</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_120_7">Win</A>, 1); - <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_119_14">Put_Line</A>; + <a href="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_120_7">Win</a>, <a href="terminal_interface-curses-text_io__ads.htm#ref_121_7">Item</a>); + <a href="terminal_interface-curses-text_io__ads.htm#ref_87_14">New_Line</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_120_7">Win</a>, 1); + <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_119_14">Put_Line</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_332_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_123_14">Put_Line</A></span> - (<span class="symbol"><A NAME="ref_333_7" HREF="terminal_interface-curses-text_io__ads.htm#ref_124_7">Item</A></span> : String) + <b>procedure</b> <span class="symbol"><a name="ref_332_14" href="terminal_interface-curses-text_io__ads.htm#ref_123_14">Put_Line</a></span> + (<span class="symbol"><a name="ref_333_7" href="terminal_interface-curses-text_io__ads.htm#ref_124_7">Item</a></span> : String) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses-text_io__ads.htm#ref_119_14">Put_Line</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_124_7">Item</A>); - <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_123_14">Put_Line</A>; + <a href="terminal_interface-curses-text_io__ads.htm#ref_119_14">Put_Line</a> (<a href="terminal_interface-curses-text_io__ads.htm#ref_63_13">Get_Window</a>, <a href="terminal_interface-curses-text_io__ads.htm#ref_124_7">Item</a>); + <b>end</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_123_14">Put_Line</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-text_io__ads.htm b/doc/html/ada/terminal_interface-curses-text_io__ads.htm index 03ee64b71f6f..580dd824870b 100644 --- a/doc/html/ada/terminal_interface-curses-text_io__ads.htm +++ b/doc/html/ada/terminal_interface-curses-text_io__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-text_io.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-text_io.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,145 +11,145 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-text_io.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Text_IO --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.15 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-text_io.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Text_IO --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2003,2009 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.15 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>with</b> Ada.Text_IO; <b>with</b> Ada.IO_Exceptions; -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<span class="symbol"><A NAME="ref_45_35" HREF="terminal_interface-curses-text_io__adb.htm#ref_43_40">Text_IO</A></span> <b>is</b> +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_45_35" href="terminal_interface-curses-text_io__adb.htm#ref_43_40">Text_IO</a></span> <b>is</b> <b>use</b> <b>type</b> Ada.Text_IO.Count; - <b>subtype</b> <span class="symbol"><A NAME="ref_48_12">Count</A></span> <b>is</b> Ada.Text_IO.Count; - <b>subtype</b> <span class="symbol"><A NAME="ref_49_12">Positive_Count</A></span> <b>is</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</A> <b>range</b> 1 .. <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</A>'Last; + <b>subtype</b> <span class="symbol"><a name="ref_48_12">Count</a></span> <b>is</b> Ada.Text_IO.Count; + <b>subtype</b> <span class="symbol"><a name="ref_49_12">Positive_Count</a></span> <b>is</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a> <b>range</b> 1 .. <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a>'Last; - <b>subtype</b> <span class="symbol"><A NAME="ref_51_12">Field</A></span> <b>is</b> Ada.Text_IO.Field; - <b>subtype</b> <span class="symbol"><A NAME="ref_52_12">Number_Base</A></span> <b>is</b> Integer <b>range</b> 2 .. 16; + <b>subtype</b> <span class="symbol"><a name="ref_51_12">Field</a></span> <b>is</b> Ada.Text_IO.Field; + <b>subtype</b> <span class="symbol"><a name="ref_52_12">Number_Base</a></span> <b>is</b> Integer <b>range</b> 2 .. 16; - <b>type</b> <span class="symbol"><A NAME="ref_54_9">Type_Set</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_54_22">Lower_Case</A></span>, <span class="symbol"><A NAME="ref_54_34">Upper_Case</A></span>, <span class="symbol"><A NAME="ref_54_46">Mixed_Case</A></span>); + <b>type</b> <span class="symbol"><a name="ref_54_9">Type_Set</a></span> <b>is</b> (<span class="symbol"><a name="ref_54_22">Lower_Case</a></span>, <span class="symbol"><a name="ref_54_34">Upper_Case</a></span>, <span class="symbol"><a name="ref_54_46">Mixed_Case</a></span>); - <span class="comment"><EM>-- For most of the routines you will see a version without a Window</EM></span> - <span class="comment"><EM>-- type parameter. They will operate on a default window, which can</EM></span> - <span class="comment"><EM>-- be set by the user. It is initially equal to Standard_Window.</EM></span> + <span class="comment"><em>-- For most of the routines you will see a version without a Window</em></span> + <span class="comment"><em>-- type parameter. They will operate on a default window, which can</em></span> + <span class="comment"><em>-- be set by the user. It is initially equal to Standard_Window.</em></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_60_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_47_14">Set_Window</A></span> (<span class="symbol"><A NAME="ref_60_26" HREF="terminal_interface-curses-text_io__adb.htm#ref_47_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>); - <span class="comment"><EM>-- Set Win as the default window</EM></span> + <b>procedure</b> <span class="symbol"><a name="ref_60_14" href="terminal_interface-curses-text_io__adb.htm#ref_47_14">Set_Window</a></span> (<span class="symbol"><a name="ref_60_26" href="terminal_interface-curses-text_io__adb.htm#ref_47_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>); + <span class="comment"><em>-- Set Win as the default window</em></span> - <b>function</b> <span class="symbol"><A NAME="ref_63_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_53_13">Get_Window</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="comment"><EM>-- Get the current default window</EM></span> + <b>function</b> <span class="symbol"><a name="ref_63_13" href="terminal_interface-curses-text_io__adb.htm#ref_53_13">Get_Window</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="comment"><em>-- Get the current default window</em></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_66_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_64_14">Flush</A></span> (<span class="symbol"><A NAME="ref_66_21" HREF="terminal_interface-curses-text_io__adb.htm#ref_64_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>); - <b>procedure</b> <span class="symbol"><A NAME="ref_67_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_70_14">Flush</A></span>; + <b>procedure</b> <span class="symbol"><a name="ref_66_14" href="terminal_interface-curses-text_io__adb.htm#ref_64_14">Flush</a></span> (<span class="symbol"><a name="ref_66_21" href="terminal_interface-curses-text_io__adb.htm#ref_64_21">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>); + <b>procedure</b> <span class="symbol"><a name="ref_67_14" href="terminal_interface-curses-text_io__adb.htm#ref_70_14">Flush</a></span>; - <span class="comment"><EM>--------------------------------------------</EM></span> - <span class="comment"><EM>-- Specification of line and page lengths --</EM></span> - <span class="comment"><EM>--------------------------------------------</EM></span> + <span class="comment"><em>--------------------------------------------</em></span> + <span class="comment"><em>-- Specification of line and page lengths --</em></span> + <span class="comment"><em>--------------------------------------------</em></span> - <span class="comment"><EM>-- There are no set routines in this package. I assume, that you allocate</EM></span> - <span class="comment"><EM>-- the window with an appropriate size.</EM></span> - <span class="comment"><EM>-- A scroll-window is interpreted as an page with unbounded page length,</EM></span> - <span class="comment"><EM>-- i.e. it returns the conventional 0 as page length.</EM></span> + <span class="comment"><em>-- There are no set routines in this package. I assume, that you allocate</em></span> + <span class="comment"><em>-- the window with an appropriate size.</em></span> + <span class="comment"><em>-- A scroll-window is interpreted as an page with unbounded page length,</em></span> + <span class="comment"><em>-- i.e. it returns the conventional 0 as page length.</em></span> - <b>function</b> <span class="symbol"><A NAME="ref_78_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_85_13">Line_Length</A></span> (<span class="symbol"><A NAME="ref_78_26" HREF="terminal_interface-curses-text_io__adb.htm#ref_85_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</A>; - <b>function</b> <span class="symbol"><A NAME="ref_79_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_97_13">Line_Length</A></span> <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</A>; + <b>function</b> <span class="symbol"><a name="ref_78_13" href="terminal_interface-curses-text_io__adb.htm#ref_85_13">Line_Length</a></span> (<span class="symbol"><a name="ref_78_26" href="terminal_interface-curses-text_io__adb.htm#ref_85_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a>; + <b>function</b> <span class="symbol"><a name="ref_79_13" href="terminal_interface-curses-text_io__adb.htm#ref_97_13">Line_Length</a></span> <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a>; - <b>function</b> <span class="symbol"><A NAME="ref_81_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_103_13">Page_Length</A></span> (<span class="symbol"><A NAME="ref_81_26" HREF="terminal_interface-curses-text_io__adb.htm#ref_103_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</A>; - <b>function</b> <span class="symbol"><A NAME="ref_82_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_119_13">Page_Length</A></span> <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</A>; + <b>function</b> <span class="symbol"><a name="ref_81_13" href="terminal_interface-curses-text_io__adb.htm#ref_103_13">Page_Length</a></span> (<span class="symbol"><a name="ref_81_26" href="terminal_interface-curses-text_io__adb.htm#ref_103_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a>; + <b>function</b> <span class="symbol"><a name="ref_82_13" href="terminal_interface-curses-text_io__adb.htm#ref_119_13">Page_Length</a></span> <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_48_12">Count</a>; - <span class="comment"><EM>------------------------------------</EM></span> - <span class="comment"><EM>-- Column, Line, and Page Control --</EM></span> - <span class="comment"><EM>------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_87_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_128_14">New_Line</A></span> (<span class="symbol"><A NAME="ref_87_24" HREF="terminal_interface-curses-text_io__adb.htm#ref_128_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_87_38" HREF="terminal_interface-curses-text_io__adb.htm#ref_128_38">Spacing</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</A> := 1); - <b>procedure</b> <span class="symbol"><A NAME="ref_88_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_145_14">New_Line</A></span> (<span class="symbol"><A NAME="ref_88_24" HREF="terminal_interface-curses-text_io__adb.htm#ref_145_24">Spacing</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</A> := 1); + <span class="comment"><em>------------------------------------</em></span> + <span class="comment"><em>-- Column, Line, and Page Control --</em></span> + <span class="comment"><em>------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_87_14" href="terminal_interface-curses-text_io__adb.htm#ref_128_14">New_Line</a></span> (<span class="symbol"><a name="ref_87_24" href="terminal_interface-curses-text_io__adb.htm#ref_128_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_87_38" href="terminal_interface-curses-text_io__adb.htm#ref_128_38">Spacing</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a> := 1); + <b>procedure</b> <span class="symbol"><a name="ref_88_14" href="terminal_interface-curses-text_io__adb.htm#ref_145_14">New_Line</a></span> (<span class="symbol"><a name="ref_88_24" href="terminal_interface-curses-text_io__adb.htm#ref_145_24">Spacing</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a> := 1); - <b>procedure</b> <span class="symbol"><A NAME="ref_90_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_151_14">New_Page</A></span> (<span class="symbol"><A NAME="ref_90_24" HREF="terminal_interface-curses-text_io__adb.htm#ref_151_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>); - <b>procedure</b> <span class="symbol"><A NAME="ref_91_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_157_14">New_Page</A></span>; + <b>procedure</b> <span class="symbol"><a name="ref_90_14" href="terminal_interface-curses-text_io__adb.htm#ref_151_14">New_Page</a></span> (<span class="symbol"><a name="ref_90_24" href="terminal_interface-curses-text_io__adb.htm#ref_151_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>); + <b>procedure</b> <span class="symbol"><a name="ref_91_14" href="terminal_interface-curses-text_io__adb.htm#ref_157_14">New_Page</a></span>; - <b>procedure</b> <span class="symbol"><A NAME="ref_93_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_163_14">Set_Col</A></span> (<span class="symbol"><A NAME="ref_93_23" HREF="terminal_interface-curses-text_io__adb.htm#ref_163_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_93_38" HREF="terminal_interface-curses-text_io__adb.htm#ref_163_38">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</A>); - <b>procedure</b> <span class="symbol"><A NAME="ref_94_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_191_14">Set_Col</A></span> (<span class="symbol"><A NAME="ref_94_23" HREF="terminal_interface-curses-text_io__adb.htm#ref_191_23">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</A>); + <b>procedure</b> <span class="symbol"><a name="ref_93_14" href="terminal_interface-curses-text_io__adb.htm#ref_163_14">Set_Col</a></span> (<span class="symbol"><a name="ref_93_23" href="terminal_interface-curses-text_io__adb.htm#ref_163_23">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_93_38" href="terminal_interface-curses-text_io__adb.htm#ref_163_38">To</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a>); + <b>procedure</b> <span class="symbol"><a name="ref_94_14" href="terminal_interface-curses-text_io__adb.htm#ref_191_14">Set_Col</a></span> (<span class="symbol"><a name="ref_94_23" href="terminal_interface-curses-text_io__adb.htm#ref_191_23">To</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a>); - <b>procedure</b> <span class="symbol"><A NAME="ref_96_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_197_14">Set_Line</A></span> (<span class="symbol"><A NAME="ref_96_24" HREF="terminal_interface-curses-text_io__adb.htm#ref_197_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_96_38" HREF="terminal_interface-curses-text_io__adb.htm#ref_197_38">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</A>); - <b>procedure</b> <span class="symbol"><A NAME="ref_97_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_221_14">Set_Line</A></span> (<span class="symbol"><A NAME="ref_97_24" HREF="terminal_interface-curses-text_io__adb.htm#ref_221_24">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</A>); + <b>procedure</b> <span class="symbol"><a name="ref_96_14" href="terminal_interface-curses-text_io__adb.htm#ref_197_14">Set_Line</a></span> (<span class="symbol"><a name="ref_96_24" href="terminal_interface-curses-text_io__adb.htm#ref_197_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_96_38" href="terminal_interface-curses-text_io__adb.htm#ref_197_38">To</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a>); + <b>procedure</b> <span class="symbol"><a name="ref_97_14" href="terminal_interface-curses-text_io__adb.htm#ref_221_14">Set_Line</a></span> (<span class="symbol"><a name="ref_97_24" href="terminal_interface-curses-text_io__adb.htm#ref_221_24">To</a></span> : <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a>); - <b>function</b> <span class="symbol"><A NAME="ref_99_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_227_13">Col</A></span> (<span class="symbol"><A NAME="ref_99_18" HREF="terminal_interface-curses-text_io__adb.htm#ref_227_18">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</A>; - <b>function</b> <span class="symbol"><A NAME="ref_100_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_241_13">Col</A></span> <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</A>; + <b>function</b> <span class="symbol"><a name="ref_99_13" href="terminal_interface-curses-text_io__adb.htm#ref_227_13">Col</a></span> (<span class="symbol"><a name="ref_99_18" href="terminal_interface-curses-text_io__adb.htm#ref_227_18">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a>; + <b>function</b> <span class="symbol"><a name="ref_100_13" href="terminal_interface-curses-text_io__adb.htm#ref_241_13">Col</a></span> <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a>; - <b>function</b> <span class="symbol"><A NAME="ref_102_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_247_13">Line</A></span> (<span class="symbol"><A NAME="ref_102_19" HREF="terminal_interface-curses-text_io__adb.htm#ref_247_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</A>; - <b>function</b> <span class="symbol"><A NAME="ref_103_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_261_13">Line</A></span> <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</A>; + <b>function</b> <span class="symbol"><a name="ref_102_13" href="terminal_interface-curses-text_io__adb.htm#ref_247_13">Line</a></span> (<span class="symbol"><a name="ref_102_19" href="terminal_interface-curses-text_io__adb.htm#ref_247_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a>; + <b>function</b> <span class="symbol"><a name="ref_103_13" href="terminal_interface-curses-text_io__adb.htm#ref_261_13">Line</a></span> <b>return</b> <a href="terminal_interface-curses-text_io__ads.htm#ref_49_12">Positive_Count</a>; - <span class="comment"><EM>-----------------------</EM></span> - <span class="comment"><EM>-- Characters-Output --</EM></span> - <span class="comment"><EM>-----------------------</EM></span> + <span class="comment"><em>-----------------------</em></span> + <span class="comment"><em>-- Characters-Output --</em></span> + <span class="comment"><em>-----------------------</em></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_109_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_271_14">Put</A></span> (<span class="symbol"><A NAME="ref_109_19" HREF="terminal_interface-curses-text_io__adb.htm#ref_271_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_109_34" HREF="terminal_interface-curses-text_io__adb.htm#ref_271_34">Item</A></span> : Character); - <b>procedure</b> <span class="symbol"><A NAME="ref_110_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_289_14">Put</A></span> (<span class="symbol"><A NAME="ref_110_19" HREF="terminal_interface-curses-text_io__adb.htm#ref_289_19">Item</A></span> : Character); + <b>procedure</b> <span class="symbol"><a name="ref_109_14" href="terminal_interface-curses-text_io__adb.htm#ref_271_14">Put</a></span> (<span class="symbol"><a name="ref_109_19" href="terminal_interface-curses-text_io__adb.htm#ref_271_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_109_34" href="terminal_interface-curses-text_io__adb.htm#ref_271_34">Item</a></span> : Character); + <b>procedure</b> <span class="symbol"><a name="ref_110_14" href="terminal_interface-curses-text_io__adb.htm#ref_289_14">Put</a></span> (<span class="symbol"><a name="ref_110_19" href="terminal_interface-curses-text_io__adb.htm#ref_289_19">Item</a></span> : Character); - <span class="comment"><EM>--------------------</EM></span> - <span class="comment"><EM>-- Strings-Output --</EM></span> - <span class="comment"><EM>--------------------</EM></span> + <span class="comment"><em>--------------------</em></span> + <span class="comment"><em>-- Strings-Output --</em></span> + <span class="comment"><em>--------------------</em></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_116_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_299_14">Put</A></span> (<span class="symbol"><A NAME="ref_116_19" HREF="terminal_interface-curses-text_io__adb.htm#ref_299_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_116_34" HREF="terminal_interface-curses-text_io__adb.htm#ref_299_34">Item</A></span> : String); - <b>procedure</b> <span class="symbol"><A NAME="ref_117_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_317_14">Put</A></span> (<span class="symbol"><A NAME="ref_117_19" HREF="terminal_interface-curses-text_io__adb.htm#ref_317_19">Item</A></span> : String); + <b>procedure</b> <span class="symbol"><a name="ref_116_14" href="terminal_interface-curses-text_io__adb.htm#ref_299_14">Put</a></span> (<span class="symbol"><a name="ref_116_19" href="terminal_interface-curses-text_io__adb.htm#ref_299_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_116_34" href="terminal_interface-curses-text_io__adb.htm#ref_299_34">Item</a></span> : String); + <b>procedure</b> <span class="symbol"><a name="ref_117_14" href="terminal_interface-curses-text_io__adb.htm#ref_317_14">Put</a></span> (<span class="symbol"><a name="ref_117_19" href="terminal_interface-curses-text_io__adb.htm#ref_317_19">Item</a></span> : String); - <b>procedure</b> <span class="symbol"><A NAME="ref_119_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_323_14">Put_Line</A></span> - (<span class="symbol"><A NAME="ref_120_7" HREF="terminal_interface-curses-text_io__adb.htm#ref_324_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_121_7" HREF="terminal_interface-curses-text_io__adb.htm#ref_325_7">Item</A></span> : String); + <b>procedure</b> <span class="symbol"><a name="ref_119_14" href="terminal_interface-curses-text_io__adb.htm#ref_323_14">Put_Line</a></span> + (<span class="symbol"><a name="ref_120_7" href="terminal_interface-curses-text_io__adb.htm#ref_324_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_121_7" href="terminal_interface-curses-text_io__adb.htm#ref_325_7">Item</a></span> : String); - <b>procedure</b> <span class="symbol"><A NAME="ref_123_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_332_14">Put_Line</A></span> - (<span class="symbol"><A NAME="ref_124_7" HREF="terminal_interface-curses-text_io__adb.htm#ref_333_7">Item</A></span> : String); + <b>procedure</b> <span class="symbol"><a name="ref_123_14" href="terminal_interface-curses-text_io__adb.htm#ref_332_14">Put_Line</a></span> + (<span class="symbol"><a name="ref_124_7" href="terminal_interface-curses-text_io__adb.htm#ref_333_7">Item</a></span> : String); - <span class="comment"><EM>-- Exceptions</EM></span> + <span class="comment"><em>-- Exceptions</em></span> - <span class="symbol"><A NAME="ref_128_4">Status_Error</A></span> : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Status_Error; - <span class="symbol"><A NAME="ref_129_4">Mode_Error</A></span> : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Mode_Error; - <span class="symbol"><A NAME="ref_130_4">Name_Error</A></span> : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Name_Error; - <span class="symbol"><A NAME="ref_131_4">Use_Error</A></span> : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Use_Error; - <span class="symbol"><A NAME="ref_132_4">Device_Error</A></span> : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Device_Error; - <span class="symbol"><A NAME="ref_133_4">End_Error</A></span> : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.End_Error; - <span class="symbol"><A NAME="ref_134_4">Data_Error</A></span> : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Data_Error; - <span class="symbol"><A NAME="ref_135_4">Layout_Error</A></span> : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Layout_Error; + <span class="symbol"><a name="ref_128_4">Status_Error</a></span> : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Status_Error; + <span class="symbol"><a name="ref_129_4">Mode_Error</a></span> : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Mode_Error; + <span class="symbol"><a name="ref_130_4">Name_Error</a></span> : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Name_Error; + <span class="symbol"><a name="ref_131_4">Use_Error</a></span> : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Use_Error; + <span class="symbol"><a name="ref_132_4">Device_Error</a></span> : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Device_Error; + <span class="symbol"><a name="ref_133_4">End_Error</a></span> : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.End_Error; + <span class="symbol"><a name="ref_134_4">Data_Error</a></span> : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Data_Error; + <span class="symbol"><a name="ref_135_4">Layout_Error</a></span> : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Layout_Error; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-text_io__ads.htm#ref_45_35">Text_IO</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-trace__adb.htm b/doc/html/ada/terminal_interface-curses-trace__adb.htm index a5952109fafb..05455ee87007 100644 --- a/doc/html/ada/terminal_interface-curses-trace__adb.htm +++ b/doc/html/ada/terminal_interface-curses-trace__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-trace.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses-trace.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,69 +11,69 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-trace.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Trace --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 2001-2011,2014 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.12 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-trace.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Trace --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 2001-2011,2014 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.12 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<span class="symbol"><A NAME="ref_44_40" HREF="terminal_interface-curses-trace__ads.htm#ref_43_35">Trace</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_44_40" href="terminal_interface-curses-trace__ads.htm#ref_43_35">Trace</a></span> <b>is</b> - <b>procedure</b> <span class="symbol"><A NAME="ref_46_14" HREF="terminal_interface-curses-trace__ads.htm#ref_115_14">Trace_On</A></span> (<span class="symbol"><A NAME="ref_46_24" HREF="terminal_interface-curses-trace__ads.htm#ref_115_24">x</A></span> : <A HREF="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</A>) <b>is</b> - <b>procedure</b> <span class="symbol"><A NAME="ref_47_17">traceC</A></span> (<span class="symbol"><A NAME="ref_47_25" HREF="terminal_interface-curses-trace__adb.htm#ref_47_17">y</A></span> : <A HREF="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</A>); + <b>procedure</b> <span class="symbol"><a name="ref_46_14" href="terminal_interface-curses-trace__ads.htm#ref_115_14">Trace_On</a></span> (<span class="symbol"><a name="ref_46_24" href="terminal_interface-curses-trace__ads.htm#ref_115_24">x</a></span> : <a href="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</a>) <b>is</b> + <b>procedure</b> <span class="symbol"><a name="ref_47_17">traceC</a></span> (<span class="symbol"><a name="ref_47_25">y</a></span> : <a href="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</a>); <b>pragma</b> Import (C, traceC, "trace"); <b>begin</b> - <A HREF="terminal_interface-curses-trace__adb.htm#ref_47_17">traceC</A> (<A HREF="terminal_interface-curses-trace__ads.htm#ref_115_24">x</A>); - <b>end</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_115_14">Trace_On</A>; + <a href="terminal_interface-curses-trace__adb.htm#ref_47_17">traceC</a> (<a href="terminal_interface-curses-trace__ads.htm#ref_115_24">x</a>); + <b>end</b> <a href="terminal_interface-curses-trace__ads.htm#ref_115_14">Trace_On</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_53_14" HREF="terminal_interface-curses-trace__ads.htm#ref_119_14">Trace_Put</A></span> (<span class="symbol"><A NAME="ref_53_25" HREF="terminal_interface-curses-trace__ads.htm#ref_119_25">str</A></span> : String) <b>is</b> - <b>procedure</b> <span class="symbol"><A NAME="ref_54_17">tracef</A></span> (<span class="symbol"><A NAME="ref_54_25" HREF="terminal_interface-curses-trace__adb.htm#ref_54_17">format</A></span> : char_array; <span class="symbol"><A NAME="ref_54_46" HREF="terminal_interface-curses-trace__adb.htm#ref_54_17">s</A></span> : char_array); + <b>procedure</b> <span class="symbol"><a name="ref_53_14" href="terminal_interface-curses-trace__ads.htm#ref_119_14">Trace_Put</a></span> (<span class="symbol"><a name="ref_53_25" href="terminal_interface-curses-trace__ads.htm#ref_119_25">str</a></span> : String) <b>is</b> + <b>procedure</b> <span class="symbol"><a name="ref_54_17">tracef</a></span> (<span class="symbol"><a name="ref_54_25">format</a></span> : char_array; <span class="symbol"><a name="ref_54_46">s</a></span> : char_array); <b>pragma</b> Import (C, tracef, "_traces"); - <span class="comment"><EM>-- _traces() is defined in c_varargs_to_ada.h</EM></span> + <span class="comment"><em>-- _traces() is defined in c_varargs_to_ada.h</em></span> <b>begin</b> - <A HREF="terminal_interface-curses-trace__adb.htm#ref_54_17">tracef</A> (To_C ("%s"), To_C (<A HREF="terminal_interface-curses-trace__ads.htm#ref_119_25">str</A>)); - <b>end</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_119_14">Trace_Put</A>; + <a href="terminal_interface-curses-trace__adb.htm#ref_54_17">tracef</a> (To_C ("%s"), To_C (<a href="terminal_interface-curses-trace__ads.htm#ref_119_25">str</a>)); + <b>end</b> <a href="terminal_interface-curses-trace__ads.htm#ref_119_14">Trace_Put</a>; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-trace__ads.htm#ref_43_35">Trace</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-trace__ads.htm#ref_43_35">Trace</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses-trace__ads.htm b/doc/html/ada/terminal_interface-curses-trace__ads.htm index 136c93fc91af..43695163207f 100644 --- a/doc/html/ada/terminal_interface-curses-trace__ads.htm +++ b/doc/html/ada/terminal_interface-curses-trace__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses-trace.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses-trace.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,133 +11,133 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-trace.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses.Trace --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 2000,2014 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Eugene V. Melaragno <aldomel@ix.netcom.com> 2000</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.5 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses-trace.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses.Trace --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 2000,2014 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Eugene V. Melaragno <aldomel@ix.netcom.com> 2000</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.5 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<span class="symbol"><A NAME="ref_43_35" HREF="terminal_interface-curses-trace__adb.htm#ref_44_40">Trace</A></span> <b>is</b> - <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-trace__ads.htm#ref_43_35">Trace</A>); +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_43_35" href="terminal_interface-curses-trace__adb.htm#ref_44_40">Trace</a></span> <b>is</b> + <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-trace__ads.htm#ref_43_35">Trace</a>); - <b>type</b> <span class="symbol"><A NAME="ref_46_9">Trace_Attribute_Set</A></span> <b>is</b> + <b>type</b> <span class="symbol"><a name="ref_46_9">Trace_Attribute_Set</a></span> <b>is</b> <b>record</b> - <span class="symbol"><A NAME="ref_48_10">Times</A></span> : Boolean; - <span class="symbol"><A NAME="ref_49_10">Tputs</A></span> : Boolean; - <span class="symbol"><A NAME="ref_50_10">Update</A></span> : Boolean; - <span class="symbol"><A NAME="ref_51_10">Cursor_Move</A></span> : Boolean; - <span class="symbol"><A NAME="ref_52_10">Character_Output</A></span> : Boolean; - <span class="symbol"><A NAME="ref_53_10">Calls</A></span> : Boolean; - <span class="symbol"><A NAME="ref_54_10">Virtual_Puts</A></span> : Boolean; - <span class="symbol"><A NAME="ref_55_10">Input_Events</A></span> : Boolean; - <span class="symbol"><A NAME="ref_56_10">TTY_State</A></span> : Boolean; - <span class="symbol"><A NAME="ref_57_10">Internal_Calls</A></span> : Boolean; - <span class="symbol"><A NAME="ref_58_10">Character_Calls</A></span> : Boolean; - <span class="symbol"><A NAME="ref_59_10">Termcap_TermInfo</A></span> : Boolean; - <span class="symbol"><A NAME="ref_60_10">Attribute_Color</A></span> : Boolean; + <span class="symbol"><a name="ref_48_10">Times</a></span> : Boolean; + <span class="symbol"><a name="ref_49_10">Tputs</a></span> : Boolean; + <span class="symbol"><a name="ref_50_10">Update</a></span> : Boolean; + <span class="symbol"><a name="ref_51_10">Cursor_Move</a></span> : Boolean; + <span class="symbol"><a name="ref_52_10">Character_Output</a></span> : Boolean; + <span class="symbol"><a name="ref_53_10">Calls</a></span> : Boolean; + <span class="symbol"><a name="ref_54_10">Virtual_Puts</a></span> : Boolean; + <span class="symbol"><a name="ref_55_10">Input_Events</a></span> : Boolean; + <span class="symbol"><a name="ref_56_10">TTY_State</a></span> : Boolean; + <span class="symbol"><a name="ref_57_10">Internal_Calls</a></span> : Boolean; + <span class="symbol"><a name="ref_58_10">Character_Calls</a></span> : Boolean; + <span class="symbol"><a name="ref_59_10">Termcap_TermInfo</a></span> : Boolean; + <span class="symbol"><a name="ref_60_10">Attribute_Color</a></span> : Boolean; <b>end</b> <b>record</b>; - <b>pragma</b> Convention (C_Pass_By_Copy, <A HREF="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</A>); + <b>pragma</b> Convention (C_Pass_By_Copy, <a href="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</a>); - <b>for</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</A> <b>use</b> + <b>for</b> <a href="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</a> <b>use</b> <b>record</b> - <A HREF="terminal_interface-curses-trace__ads.htm#ref_48_10">Times</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_356_4">TRACE_TIMES_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_357_4">TRACE_TIMES_Last</A>; - <A HREF="terminal_interface-curses-trace__ads.htm#ref_49_10">Tputs</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_358_4">TRACE_TPUTS_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_359_4">TRACE_TPUTS_Last</A>; - <A HREF="terminal_interface-curses-trace__ads.htm#ref_50_10">Update</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_360_4">TRACE_UPDATE_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_361_4">TRACE_UPDATE_Last</A>; - <A HREF="terminal_interface-curses-trace__ads.htm#ref_51_10">Cursor_Move</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_362_4">TRACE_MOVE_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_363_4">TRACE_MOVE_Last</A>; - <A HREF="terminal_interface-curses-trace__ads.htm#ref_52_10">Character_Output</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_364_4">TRACE_CHARPUT_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_365_4">TRACE_CHARPUT_Last</A>; - <A HREF="terminal_interface-curses-trace__ads.htm#ref_53_10">Calls</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_366_4">TRACE_CALLS_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_367_4">TRACE_CALLS_Last</A>; - <A HREF="terminal_interface-curses-trace__ads.htm#ref_54_10">Virtual_Puts</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_368_4">TRACE_VIRTPUT_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_369_4">TRACE_VIRTPUT_Last</A>; - <A HREF="terminal_interface-curses-trace__ads.htm#ref_55_10">Input_Events</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_370_4">TRACE_IEVENT_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_371_4">TRACE_IEVENT_Last</A>; - <A HREF="terminal_interface-curses-trace__ads.htm#ref_56_10">TTY_State</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_372_4">TRACE_BITS_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_373_4">TRACE_BITS_Last</A>; - <A HREF="terminal_interface-curses-trace__ads.htm#ref_57_10">Internal_Calls</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_374_4">TRACE_ICALLS_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_375_4">TRACE_ICALLS_Last</A>; - <A HREF="terminal_interface-curses-trace__ads.htm#ref_58_10">Character_Calls</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_376_4">TRACE_CCALLS_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_377_4">TRACE_CCALLS_Last</A>; - <A HREF="terminal_interface-curses-trace__ads.htm#ref_59_10">Termcap_TermInfo</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_378_4">TRACE_DATABASE_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_379_4">TRACE_DATABASE_Last</A>; - <A HREF="terminal_interface-curses-trace__ads.htm#ref_60_10">Attribute_Color</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_380_4">TRACE_ATTRS_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_381_4">TRACE_ATTRS_Last</A>; + <a href="terminal_interface-curses-trace__ads.htm#ref_48_10">Times</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_356_4">TRACE_TIMES_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_357_4">TRACE_TIMES_Last</a>; + <a href="terminal_interface-curses-trace__ads.htm#ref_49_10">Tputs</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_358_4">TRACE_TPUTS_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_359_4">TRACE_TPUTS_Last</a>; + <a href="terminal_interface-curses-trace__ads.htm#ref_50_10">Update</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_360_4">TRACE_UPDATE_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_361_4">TRACE_UPDATE_Last</a>; + <a href="terminal_interface-curses-trace__ads.htm#ref_51_10">Cursor_Move</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_362_4">TRACE_MOVE_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_363_4">TRACE_MOVE_Last</a>; + <a href="terminal_interface-curses-trace__ads.htm#ref_52_10">Character_Output</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_364_4">TRACE_CHARPUT_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_365_4">TRACE_CHARPUT_Last</a>; + <a href="terminal_interface-curses-trace__ads.htm#ref_53_10">Calls</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_366_4">TRACE_CALLS_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_367_4">TRACE_CALLS_Last</a>; + <a href="terminal_interface-curses-trace__ads.htm#ref_54_10">Virtual_Puts</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_368_4">TRACE_VIRTPUT_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_369_4">TRACE_VIRTPUT_Last</a>; + <a href="terminal_interface-curses-trace__ads.htm#ref_55_10">Input_Events</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_370_4">TRACE_IEVENT_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_371_4">TRACE_IEVENT_Last</a>; + <a href="terminal_interface-curses-trace__ads.htm#ref_56_10">TTY_State</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_372_4">TRACE_BITS_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_373_4">TRACE_BITS_Last</a>; + <a href="terminal_interface-curses-trace__ads.htm#ref_57_10">Internal_Calls</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_374_4">TRACE_ICALLS_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_375_4">TRACE_ICALLS_Last</a>; + <a href="terminal_interface-curses-trace__ads.htm#ref_58_10">Character_Calls</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_376_4">TRACE_CCALLS_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_377_4">TRACE_CCALLS_Last</a>; + <a href="terminal_interface-curses-trace__ads.htm#ref_59_10">Termcap_TermInfo</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_378_4">TRACE_DATABASE_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_379_4">TRACE_DATABASE_Last</a>; + <a href="terminal_interface-curses-trace__ads.htm#ref_60_10">Attribute_Color</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_380_4">TRACE_ATTRS_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_381_4">TRACE_ATTRS_Last</a>; <b>end</b> <b>record</b>; <b>pragma</b> Warnings (Off); - <b>for</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</A>'Size <b>use</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_382_4">Trace_Size</A>; + <b>for</b> <a href="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</a>'Size <b>use</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_382_4">Trace_Size</a>; <b>pragma</b> Warnings (On); - <span class="symbol"><A NAME="ref_97_4">Trace_Disable</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</A> := (<b>others</b> => False); + <span class="symbol"><a name="ref_97_4">Trace_Disable</a></span> : <b>constant</b> <a href="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</a> := (<b>others</b> => False); - <span class="symbol"><A NAME="ref_99_4">Trace_Ordinary</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</A> := - (<A HREF="terminal_interface-curses-trace__ads.htm#ref_48_10">Times</A> => True, - <A HREF="terminal_interface-curses-trace__ads.htm#ref_49_10">Tputs</A> => True, - <A HREF="terminal_interface-curses-trace__ads.htm#ref_50_10">Update</A> => True, - <A HREF="terminal_interface-curses-trace__ads.htm#ref_51_10">Cursor_Move</A> => True, - <A HREF="terminal_interface-curses-trace__ads.htm#ref_52_10">Character_Output</A> => True, + <span class="symbol"><a name="ref_99_4">Trace_Ordinary</a></span> : <b>constant</b> <a href="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</a> := + (<a href="terminal_interface-curses-trace__ads.htm#ref_48_10">Times</a> => True, + <a href="terminal_interface-curses-trace__ads.htm#ref_49_10">Tputs</a> => True, + <a href="terminal_interface-curses-trace__ads.htm#ref_50_10">Update</a> => True, + <a href="terminal_interface-curses-trace__ads.htm#ref_51_10">Cursor_Move</a> => True, + <a href="terminal_interface-curses-trace__ads.htm#ref_52_10">Character_Output</a> => True, <b>others</b> => False); - <span class="symbol"><A NAME="ref_106_4">Trace_Maximum</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</A> := (<b>others</b> => True); + <span class="symbol"><a name="ref_106_4">Trace_Maximum</a></span> : <b>constant</b> <a href="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</a> := (<b>others</b> => True); -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> - <span class="comment"><EM>-- <A NAME="AFU_1">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_115_14" HREF="terminal_interface-curses-trace__adb.htm#ref_46_14">Trace_On</A></span> (<span class="symbol"><A NAME="ref_115_24" HREF="terminal_interface-curses-trace__adb.htm#ref_46_24">x</A></span> : <A HREF="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</A>); - <span class="comment"><EM>-- The debugging library has trace.</EM></span> + <span class="comment"><em>-- <A NAME="AFU_1">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_115_14" href="terminal_interface-curses-trace__adb.htm#ref_46_14">Trace_On</a></span> (<span class="symbol"><a name="ref_115_24" href="terminal_interface-curses-trace__adb.htm#ref_46_24">x</a></span> : <a href="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</a>); + <span class="comment"><em>-- The debugging library has trace.</em></span> - <span class="comment"><EM>-- <A NAME="AFU_2">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_119_14" HREF="terminal_interface-curses-trace__adb.htm#ref_53_14">Trace_Put</A></span> (<span class="symbol"><A NAME="ref_119_25" HREF="terminal_interface-curses-trace__adb.htm#ref_53_25">str</A></span> : String); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_trace.3x.html">_tracef()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_2">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_119_14" href="terminal_interface-curses-trace__adb.htm#ref_53_14">Trace_Put</a></span> (<span class="symbol"><a name="ref_119_25" href="terminal_interface-curses-trace__adb.htm#ref_53_25">str</a></span> : String); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_trace.3x.html">_tracef()</A></em></span> - <span class="symbol"><A NAME="ref_122_4">Current_Trace_Setting</A></span> : <A HREF="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</A>; - <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-trace__ads.htm#ref_122_4">Current_Trace_Setting</A>, "_nc_tracing"); + <span class="symbol"><a name="ref_122_4">Current_Trace_Setting</a></span> : <a href="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</a>; + <b>pragma</b> Import (C, <a href="terminal_interface-curses-trace__ads.htm#ref_122_4">Current_Trace_Setting</a>, "_nc_tracing"); -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-trace__ads.htm#ref_43_35">Trace</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-trace__ads.htm#ref_43_35">Trace</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses__adb.htm b/doc/html/ada/terminal_interface-curses__adb.htm index ca1df9162d82..1f5e7c3ed45e 100644 --- a/doc/html/ada/terminal_interface-curses__adb.htm +++ b/doc/html/ada/terminal_interface-curses__adb.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses.adb</TITLE> +<html> +<head> +<title>terminal_interface-curses.adb</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,2565 +11,2565 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses.adb </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- B O D Y --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2018,2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 2007-2011,2014 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.16 @</EM></span> -<span class="comment"><EM>-- @Date: 2020/02/02 23:34:34 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses.adb </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- B O D Y --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2018-2020,2024 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 2007-2011,2014 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.17 @</em></span> +<span class="comment"><em>-- @Date: 2024/03/30 13:24:07 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>with</b> System; -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings; +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings; <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.Strings; <b>with</b> Ada.Characters.Handling; <b>use</b> Ada.Characters.Handling; <b>with</b> Ada.Strings.Fixed; -<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<span class="symbol"><A NAME="ref_51_33" HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A></span> <b>is</b> +<b>package</b> <b>body</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<span class="symbol"><a name="ref_51_33" href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a></span> <b>is</b> - <b>use</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</A>; + <b>use</b> <a href="terminal_interface-curses-aux__ads.htm#ref_46_35">Aux</a>; - <b>package</b> <span class="symbol"><A NAME="ref_55_12">ASF</A></span> <b>renames</b> Ada.Strings.Fixed; + <b>package</b> <span class="symbol"><a name="ref_55_12">ASF</a></span> <b>renames</b> Ada.Strings.Fixed; <b>type</b> chtype_array <b>is</b> <b>array</b> (size_t <b>range</b> <>) - <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; + <b>of</b> <b>aliased</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; <b>pragma</b> Convention (C, chtype_array); -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_62_13" HREF="terminal_interface-curses__ads.htm#ref_1787_13">Key_Name</A></span> (<span class="symbol"><A NAME="ref_62_23" HREF="terminal_interface-curses__ads.htm#ref_1787_23">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</A>) <b>return</b> String +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>function</b> <span class="symbol"><a name="ref_62_13" href="terminal_interface-curses__ads.htm#ref_1787_13">Key_Name</a></span> (<span class="symbol"><a name="ref_62_23" href="terminal_interface-curses__ads.htm#ref_1787_23">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>) <b>return</b> String <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_64_16">Keyname</A></span> (<span class="symbol"><A NAME="ref_64_25" HREF="terminal_interface-curses__adb.htm#ref_64_16">K</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> chars_ptr; + <b>function</b> <span class="symbol"><a name="ref_64_16">Keyname</a></span> (<span class="symbol"><a name="ref_64_25">K</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> chars_ptr; <b>pragma</b> Import (C, Keyname, "keyname"); - <span class="symbol"><A NAME="ref_67_7">Ch</A></span> : Character; + <span class="symbol"><a name="ref_67_7">Ch</a></span> : Character; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1787_23">Key</A> <= Character'Pos (Character'Last) <b>then</b> - <A HREF="terminal_interface-curses__adb.htm#ref_67_7">Ch</A> := Character'Val (<A HREF="terminal_interface-curses__ads.htm#ref_1787_23">Key</A>); - <b>if</b> Is_Control (<A HREF="terminal_interface-curses__adb.htm#ref_67_7">Ch</A>) <b>then</b> - <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1798_13">Un_Control</A> (<A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_492_10">Ch</A> => <A HREF="terminal_interface-curses__adb.htm#ref_67_7">Ch</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_491_10">Color</A> => <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'First, - <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A> => <A HREF="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</A>)); - <b>elsif</b> Is_Graphic (<A HREF="terminal_interface-curses__adb.htm#ref_67_7">Ch</A>) <b>then</b> + <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1787_23">Key</a> <= Character'Pos (Character'Last) <b>then</b> + <a href="terminal_interface-curses__adb.htm#ref_67_7">Ch</a> := Character'Val (<a href="terminal_interface-curses__ads.htm#ref_1787_23">Key</a>); + <b>if</b> Is_Control (<a href="terminal_interface-curses__adb.htm#ref_67_7">Ch</a>) <b>then</b> + <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_1798_13">Un_Control</a> (<a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>'(<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => <a href="terminal_interface-curses__adb.htm#ref_67_7">Ch</a>, + <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First, + <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>)); + <b>elsif</b> Is_Graphic (<a href="terminal_interface-curses__adb.htm#ref_67_7">Ch</a>) <b>then</b> <b>declare</b> - <span class="symbol"><A NAME="ref_77_16">S</A></span> : String (1 .. 1); + <span class="symbol"><a name="ref_77_16">S</a></span> : String (1 .. 1); <b>begin</b> - <A HREF="terminal_interface-curses__adb.htm#ref_77_16">S</A> (1) := <A HREF="terminal_interface-curses__adb.htm#ref_67_7">Ch</A>; - <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_77_16">S</A>; + <a href="terminal_interface-curses__adb.htm#ref_77_16">S</a> (1) := <a href="terminal_interface-curses__adb.htm#ref_67_7">Ch</a>; + <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_77_16">S</a>; <b>end</b>; <b>else</b> <b>return</b> ""; <b>end</b> <b>if</b>; <b>else</b> - <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_64_16">Keyname</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1787_23">Key</A>))); + <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_64_16">Keyname</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1787_23">Key</a>))); <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1787_13">Key_Name</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1787_13">Key_Name</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_90_14" HREF="terminal_interface-curses__ads.htm#ref_1781_14">Key_Name</A></span> (<span class="symbol"><A NAME="ref_90_24" HREF="terminal_interface-curses__ads.htm#ref_1781_24">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</A>; - <span class="symbol"><A NAME="ref_91_24" HREF="terminal_interface-curses__ads.htm#ref_1782_24">Name</A></span> : <b>out</b> String) + <b>procedure</b> <span class="symbol"><a name="ref_90_14" href="terminal_interface-curses__ads.htm#ref_1781_14">Key_Name</a></span> (<span class="symbol"><a name="ref_90_24" href="terminal_interface-curses__ads.htm#ref_1781_24">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>; + <span class="symbol"><a name="ref_91_24" href="terminal_interface-curses__ads.htm#ref_1782_24">Name</a></span> : <b>out</b> String) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses__adb.htm#ref_55_12">ASF</A>.Move (<A HREF="terminal_interface-curses__ads.htm#ref_1787_13">Key_Name</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1781_24">Key</A>), <A HREF="terminal_interface-curses__ads.htm#ref_1782_24">Name</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1781_14">Key_Name</A>; + <a href="terminal_interface-curses__adb.htm#ref_55_12">ASF</a>.Move (<a href="terminal_interface-curses__ads.htm#ref_1787_13">Key_Name</a> (<a href="terminal_interface-curses__ads.htm#ref_1781_24">Key</a>), <a href="terminal_interface-curses__ads.htm#ref_1782_24">Name</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1781_14">Key_Name</a>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_98_14" HREF="terminal_interface-curses__ads.htm#ref_657_14">Init_Screen</A></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_98_14" href="terminal_interface-curses__ads.htm#ref_657_14">Init_Screen</a></span> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_100_16">Initscr</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; + <b>function</b> <span class="symbol"><a name="ref_100_16">Initscr</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <b>pragma</b> Import (C, Initscr, "initscr"); - <span class="symbol"><A NAME="ref_103_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; + <span class="symbol"><a name="ref_103_7">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <b>begin</b> - <A HREF="terminal_interface-curses__adb.htm#ref_103_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_100_16">Initscr</A>; - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_103_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <a href="terminal_interface-curses__adb.htm#ref_103_7">W</a> := <a href="terminal_interface-curses__adb.htm#ref_100_16">Initscr</a>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_103_7">W</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_657_14">Init_Screen</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_657_14">Init_Screen</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_111_14" HREF="terminal_interface-curses__ads.htm#ref_666_14">End_Windows</A></span> + <b>procedure</b> <span class="symbol"><a name="ref_111_14" href="terminal_interface-curses__ads.htm#ref_666_14">End_Windows</a></span> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_113_16">Endwin</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_113_16">Endwin</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Endwin, "endwin"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_113_16">Endwin</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_113_16">Endwin</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_666_14">End_Windows</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_666_14">End_Windows</a>; - <b>function</b> <span class="symbol"><A NAME="ref_121_13" HREF="terminal_interface-curses__ads.htm#ref_673_13">Is_End_Window</A></span> <b>return</b> Boolean + <b>function</b> <span class="symbol"><a name="ref_121_13" href="terminal_interface-curses__ads.htm#ref_673_13">Is_End_Window</a></span> <b>return</b> Boolean <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_123_16">Isendwin</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>; + <b>function</b> <span class="symbol"><a name="ref_123_16">Isendwin</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; <b>pragma</b> Import (C, Isendwin, "isendwin"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_123_16">Isendwin</A> = <A HREF="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</A> <b>then</b> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_123_16">Isendwin</a> = <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_673_13">Is_End_Window</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_133_14" HREF="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</A></span> (<span class="symbol"><A NAME="ref_133_27" HREF="terminal_interface-curses__ads.htm#ref_682_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_134_27" HREF="terminal_interface-curses__ads.htm#ref_683_27">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_135_27" HREF="terminal_interface-curses__ads.htm#ref_684_27">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>) + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_673_13">Is_End_Window</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_133_14" href="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</a></span> (<span class="symbol"><a name="ref_133_27" href="terminal_interface-curses__ads.htm#ref_682_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_134_27" href="terminal_interface-curses__ads.htm#ref_683_27">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_135_27" href="terminal_interface-curses__ads.htm#ref_684_27">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_137_16">Wmove</A></span> (<span class="symbol"><A NAME="ref_137_23" HREF="terminal_interface-curses__adb.htm#ref_137_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_138_23" HREF="terminal_interface-curses__adb.htm#ref_137_16">Line</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_139_23" HREF="terminal_interface-curses__adb.htm#ref_137_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> - ) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_137_16">Wmove</a></span> (<span class="symbol"><a name="ref_137_23">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_138_23">Line</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_139_23">Column</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> + ) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Wmove, "wmove"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_137_16">Wmove</A> (<A HREF="terminal_interface-curses__ads.htm#ref_682_27">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_683_27">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_684_27">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_137_16">Wmove</a> (<a href="terminal_interface-curses__ads.htm#ref_682_27">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_683_27">Line</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_684_27">Column</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_148_14" HREF="terminal_interface-curses__ads.htm#ref_694_14">Add</A></span> (<span class="symbol"><A NAME="ref_148_19" HREF="terminal_interface-curses__ads.htm#ref_694_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_149_19" HREF="terminal_interface-curses__ads.htm#ref_695_19">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_148_14" href="terminal_interface-curses__ads.htm#ref_694_14">Add</a></span> (<span class="symbol"><a name="ref_148_19" href="terminal_interface-curses__ads.htm#ref_694_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_149_19" href="terminal_interface-curses__ads.htm#ref_695_19">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_151_16">Waddch</A></span> (<span class="symbol"><A NAME="ref_151_24" HREF="terminal_interface-curses__adb.htm#ref_151_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_152_24" HREF="terminal_interface-curses__adb.htm#ref_151_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_151_16">Waddch</a></span> (<span class="symbol"><a name="ref_151_24">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_152_24">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Waddch, "waddch"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_151_16">Waddch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_694_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_695_19">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_151_16">Waddch</a> (<a href="terminal_interface-curses__ads.htm#ref_694_19">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_695_19">Ch</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_694_14">Add</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_694_14">Add</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_160_14" HREF="terminal_interface-curses__ads.htm#ref_699_14">Add</A></span> (<span class="symbol"><A NAME="ref_160_19" HREF="terminal_interface-curses__ads.htm#ref_699_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_161_19" HREF="terminal_interface-curses__ads.htm#ref_700_19">Ch</A></span> : Character) + <b>procedure</b> <span class="symbol"><a name="ref_160_14" href="terminal_interface-curses__ads.htm#ref_699_14">Add</a></span> (<span class="symbol"><a name="ref_160_19" href="terminal_interface-curses__ads.htm#ref_699_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_161_19" href="terminal_interface-curses__ads.htm#ref_700_19">Ch</a></span> : Character) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses__ads.htm#ref_694_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_699_19">Win</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_492_10">Ch</A> => <A HREF="terminal_interface-curses__ads.htm#ref_700_19">Ch</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_491_10">Color</A> => <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'First, - <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A> => <A HREF="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</A>)); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_699_14">Add</A>; + <a href="terminal_interface-curses__ads.htm#ref_694_14">Add</a> (<a href="terminal_interface-curses__ads.htm#ref_699_19">Win</a>, + <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>'(<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => <a href="terminal_interface-curses__ads.htm#ref_700_19">Ch</a>, + <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First, + <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>)); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_699_14">Add</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_170_14" HREF="terminal_interface-curses__ads.htm#ref_705_14">Add</A></span> - (<span class="symbol"><A NAME="ref_171_7" HREF="terminal_interface-curses__ads.htm#ref_706_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_172_7" HREF="terminal_interface-curses__ads.htm#ref_707_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_173_7" HREF="terminal_interface-curses__ads.htm#ref_708_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_174_7" HREF="terminal_interface-curses__ads.htm#ref_709_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) + <b>procedure</b> <span class="symbol"><a name="ref_170_14" href="terminal_interface-curses__ads.htm#ref_705_14">Add</a></span> + (<span class="symbol"><a name="ref_171_7" href="terminal_interface-curses__ads.htm#ref_706_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_172_7" href="terminal_interface-curses__ads.htm#ref_707_7">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_173_7" href="terminal_interface-curses__ads.htm#ref_708_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_174_7" href="terminal_interface-curses__ads.htm#ref_709_7">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_176_16">mvwaddch</A></span> (<span class="symbol"><A NAME="ref_176_26" HREF="terminal_interface-curses__adb.htm#ref_176_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_177_26" HREF="terminal_interface-curses__adb.htm#ref_176_16">Y</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_178_26" HREF="terminal_interface-curses__adb.htm#ref_176_16">X</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_179_26" HREF="terminal_interface-curses__adb.htm#ref_176_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_176_16">mvwaddch</a></span> (<span class="symbol"><a name="ref_176_26">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_177_26">Y</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_178_26">X</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_179_26">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, mvwaddch, "mvwaddch"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_176_16">mvwaddch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_706_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_707_7">Line</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_708_7">Column</A>), - <A HREF="terminal_interface-curses__ads.htm#ref_709_7">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_176_16">mvwaddch</a> (<a href="terminal_interface-curses__ads.htm#ref_706_7">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_707_7">Line</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_708_7">Column</a>), + <a href="terminal_interface-curses__ads.htm#ref_709_7">Ch</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_705_14">Add</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_705_14">Add</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_190_14" HREF="terminal_interface-curses__ads.htm#ref_713_14">Add</A></span> - (<span class="symbol"><A NAME="ref_191_7" HREF="terminal_interface-curses__ads.htm#ref_714_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_192_7" HREF="terminal_interface-curses__ads.htm#ref_715_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_193_7" HREF="terminal_interface-curses__ads.htm#ref_716_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_194_7" HREF="terminal_interface-curses__ads.htm#ref_717_7">Ch</A></span> : Character) + <b>procedure</b> <span class="symbol"><a name="ref_190_14" href="terminal_interface-curses__ads.htm#ref_713_14">Add</a></span> + (<span class="symbol"><a name="ref_191_7" href="terminal_interface-curses__ads.htm#ref_714_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_192_7" href="terminal_interface-curses__ads.htm#ref_715_7">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_193_7" href="terminal_interface-curses__ads.htm#ref_716_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_194_7" href="terminal_interface-curses__ads.htm#ref_717_7">Ch</a></span> : Character) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses__ads.htm#ref_705_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_714_7">Win</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_715_7">Line</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_716_7">Column</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_492_10">Ch</A> => <A HREF="terminal_interface-curses__ads.htm#ref_717_7">Ch</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_491_10">Color</A> => <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'First, - <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A> => <A HREF="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</A>)); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_713_14">Add</A>; + <a href="terminal_interface-curses__ads.htm#ref_705_14">Add</a> (<a href="terminal_interface-curses__ads.htm#ref_714_7">Win</a>, + <a href="terminal_interface-curses__ads.htm#ref_715_7">Line</a>, + <a href="terminal_interface-curses__ads.htm#ref_716_7">Column</a>, + <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>'(<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => <a href="terminal_interface-curses__ads.htm#ref_717_7">Ch</a>, + <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First, + <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>)); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_713_14">Add</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_205_14" HREF="terminal_interface-curses__ads.htm#ref_722_14">Add_With_Immediate_Echo</A></span> - (<span class="symbol"><A NAME="ref_206_7" HREF="terminal_interface-curses__ads.htm#ref_723_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_207_7" HREF="terminal_interface-curses__ads.htm#ref_724_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) + <b>procedure</b> <span class="symbol"><a name="ref_205_14" href="terminal_interface-curses__ads.htm#ref_722_14">Add_With_Immediate_Echo</a></span> + (<span class="symbol"><a name="ref_206_7" href="terminal_interface-curses__ads.htm#ref_723_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_207_7" href="terminal_interface-curses__ads.htm#ref_724_7">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_209_16">Wechochar</A></span> (<span class="symbol"><A NAME="ref_209_27" HREF="terminal_interface-curses__adb.htm#ref_209_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_210_27" HREF="terminal_interface-curses__adb.htm#ref_209_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_209_16">Wechochar</a></span> (<span class="symbol"><a name="ref_209_27">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_210_27">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Wechochar, "wechochar"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_209_16">Wechochar</A> (<A HREF="terminal_interface-curses__ads.htm#ref_723_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_724_7">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_209_16">Wechochar</a> (<a href="terminal_interface-curses__ads.htm#ref_723_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_724_7">Ch</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_722_14">Add_With_Immediate_Echo</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_722_14">Add_With_Immediate_Echo</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_218_14" HREF="terminal_interface-curses__ads.htm#ref_728_14">Add_With_Immediate_Echo</A></span> - (<span class="symbol"><A NAME="ref_219_7" HREF="terminal_interface-curses__ads.htm#ref_729_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_220_7" HREF="terminal_interface-curses__ads.htm#ref_730_7">Ch</A></span> : Character) + <b>procedure</b> <span class="symbol"><a name="ref_218_14" href="terminal_interface-curses__ads.htm#ref_728_14">Add_With_Immediate_Echo</a></span> + (<span class="symbol"><a name="ref_219_7" href="terminal_interface-curses__ads.htm#ref_729_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_220_7" href="terminal_interface-curses__ads.htm#ref_730_7">Ch</a></span> : Character) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses__ads.htm#ref_722_14">Add_With_Immediate_Echo</A> - (<A HREF="terminal_interface-curses__ads.htm#ref_729_7">Win</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_492_10">Ch</A> => <A HREF="terminal_interface-curses__ads.htm#ref_730_7">Ch</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_491_10">Color</A> => <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'First, - <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A> => <A HREF="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</A>)); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_728_14">Add_With_Immediate_Echo</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_230_13" HREF="terminal_interface-curses__ads.htm#ref_740_13">Create</A></span> (<span class="symbol"><A NAME="ref_230_21" HREF="terminal_interface-curses__ads.htm#ref_741_7">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_231_21" HREF="terminal_interface-curses__ads.htm#ref_742_7">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>; - <span class="symbol"><A NAME="ref_232_21" HREF="terminal_interface-curses__ads.htm#ref_743_7">First_Line_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_233_21" HREF="terminal_interface-curses__ads.htm#ref_744_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> + <a href="terminal_interface-curses__ads.htm#ref_722_14">Add_With_Immediate_Echo</a> + (<a href="terminal_interface-curses__ads.htm#ref_729_7">Win</a>, + <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>'(<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => <a href="terminal_interface-curses__ads.htm#ref_730_7">Ch</a>, + <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First, + <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>)); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_728_14">Add_With_Immediate_Echo</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>function</b> <span class="symbol"><a name="ref_230_13" href="terminal_interface-curses__ads.htm#ref_740_13">Create</a></span> (<span class="symbol"><a name="ref_230_21" href="terminal_interface-curses__ads.htm#ref_741_7">Number_Of_Lines</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_231_21" href="terminal_interface-curses__ads.htm#ref_742_7">Number_Of_Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>; + <span class="symbol"><a name="ref_232_21" href="terminal_interface-curses__ads.htm#ref_743_7">First_Line_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_233_21" href="terminal_interface-curses__ads.htm#ref_744_7">First_Column_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_235_16">Newwin</A></span> (<span class="symbol"><A NAME="ref_235_24" HREF="terminal_interface-curses__adb.htm#ref_235_16">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_236_24" HREF="terminal_interface-curses__adb.htm#ref_235_16">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_237_24" HREF="terminal_interface-curses__adb.htm#ref_235_16">First_Line_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_238_24" HREF="terminal_interface-curses__adb.htm#ref_235_16">First_Column_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; + <b>function</b> <span class="symbol"><a name="ref_235_16">Newwin</a></span> (<span class="symbol"><a name="ref_235_24">Number_Of_Lines</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_236_24">Number_Of_Columns</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_237_24">First_Line_Position</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_238_24">First_Column_Position</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <b>pragma</b> Import (C, Newwin, "newwin"); - <span class="symbol"><A NAME="ref_241_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; + <span class="symbol"><a name="ref_241_7">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <b>begin</b> - <A HREF="terminal_interface-curses__adb.htm#ref_241_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_235_16">Newwin</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_741_7">Number_Of_Lines</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_742_7">Number_Of_Columns</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_743_7">First_Line_Position</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_744_7">First_Column_Position</A>)); - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_241_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <a href="terminal_interface-curses__adb.htm#ref_241_7">W</a> := <a href="terminal_interface-curses__adb.htm#ref_235_16">Newwin</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_741_7">Number_Of_Lines</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_742_7">Number_Of_Columns</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_743_7">First_Line_Position</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_744_7">First_Column_Position</a>)); + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_241_7">W</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_241_7">W</A>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_740_13">Create</A>; + <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_241_7">W</a>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_740_13">Create</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_253_14" HREF="terminal_interface-curses__ads.htm#ref_759_14">Delete</A></span> (<span class="symbol"><A NAME="ref_253_22" HREF="terminal_interface-curses__ads.htm#ref_759_22">Win</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) + <b>procedure</b> <span class="symbol"><a name="ref_253_14" href="terminal_interface-curses__ads.htm#ref_759_14">Delete</a></span> (<span class="symbol"><a name="ref_253_22" href="terminal_interface-curses__ads.htm#ref_759_22">Win</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_255_16">Wdelwin</A></span> (<span class="symbol"><A NAME="ref_255_25" HREF="terminal_interface-curses__adb.htm#ref_255_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_255_16">Wdelwin</a></span> (<span class="symbol"><a name="ref_255_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Wdelwin, "delwin"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_255_16">Wdelwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_759_22">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; - <b>end</b> <b>if</b>; - <A HREF="terminal_interface-curses__ads.htm#ref_759_22">Win</A> := <A HREF="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</A>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_759_14">Delete</A>; - - <b>function</b> <span class="symbol"><A NAME="ref_264_13" HREF="terminal_interface-curses__ads.htm#ref_765_13">Sub_Window</A></span> - (<span class="symbol"><A NAME="ref_265_7" HREF="terminal_interface-curses__ads.htm#ref_766_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_266_7" HREF="terminal_interface-curses__ads.htm#ref_767_7">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_267_7" HREF="terminal_interface-curses__ads.htm#ref_768_7">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>; - <span class="symbol"><A NAME="ref_268_7" HREF="terminal_interface-curses__ads.htm#ref_769_7">First_Line_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_269_7" HREF="terminal_interface-curses__ads.htm#ref_770_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> - <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_271_16">Subwin</A></span> - (<span class="symbol"><A NAME="ref_272_10" HREF="terminal_interface-curses__adb.htm#ref_271_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_273_10" HREF="terminal_interface-curses__adb.htm#ref_271_16">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_274_10" HREF="terminal_interface-curses__adb.htm#ref_271_16">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_275_10" HREF="terminal_interface-curses__adb.htm#ref_271_16">First_Line_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_276_10" HREF="terminal_interface-curses__adb.htm#ref_271_16">First_Column_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_255_16">Wdelwin</a> (<a href="terminal_interface-curses__ads.htm#ref_759_22">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; + <b>end</b> <b>if</b>; + <a href="terminal_interface-curses__ads.htm#ref_759_22">Win</a> := <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_759_14">Delete</a>; + + <b>function</b> <span class="symbol"><a name="ref_264_13" href="terminal_interface-curses__ads.htm#ref_765_13">Sub_Window</a></span> + (<span class="symbol"><a name="ref_265_7" href="terminal_interface-curses__ads.htm#ref_766_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_266_7" href="terminal_interface-curses__ads.htm#ref_767_7">Number_Of_Lines</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_267_7" href="terminal_interface-curses__ads.htm#ref_768_7">Number_Of_Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>; + <span class="symbol"><a name="ref_268_7" href="terminal_interface-curses__ads.htm#ref_769_7">First_Line_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_269_7" href="terminal_interface-curses__ads.htm#ref_770_7">First_Column_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> + <b>is</b> + <b>function</b> <span class="symbol"><a name="ref_271_16">Subwin</a></span> + (<span class="symbol"><a name="ref_272_10">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_273_10">Number_Of_Lines</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_274_10">Number_Of_Columns</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_275_10">First_Line_Position</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_276_10">First_Column_Position</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <b>pragma</b> Import (C, Subwin, "subwin"); - <span class="symbol"><A NAME="ref_279_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <b>begin</b> - <A HREF="terminal_interface-curses__adb.htm#ref_279_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_271_16">Subwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_766_7">Win</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_767_7">Number_Of_Lines</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_768_7">Number_Of_Columns</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_769_7">First_Line_Position</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_770_7">First_Column_Position</A>)); - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_279_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; - <b>end</b> <b>if</b>; - <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_279_7">W</A>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_765_13">Sub_Window</A>; - - <b>function</b> <span class="symbol"><A NAME="ref_292_13" HREF="terminal_interface-curses__ads.htm#ref_775_13">Derived_Window</A></span> - (<span class="symbol"><A NAME="ref_293_7" HREF="terminal_interface-curses__ads.htm#ref_776_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_294_7" HREF="terminal_interface-curses__ads.htm#ref_777_7">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_295_7" HREF="terminal_interface-curses__ads.htm#ref_778_7">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>; - <span class="symbol"><A NAME="ref_296_7" HREF="terminal_interface-curses__ads.htm#ref_779_7">First_Line_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_297_7" HREF="terminal_interface-curses__ads.htm#ref_780_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> - <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_299_16">Derwin</A></span> - (<span class="symbol"><A NAME="ref_300_10" HREF="terminal_interface-curses__adb.htm#ref_299_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_301_10" HREF="terminal_interface-curses__adb.htm#ref_299_16">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_302_10" HREF="terminal_interface-curses__adb.htm#ref_299_16">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_303_10" HREF="terminal_interface-curses__adb.htm#ref_299_16">First_Line_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_304_10" HREF="terminal_interface-curses__adb.htm#ref_299_16">First_Column_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; + <span class="symbol"><a name="ref_279_7">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <b>begin</b> + <a href="terminal_interface-curses__adb.htm#ref_279_7">W</a> := <a href="terminal_interface-curses__adb.htm#ref_271_16">Subwin</a> (<a href="terminal_interface-curses__ads.htm#ref_766_7">Win</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_767_7">Number_Of_Lines</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_768_7">Number_Of_Columns</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_769_7">First_Line_Position</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_770_7">First_Column_Position</a>)); + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_279_7">W</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; + <b>end</b> <b>if</b>; + <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_279_7">W</a>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_765_13">Sub_Window</a>; + + <b>function</b> <span class="symbol"><a name="ref_292_13" href="terminal_interface-curses__ads.htm#ref_775_13">Derived_Window</a></span> + (<span class="symbol"><a name="ref_293_7" href="terminal_interface-curses__ads.htm#ref_776_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_294_7" href="terminal_interface-curses__ads.htm#ref_777_7">Number_Of_Lines</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_295_7" href="terminal_interface-curses__ads.htm#ref_778_7">Number_Of_Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>; + <span class="symbol"><a name="ref_296_7" href="terminal_interface-curses__ads.htm#ref_779_7">First_Line_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_297_7" href="terminal_interface-curses__ads.htm#ref_780_7">First_Column_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> + <b>is</b> + <b>function</b> <span class="symbol"><a name="ref_299_16">Derwin</a></span> + (<span class="symbol"><a name="ref_300_10">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_301_10">Number_Of_Lines</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_302_10">Number_Of_Columns</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_303_10">First_Line_Position</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_304_10">First_Column_Position</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <b>pragma</b> Import (C, Derwin, "derwin"); - <span class="symbol"><A NAME="ref_307_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; + <span class="symbol"><a name="ref_307_7">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <b>begin</b> - <A HREF="terminal_interface-curses__adb.htm#ref_307_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_299_16">Derwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_776_7">Win</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_777_7">Number_Of_Lines</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_778_7">Number_Of_Columns</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_779_7">First_Line_Position</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_780_7">First_Column_Position</A>)); - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_307_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <a href="terminal_interface-curses__adb.htm#ref_307_7">W</a> := <a href="terminal_interface-curses__adb.htm#ref_299_16">Derwin</a> (<a href="terminal_interface-curses__ads.htm#ref_776_7">Win</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_777_7">Number_Of_Lines</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_778_7">Number_Of_Columns</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_779_7">First_Line_Position</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_780_7">First_Column_Position</a>)); + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_307_7">W</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_307_7">W</A>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_775_13">Derived_Window</A>; + <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_307_7">W</a>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_775_13">Derived_Window</a>; - <b>function</b> <span class="symbol"><A NAME="ref_320_13" HREF="terminal_interface-curses__ads.htm#ref_785_13">Duplicate</A></span> (<span class="symbol"><A NAME="ref_320_24" HREF="terminal_interface-curses__ads.htm#ref_785_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> + <b>function</b> <span class="symbol"><a name="ref_320_13" href="terminal_interface-curses__ads.htm#ref_785_13">Duplicate</a></span> (<span class="symbol"><a name="ref_320_24" href="terminal_interface-curses__ads.htm#ref_785_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_322_16">Dupwin</A></span> (<span class="symbol"><A NAME="ref_322_24" HREF="terminal_interface-curses__adb.htm#ref_322_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; + <b>function</b> <span class="symbol"><a name="ref_322_16">Dupwin</a></span> (<span class="symbol"><a name="ref_322_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <b>pragma</b> Import (C, Dupwin, "dupwin"); - <span class="symbol"><A NAME="ref_325_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__adb.htm#ref_322_16">Dupwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_785_24">Win</A>); + <span class="symbol"><a name="ref_325_7">W</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__adb.htm#ref_322_16">Dupwin</a> (<a href="terminal_interface-curses__ads.htm#ref_785_24">Win</a>); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_325_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_325_7">W</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_325_7">W</A>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_785_13">Duplicate</A>; + <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_325_7">W</a>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_785_13">Duplicate</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_333_14" HREF="terminal_interface-curses__ads.htm#ref_790_14">Move_Window</A></span> (<span class="symbol"><A NAME="ref_333_27" HREF="terminal_interface-curses__ads.htm#ref_790_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_334_27" HREF="terminal_interface-curses__ads.htm#ref_791_27">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_335_27" HREF="terminal_interface-curses__ads.htm#ref_792_27">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>) + <b>procedure</b> <span class="symbol"><a name="ref_333_14" href="terminal_interface-curses__ads.htm#ref_790_14">Move_Window</a></span> (<span class="symbol"><a name="ref_333_27" href="terminal_interface-curses__ads.htm#ref_790_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_334_27" href="terminal_interface-curses__ads.htm#ref_791_27">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_335_27" href="terminal_interface-curses__ads.htm#ref_792_27">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_337_16">Mvwin</A></span> (<span class="symbol"><A NAME="ref_337_23" HREF="terminal_interface-curses__adb.htm#ref_337_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_338_23" HREF="terminal_interface-curses__adb.htm#ref_337_16">Line</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_339_23" HREF="terminal_interface-curses__adb.htm#ref_337_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_337_16">Mvwin</a></span> (<span class="symbol"><a name="ref_337_23">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_338_23">Line</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_339_23">Column</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Mvwin, "mvwin"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_337_16">Mvwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_790_27">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_791_27">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_792_27">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_337_16">Mvwin</a> (<a href="terminal_interface-curses__ads.htm#ref_790_27">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_791_27">Line</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_792_27">Column</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_790_14">Move_Window</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_790_14">Move_Window</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_347_14" HREF="terminal_interface-curses__ads.htm#ref_797_14">Move_Derived_Window</A></span> (<span class="symbol"><A NAME="ref_347_35" HREF="terminal_interface-curses__ads.htm#ref_797_35">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_348_35" HREF="terminal_interface-curses__ads.htm#ref_798_35">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_349_35" HREF="terminal_interface-curses__ads.htm#ref_799_35">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>) + <b>procedure</b> <span class="symbol"><a name="ref_347_14" href="terminal_interface-curses__ads.htm#ref_797_14">Move_Derived_Window</a></span> (<span class="symbol"><a name="ref_347_35" href="terminal_interface-curses__ads.htm#ref_797_35">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_348_35" href="terminal_interface-curses__ads.htm#ref_798_35">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_349_35" href="terminal_interface-curses__ads.htm#ref_799_35">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_351_16">Mvderwin</A></span> (<span class="symbol"><A NAME="ref_351_26" HREF="terminal_interface-curses__adb.htm#ref_351_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_352_26" HREF="terminal_interface-curses__adb.htm#ref_351_16">Line</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_353_26" HREF="terminal_interface-curses__adb.htm#ref_351_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_351_16">Mvderwin</a></span> (<span class="symbol"><a name="ref_351_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_352_26">Line</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_353_26">Column</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Mvderwin, "mvderwin"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_351_16">Mvderwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_797_35">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_798_35">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_799_35">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_351_16">Mvderwin</a> (<a href="terminal_interface-curses__ads.htm#ref_797_35">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_798_35">Line</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_799_35">Column</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_797_14">Move_Derived_Window</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_797_14">Move_Derived_Window</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_361_14" HREF="terminal_interface-curses__ads.htm#ref_814_14">Set_Synch_Mode</A></span> (<span class="symbol"><A NAME="ref_361_30" HREF="terminal_interface-curses__ads.htm#ref_814_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_362_30" HREF="terminal_interface-curses__ads.htm#ref_815_30">Mode</A></span> : Boolean := False) + <b>procedure</b> <span class="symbol"><a name="ref_361_14" href="terminal_interface-curses__ads.htm#ref_814_14">Set_Synch_Mode</a></span> (<span class="symbol"><a name="ref_361_30" href="terminal_interface-curses__ads.htm#ref_814_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_362_30" href="terminal_interface-curses__ads.htm#ref_815_30">Mode</a></span> : Boolean := False) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_364_16">Syncok</A></span> (<span class="symbol"><A NAME="ref_364_24" HREF="terminal_interface-curses__adb.htm#ref_364_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_365_24" HREF="terminal_interface-curses__adb.htm#ref_364_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_364_16">Syncok</a></span> (<span class="symbol"><a name="ref_364_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_365_24">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Syncok, "syncok"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_364_16">Syncok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_814_30">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_815_30">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_364_16">Syncok</a> (<a href="terminal_interface-curses__ads.htm#ref_814_30">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_815_30">Mode</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_814_14">Set_Synch_Mode</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_373_14" HREF="terminal_interface-curses__ads.htm#ref_824_14">Add</A></span> (<span class="symbol"><A NAME="ref_373_19" HREF="terminal_interface-curses__ads.htm#ref_824_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_374_19" HREF="terminal_interface-curses__ads.htm#ref_825_19">Str</A></span> : String; - <span class="symbol"><A NAME="ref_375_19" HREF="terminal_interface-curses__ads.htm#ref_826_19">Len</A></span> : Integer := -1) + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_814_14">Set_Synch_Mode</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_373_14" href="terminal_interface-curses__ads.htm#ref_824_14">Add</a></span> (<span class="symbol"><a name="ref_373_19" href="terminal_interface-curses__ads.htm#ref_824_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_374_19" href="terminal_interface-curses__ads.htm#ref_825_19">Str</a></span> : String; + <span class="symbol"><a name="ref_375_19" href="terminal_interface-curses__ads.htm#ref_826_19">Len</a></span> : Integer := -1) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_377_16">Waddnstr</A></span> (<span class="symbol"><A NAME="ref_377_26" HREF="terminal_interface-curses__adb.htm#ref_377_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_378_26" HREF="terminal_interface-curses__adb.htm#ref_377_16">Str</A></span> : char_array; - <span class="symbol"><A NAME="ref_379_26" HREF="terminal_interface-curses__adb.htm#ref_377_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_377_16">Waddnstr</a></span> (<span class="symbol"><a name="ref_377_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_378_26">Str</a></span> : char_array; + <span class="symbol"><a name="ref_379_26">Len</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := -1) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Waddnstr, "waddnstr"); - <span class="symbol"><A NAME="ref_382_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_825_19">Str</A>'Length); - <span class="symbol"><A NAME="ref_383_7">Length</A></span> : size_t; + <span class="symbol"><a name="ref_382_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_825_19">Str</a>'Length); + <span class="symbol"><a name="ref_383_7">Length</a></span> : size_t; <b>begin</b> - To_C (<A HREF="terminal_interface-curses__ads.htm#ref_825_19">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_382_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_383_7">Length</A>); - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_377_16">Waddnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_824_19">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_382_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_826_19">Len</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + To_C (<a href="terminal_interface-curses__ads.htm#ref_825_19">Str</a>, <a href="terminal_interface-curses__adb.htm#ref_382_7">Txt</a>, <a href="terminal_interface-curses__adb.htm#ref_383_7">Length</a>); + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_377_16">Waddnstr</a> (<a href="terminal_interface-curses__ads.htm#ref_824_19">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_382_7">Txt</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_826_19">Len</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_824_14">Add</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_824_14">Add</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_391_14" HREF="terminal_interface-curses__ads.htm#ref_833_14">Add</A></span> - (<span class="symbol"><A NAME="ref_392_7" HREF="terminal_interface-curses__ads.htm#ref_833_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_393_7" HREF="terminal_interface-curses__ads.htm#ref_834_19">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_394_7" HREF="terminal_interface-curses__ads.htm#ref_835_19">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_395_7" HREF="terminal_interface-curses__ads.htm#ref_836_19">Str</A></span> : String; - <span class="symbol"><A NAME="ref_396_7" HREF="terminal_interface-curses__ads.htm#ref_837_19">Len</A></span> : Integer := -1) + <b>procedure</b> <span class="symbol"><a name="ref_391_14" href="terminal_interface-curses__ads.htm#ref_833_14">Add</a></span> + (<span class="symbol"><a name="ref_392_7" href="terminal_interface-curses__ads.htm#ref_833_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_393_7" href="terminal_interface-curses__ads.htm#ref_834_19">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_394_7" href="terminal_interface-curses__ads.htm#ref_835_19">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_395_7" href="terminal_interface-curses__ads.htm#ref_836_19">Str</a></span> : String; + <span class="symbol"><a name="ref_396_7" href="terminal_interface-curses__ads.htm#ref_837_19">Len</a></span> : Integer := -1) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_833_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_834_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_835_19">Column</A>); - <A HREF="terminal_interface-curses__ads.htm#ref_824_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_833_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_836_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_837_19">Len</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_833_14">Add</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_403_14" HREF="terminal_interface-curses__ads.htm#ref_848_14">Add</A></span> - (<span class="symbol"><A NAME="ref_404_7" HREF="terminal_interface-curses__ads.htm#ref_848_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_405_7" HREF="terminal_interface-curses__ads.htm#ref_849_19">Str</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Attributed_String</A>; - <span class="symbol"><A NAME="ref_406_7" HREF="terminal_interface-curses__ads.htm#ref_850_19">Len</A></span> : Integer := -1) + <a href="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</a> (<a href="terminal_interface-curses__ads.htm#ref_833_19">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_834_19">Line</a>, <a href="terminal_interface-curses__ads.htm#ref_835_19">Column</a>); + <a href="terminal_interface-curses__ads.htm#ref_824_14">Add</a> (<a href="terminal_interface-curses__ads.htm#ref_833_19">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_836_19">Str</a>, <a href="terminal_interface-curses__ads.htm#ref_837_19">Len</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_833_14">Add</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_403_14" href="terminal_interface-curses__ads.htm#ref_848_14">Add</a></span> + (<span class="symbol"><a name="ref_404_7" href="terminal_interface-curses__ads.htm#ref_848_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_405_7" href="terminal_interface-curses__ads.htm#ref_849_19">Str</a></span> : <a href="terminal_interface-curses__ads.htm#ref_510_4">Attributed_String</a>; + <span class="symbol"><a name="ref_406_7" href="terminal_interface-curses__ads.htm#ref_850_19">Len</a></span> : Integer := -1) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_408_16">Waddchnstr</A></span> (<span class="symbol"><A NAME="ref_408_28" HREF="terminal_interface-curses__adb.htm#ref_408_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_409_28" HREF="terminal_interface-curses__adb.htm#ref_408_16">Str</A></span> : chtype_array; - <span class="symbol"><A NAME="ref_410_28" HREF="terminal_interface-curses__adb.htm#ref_408_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_408_16">Waddchnstr</a></span> (<span class="symbol"><a name="ref_408_28">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_409_28">Str</a></span> : chtype_array; + <span class="symbol"><a name="ref_410_28">Len</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := -1) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Waddchnstr, "waddchnstr"); - <span class="symbol"><A NAME="ref_413_7">Txt</A></span> : chtype_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_849_19">Str</A>'Length); + <span class="symbol"><a name="ref_413_7">Txt</a></span> : chtype_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_849_19">Str</a>'Length); <b>begin</b> - <b>for</b> <span class="symbol"><A NAME="ref_415_11">Length</A></span> <b>in</b> 1 .. size_t (<A HREF="terminal_interface-curses__ads.htm#ref_849_19">Str</A>'Length) <b>loop</b> - <A HREF="terminal_interface-curses__adb.htm#ref_413_7">Txt</A> (<A HREF="terminal_interface-curses__adb.htm#ref_415_11">Length</A> - 1) := <A HREF="terminal_interface-curses__ads.htm#ref_849_19">Str</A> (Natural (<A HREF="terminal_interface-curses__adb.htm#ref_415_11">Length</A>)); + <b>for</b> <span class="symbol"><a name="ref_415_11">Length</a></span> <b>in</b> 1 .. size_t (<a href="terminal_interface-curses__ads.htm#ref_849_19">Str</a>'Length) <b>loop</b> + <a href="terminal_interface-curses__adb.htm#ref_413_7">Txt</a> (<a href="terminal_interface-curses__adb.htm#ref_415_11">Length</a> - 1) := <a href="terminal_interface-curses__ads.htm#ref_849_19">Str</a> (Natural (<a href="terminal_interface-curses__adb.htm#ref_415_11">Length</a>)); <b>end</b> <b>loop</b>; - <A HREF="terminal_interface-curses__adb.htm#ref_413_7">Txt</A> (<A HREF="terminal_interface-curses__ads.htm#ref_849_19">Str</A>'Length) := <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</A>; - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_408_16">Waddchnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_848_19">Win</A>, - <A HREF="terminal_interface-curses__adb.htm#ref_413_7">Txt</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_850_19">Len</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> + <a href="terminal_interface-curses__adb.htm#ref_413_7">Txt</a> (<a href="terminal_interface-curses__ads.htm#ref_849_19">Str</a>'Length) := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_408_16">Waddchnstr</a> (<a href="terminal_interface-curses__ads.htm#ref_848_19">Win</a>, + <a href="terminal_interface-curses__adb.htm#ref_413_7">Txt</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_850_19">Len</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; - <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_848_14">Add</A>; - - <b>procedure</b> <span class="symbol"><A NAME="ref_427_14" HREF="terminal_interface-curses__ads.htm#ref_857_14">Add</A></span> - (<span class="symbol"><A NAME="ref_428_7" HREF="terminal_interface-curses__ads.htm#ref_857_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_429_7" HREF="terminal_interface-curses__ads.htm#ref_858_19">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_430_7" HREF="terminal_interface-curses__ads.htm#ref_859_19">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_431_7" HREF="terminal_interface-curses__ads.htm#ref_860_19">Str</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Attributed_String</A>; - <span class="symbol"><A NAME="ref_432_7" HREF="terminal_interface-curses__ads.htm#ref_861_19">Len</A></span> : Integer := -1) - <b>is</b> - <b>begin</b> - <A HREF="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_857_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_858_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_859_19">Column</A>); - <A HREF="terminal_interface-curses__ads.htm#ref_848_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_857_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_860_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_861_19">Len</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_857_14">Add</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_439_14" HREF="terminal_interface-curses__ads.htm#ref_875_14">Border</A></span> - (<span class="symbol"><A NAME="ref_440_7" HREF="terminal_interface-curses__ads.htm#ref_876_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_441_7" HREF="terminal_interface-curses__ads.htm#ref_877_7">Left_Side_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</A>; - <span class="symbol"><A NAME="ref_442_7" HREF="terminal_interface-curses__ads.htm#ref_878_7">Right_Side_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</A>; - <span class="symbol"><A NAME="ref_443_7" HREF="terminal_interface-curses__ads.htm#ref_879_7">Top_Side_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</A>; - <span class="symbol"><A NAME="ref_444_7" HREF="terminal_interface-curses__ads.htm#ref_880_7">Bottom_Side_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</A>; - <span class="symbol"><A NAME="ref_445_7" HREF="terminal_interface-curses__ads.htm#ref_881_7">Upper_Left_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</A>; - <span class="symbol"><A NAME="ref_446_7" HREF="terminal_interface-curses__ads.htm#ref_882_7">Upper_Right_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</A>; - <span class="symbol"><A NAME="ref_447_7" HREF="terminal_interface-curses__ads.htm#ref_883_7">Lower_Left_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</A>; - <span class="symbol"><A NAME="ref_448_7" HREF="terminal_interface-curses__ads.htm#ref_884_7">Lower_Right_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</A>) - <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_450_16">Wborder</A></span> (<span class="symbol"><A NAME="ref_450_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_451_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">LS</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; - <span class="symbol"><A NAME="ref_452_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">RS</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; - <span class="symbol"><A NAME="ref_453_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">TS</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; - <span class="symbol"><A NAME="ref_454_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">BS</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; - <span class="symbol"><A NAME="ref_455_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">ULC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; - <span class="symbol"><A NAME="ref_456_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">URC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; - <span class="symbol"><A NAME="ref_457_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">LLC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; - <span class="symbol"><A NAME="ref_458_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">LRC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; + <b>end</b> <b>if</b>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_848_14">Add</a>; + + <b>procedure</b> <span class="symbol"><a name="ref_427_14" href="terminal_interface-curses__ads.htm#ref_857_14">Add</a></span> + (<span class="symbol"><a name="ref_428_7" href="terminal_interface-curses__ads.htm#ref_857_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_429_7" href="terminal_interface-curses__ads.htm#ref_858_19">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_430_7" href="terminal_interface-curses__ads.htm#ref_859_19">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_431_7" href="terminal_interface-curses__ads.htm#ref_860_19">Str</a></span> : <a href="terminal_interface-curses__ads.htm#ref_510_4">Attributed_String</a>; + <span class="symbol"><a name="ref_432_7" href="terminal_interface-curses__ads.htm#ref_861_19">Len</a></span> : Integer := -1) + <b>is</b> + <b>begin</b> + <a href="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</a> (<a href="terminal_interface-curses__ads.htm#ref_857_19">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_858_19">Line</a>, <a href="terminal_interface-curses__ads.htm#ref_859_19">Column</a>); + <a href="terminal_interface-curses__ads.htm#ref_848_14">Add</a> (<a href="terminal_interface-curses__ads.htm#ref_857_19">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_860_19">Str</a>, <a href="terminal_interface-curses__ads.htm#ref_861_19">Len</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_857_14">Add</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_439_14" href="terminal_interface-curses__ads.htm#ref_875_14">Border</a></span> + (<span class="symbol"><a name="ref_440_7" href="terminal_interface-curses__ads.htm#ref_876_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_441_7" href="terminal_interface-curses__ads.htm#ref_877_7">Left_Side_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>; + <span class="symbol"><a name="ref_442_7" href="terminal_interface-curses__ads.htm#ref_878_7">Right_Side_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>; + <span class="symbol"><a name="ref_443_7" href="terminal_interface-curses__ads.htm#ref_879_7">Top_Side_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>; + <span class="symbol"><a name="ref_444_7" href="terminal_interface-curses__ads.htm#ref_880_7">Bottom_Side_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>; + <span class="symbol"><a name="ref_445_7" href="terminal_interface-curses__ads.htm#ref_881_7">Upper_Left_Corner_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>; + <span class="symbol"><a name="ref_446_7" href="terminal_interface-curses__ads.htm#ref_882_7">Upper_Right_Corner_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>; + <span class="symbol"><a name="ref_447_7" href="terminal_interface-curses__ads.htm#ref_883_7">Lower_Left_Corner_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>; + <span class="symbol"><a name="ref_448_7" href="terminal_interface-curses__ads.htm#ref_884_7">Lower_Right_Corner_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>) + <b>is</b> + <b>function</b> <span class="symbol"><a name="ref_450_16">Wborder</a></span> (<span class="symbol"><a name="ref_450_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_451_25">LS</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; + <span class="symbol"><a name="ref_452_25">RS</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; + <span class="symbol"><a name="ref_453_25">TS</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; + <span class="symbol"><a name="ref_454_25">BS</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; + <span class="symbol"><a name="ref_455_25">ULC</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; + <span class="symbol"><a name="ref_456_25">URC</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; + <span class="symbol"><a name="ref_457_25">LLC</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; + <span class="symbol"><a name="ref_458_25">LRC</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Wborder, "wborder"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_450_16">Wborder</A> (<A HREF="terminal_interface-curses__ads.htm#ref_876_7">Win</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_877_7">Left_Side_Symbol</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_878_7">Right_Side_Symbol</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_879_7">Top_Side_Symbol</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_880_7">Bottom_Side_Symbol</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_881_7">Upper_Left_Corner_Symbol</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_882_7">Upper_Right_Corner_Symbol</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_883_7">Lower_Left_Corner_Symbol</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_884_7">Lower_Right_Corner_Symbol</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_450_16">Wborder</a> (<a href="terminal_interface-curses__ads.htm#ref_876_7">Win</a>, + <a href="terminal_interface-curses__ads.htm#ref_877_7">Left_Side_Symbol</a>, + <a href="terminal_interface-curses__ads.htm#ref_878_7">Right_Side_Symbol</a>, + <a href="terminal_interface-curses__ads.htm#ref_879_7">Top_Side_Symbol</a>, + <a href="terminal_interface-curses__ads.htm#ref_880_7">Bottom_Side_Symbol</a>, + <a href="terminal_interface-curses__ads.htm#ref_881_7">Upper_Left_Corner_Symbol</a>, + <a href="terminal_interface-curses__ads.htm#ref_882_7">Upper_Right_Corner_Symbol</a>, + <a href="terminal_interface-curses__ads.htm#ref_883_7">Lower_Left_Corner_Symbol</a>, + <a href="terminal_interface-curses__ads.htm#ref_884_7">Lower_Right_Corner_Symbol</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_875_14">Border</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_875_14">Border</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_475_14" HREF="terminal_interface-curses__ads.htm#ref_891_14">Box</A></span> - (<span class="symbol"><A NAME="ref_476_7" HREF="terminal_interface-curses__ads.htm#ref_892_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_477_7" HREF="terminal_interface-curses__ads.htm#ref_893_7">Vertical_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</A>; - <span class="symbol"><A NAME="ref_478_7" HREF="terminal_interface-curses__ads.htm#ref_894_7">Horizontal_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</A>) + <b>procedure</b> <span class="symbol"><a name="ref_475_14" href="terminal_interface-curses__ads.htm#ref_891_14">Box</a></span> + (<span class="symbol"><a name="ref_476_7" href="terminal_interface-curses__ads.htm#ref_892_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_477_7" href="terminal_interface-curses__ads.htm#ref_893_7">Vertical_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>; + <span class="symbol"><a name="ref_478_7" href="terminal_interface-curses__ads.htm#ref_894_7">Horizontal_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses__ads.htm#ref_875_14">Border</A> (<A HREF="terminal_interface-curses__ads.htm#ref_892_7">Win</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_893_7">Vertical_Symbol</A>, <A HREF="terminal_interface-curses__ads.htm#ref_893_7">Vertical_Symbol</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_894_7">Horizontal_Symbol</A>, <A HREF="terminal_interface-curses__ads.htm#ref_894_7">Horizontal_Symbol</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_891_14">Box</A>; + <a href="terminal_interface-curses__ads.htm#ref_875_14">Border</a> (<a href="terminal_interface-curses__ads.htm#ref_892_7">Win</a>, + <a href="terminal_interface-curses__ads.htm#ref_893_7">Vertical_Symbol</a>, <a href="terminal_interface-curses__ads.htm#ref_893_7">Vertical_Symbol</a>, + <a href="terminal_interface-curses__ads.htm#ref_894_7">Horizontal_Symbol</a>, <a href="terminal_interface-curses__ads.htm#ref_894_7">Horizontal_Symbol</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_891_14">Box</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_486_14" HREF="terminal_interface-curses__ads.htm#ref_899_14">Horizontal_Line</A></span> - (<span class="symbol"><A NAME="ref_487_7" HREF="terminal_interface-curses__ads.htm#ref_900_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_488_7" HREF="terminal_interface-curses__ads.htm#ref_901_7">Line_Size</A></span> : Natural; - <span class="symbol"><A NAME="ref_489_7" HREF="terminal_interface-curses__ads.htm#ref_902_7">Line_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</A>) + <b>procedure</b> <span class="symbol"><a name="ref_486_14" href="terminal_interface-curses__ads.htm#ref_899_14">Horizontal_Line</a></span> + (<span class="symbol"><a name="ref_487_7" href="terminal_interface-curses__ads.htm#ref_900_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_488_7" href="terminal_interface-curses__ads.htm#ref_901_7">Line_Size</a></span> : Natural; + <span class="symbol"><a name="ref_489_7" href="terminal_interface-curses__ads.htm#ref_902_7">Line_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_491_16">Whline</A></span> (<span class="symbol"><A NAME="ref_491_24" HREF="terminal_interface-curses__adb.htm#ref_491_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_492_24" HREF="terminal_interface-curses__adb.htm#ref_491_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; - <span class="symbol"><A NAME="ref_493_24" HREF="terminal_interface-curses__adb.htm#ref_491_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_491_16">Whline</a></span> (<span class="symbol"><a name="ref_491_24">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_492_24">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; + <span class="symbol"><a name="ref_493_24">Len</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Whline, "whline"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_491_16">Whline</A> (<A HREF="terminal_interface-curses__ads.htm#ref_900_7">Win</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_902_7">Line_Symbol</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_901_7">Line_Size</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_491_16">Whline</a> (<a href="terminal_interface-curses__ads.htm#ref_900_7">Win</a>, + <a href="terminal_interface-curses__ads.htm#ref_902_7">Line_Symbol</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_901_7">Line_Size</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_899_14">Horizontal_Line</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_899_14">Horizontal_Line</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_504_14" HREF="terminal_interface-curses__ads.htm#ref_908_14">Vertical_Line</A></span> - (<span class="symbol"><A NAME="ref_505_7" HREF="terminal_interface-curses__ads.htm#ref_909_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_506_7" HREF="terminal_interface-curses__ads.htm#ref_910_7">Line_Size</A></span> : Natural; - <span class="symbol"><A NAME="ref_507_7" HREF="terminal_interface-curses__ads.htm#ref_911_7">Line_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</A>) + <b>procedure</b> <span class="symbol"><a name="ref_504_14" href="terminal_interface-curses__ads.htm#ref_908_14">Vertical_Line</a></span> + (<span class="symbol"><a name="ref_505_7" href="terminal_interface-curses__ads.htm#ref_909_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_506_7" href="terminal_interface-curses__ads.htm#ref_910_7">Line_Size</a></span> : Natural; + <span class="symbol"><a name="ref_507_7" href="terminal_interface-curses__ads.htm#ref_911_7">Line_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_509_16">Wvline</A></span> (<span class="symbol"><A NAME="ref_509_24" HREF="terminal_interface-curses__adb.htm#ref_509_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_510_24" HREF="terminal_interface-curses__adb.htm#ref_509_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; - <span class="symbol"><A NAME="ref_511_24" HREF="terminal_interface-curses__adb.htm#ref_509_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_509_16">Wvline</a></span> (<span class="symbol"><a name="ref_509_24">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_510_24">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; + <span class="symbol"><a name="ref_511_24">Len</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Wvline, "wvline"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_509_16">Wvline</A> (<A HREF="terminal_interface-curses__ads.htm#ref_909_7">Win</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_911_7">Line_Symbol</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_910_7">Line_Size</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_509_16">Wvline</a> (<a href="terminal_interface-curses__ads.htm#ref_909_7">Win</a>, + <a href="terminal_interface-curses__ads.htm#ref_911_7">Line_Symbol</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_910_7">Line_Size</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_908_14">Vertical_Line</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_908_14">Vertical_Line</a>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_523_13" HREF="terminal_interface-curses__ads.htm#ref_922_13">Get_Keystroke</A></span> (<span class="symbol"><A NAME="ref_523_28" HREF="terminal_interface-curses__ads.htm#ref_922_28">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>) - <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</A> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>function</b> <span class="symbol"><a name="ref_523_13" href="terminal_interface-curses__ads.htm#ref_922_13">Get_Keystroke</a></span> (<span class="symbol"><a name="ref_523_28" href="terminal_interface-curses__ads.htm#ref_922_28">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) + <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_526_16">Wgetch</A></span> (<span class="symbol"><A NAME="ref_526_24" HREF="terminal_interface-curses__adb.htm#ref_526_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_526_16">Wgetch</a></span> (<span class="symbol"><a name="ref_526_24">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Wgetch, "wgetch"); - <span class="symbol"><A NAME="ref_529_7">C</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_526_16">Wgetch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_922_28">Win</A>); + <span class="symbol"><a name="ref_529_7">C</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses__adb.htm#ref_526_16">Wgetch</a> (<a href="terminal_interface-curses__ads.htm#ref_922_28">Win</a>); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_529_7">C</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_89_4">Key_None</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_529_7">C</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_89_4">Key_None</a>; <b>else</b> - <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</A> (<A HREF="terminal_interface-curses__adb.htm#ref_529_7">C</A>); + <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a> (<a href="terminal_interface-curses__adb.htm#ref_529_7">C</a>); <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_922_13">Get_Keystroke</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_922_13">Get_Keystroke</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_538_14" HREF="terminal_interface-curses__ads.htm#ref_933_14">Undo_Keystroke</A></span> (<span class="symbol"><A NAME="ref_538_30" HREF="terminal_interface-curses__ads.htm#ref_933_30">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</A>) + <b>procedure</b> <span class="symbol"><a name="ref_538_14" href="terminal_interface-curses__ads.htm#ref_933_14">Undo_Keystroke</a></span> (<span class="symbol"><a name="ref_538_30" href="terminal_interface-curses__ads.htm#ref_933_30">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_540_16">Ungetch</A></span> (<span class="symbol"><A NAME="ref_540_25" HREF="terminal_interface-curses__adb.htm#ref_540_16">Ch</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_540_16">Ungetch</a></span> (<span class="symbol"><a name="ref_540_25">Ch</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Ungetch, "ungetch"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_540_16">Ungetch</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_933_30">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_540_16">Ungetch</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_933_30">Key</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_933_14">Undo_Keystroke</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_933_14">Undo_Keystroke</a>; - <b>function</b> <span class="symbol"><A NAME="ref_548_13" HREF="terminal_interface-curses__ads.htm#ref_938_13">Has_Key</A></span> (<span class="symbol"><A NAME="ref_548_22" HREF="terminal_interface-curses__ads.htm#ref_938_22">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A>) <b>return</b> Boolean + <b>function</b> <span class="symbol"><a name="ref_548_13" href="terminal_interface-curses__ads.htm#ref_938_13">Has_Key</a></span> (<span class="symbol"><a name="ref_548_22" href="terminal_interface-curses__ads.htm#ref_938_22">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>) <b>return</b> Boolean <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_550_16">Haskey</A></span> (<span class="symbol"><A NAME="ref_550_24" HREF="terminal_interface-curses__adb.htm#ref_550_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_550_16">Haskey</a></span> (<span class="symbol"><a name="ref_550_24">Key</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Haskey, "has_key"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_550_16">Haskey</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_938_22">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</A> <b>then</b> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_550_16">Haskey</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_938_22">Key</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</a> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_938_13">Has_Key</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_938_13">Has_Key</a>; - <b>function</b> <span class="symbol"><A NAME="ref_560_13" HREF="terminal_interface-curses__ads.htm#ref_945_13">Is_Function_Key</A></span> (<span class="symbol"><A NAME="ref_560_30" HREF="terminal_interface-curses__ads.htm#ref_945_30">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A>) <b>return</b> Boolean + <b>function</b> <span class="symbol"><a name="ref_560_13" href="terminal_interface-curses__ads.htm#ref_945_13">Is_Function_Key</a></span> (<span class="symbol"><a name="ref_560_30" href="terminal_interface-curses__ads.htm#ref_945_30">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>) <b>return</b> Boolean <b>is</b> - <span class="symbol"><A NAME="ref_562_7">L</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> (Natural (<A HREF="terminal_interface-curses__ads.htm#ref_111_4">Key_F0</A>) + - Natural (<A HREF="terminal_interface-curses__ads.htm#ref_949_12">Function_Key_Number</A>'Last)); + <span class="symbol"><a name="ref_562_7">L</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> (Natural (<a href="terminal_interface-curses__ads.htm#ref_111_4">Key_F0</a>) + + Natural (<a href="terminal_interface-curses__ads.htm#ref_949_12">Function_Key_Number</a>'Last)); <b>begin</b> - <b>if</b> (<A HREF="terminal_interface-curses__ads.htm#ref_945_30">Key</A> >= <A HREF="terminal_interface-curses__ads.htm#ref_111_4">Key_F0</A>) <b>and</b> <b>then</b> (<A HREF="terminal_interface-curses__ads.htm#ref_945_30">Key</A> <= <A HREF="terminal_interface-curses__adb.htm#ref_562_7">L</A>) <b>then</b> + <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_945_30">Key</a> >= <a href="terminal_interface-curses__ads.htm#ref_111_4">Key_F0</a> <b>and</b> <b>then</b> <a href="terminal_interface-curses__ads.htm#ref_945_30">Key</a> <= <a href="terminal_interface-curses__adb.htm#ref_562_7">L</a> <b>then</b> <b>return</b> True; <b>else</b> <b>return</b> False; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_945_13">Is_Function_Key</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_945_13">Is_Function_Key</a>; - <b>function</b> <span class="symbol"><A NAME="ref_572_13" HREF="terminal_interface-curses__ads.htm#ref_952_13">Function_Key</A></span> (<span class="symbol"><A NAME="ref_572_27" HREF="terminal_interface-curses__ads.htm#ref_952_27">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</A>) - <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_949_12">Function_Key_Number</A> + <b>function</b> <span class="symbol"><a name="ref_572_13" href="terminal_interface-curses__ads.htm#ref_952_13">Function_Key</a></span> (<span class="symbol"><a name="ref_572_27" href="terminal_interface-curses__ads.htm#ref_952_27">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>) + <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_949_12">Function_Key_Number</a> <b>is</b> <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_945_13">Is_Function_Key</A> (<A HREF="terminal_interface-curses__ads.htm#ref_952_27">Key</A>) <b>then</b> - <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_949_12">Function_Key_Number</A> (<A HREF="terminal_interface-curses__ads.htm#ref_952_27">Key</A> - <A HREF="terminal_interface-curses__ads.htm#ref_111_4">Key_F0</A>); + <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_945_13">Is_Function_Key</a> (<a href="terminal_interface-curses__ads.htm#ref_952_27">Key</a>) <b>then</b> + <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_949_12">Function_Key_Number</a> (<a href="terminal_interface-curses__ads.htm#ref_952_27">Key</a> - <a href="terminal_interface-curses__ads.htm#ref_111_4">Key_F0</a>); <b>else</b> <b>raise</b> Constraint_Error; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_952_13">Function_Key</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_952_13">Function_Key</a>; - <b>function</b> <span class="symbol"><A NAME="ref_583_13" HREF="terminal_interface-curses__ads.htm#ref_957_13">Function_Key_Code</A></span> (<span class="symbol"><A NAME="ref_583_32" HREF="terminal_interface-curses__ads.htm#ref_957_32">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_949_12">Function_Key_Number</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</A> + <b>function</b> <span class="symbol"><a name="ref_583_13" href="terminal_interface-curses__ads.htm#ref_957_13">Function_Key_Code</a></span> (<span class="symbol"><a name="ref_583_32" href="terminal_interface-curses__ads.htm#ref_957_32">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_949_12">Function_Key_Number</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a> <b>is</b> <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</A> (Natural (<A HREF="terminal_interface-curses__ads.htm#ref_111_4">Key_F0</A>) + Natural (<A HREF="terminal_interface-curses__ads.htm#ref_957_32">Key</A>)); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_957_13">Function_Key_Code</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_589_14" HREF="terminal_interface-curses__ads.htm#ref_971_14">Standout</A></span> (<span class="symbol"><A NAME="ref_589_24" HREF="terminal_interface-curses__ads.htm#ref_971_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_590_24" HREF="terminal_interface-curses__ads.htm#ref_972_24">On</A></span> : Boolean := True) + <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a> (Natural (<a href="terminal_interface-curses__ads.htm#ref_111_4">Key_F0</a>) + Natural (<a href="terminal_interface-curses__ads.htm#ref_957_32">Key</a>)); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_957_13">Function_Key_Code</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_589_14" href="terminal_interface-curses__ads.htm#ref_971_14">Standout</a></span> (<span class="symbol"><a name="ref_589_24" href="terminal_interface-curses__ads.htm#ref_971_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_590_24" href="terminal_interface-curses__ads.htm#ref_972_24">On</a></span> : Boolean := True) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_592_16">wstandout</A></span> (<span class="symbol"><A NAME="ref_592_27" HREF="terminal_interface-curses__adb.htm#ref_592_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_592_16">wstandout</a></span> (<span class="symbol"><a name="ref_592_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, wstandout, "wstandout"); - <b>function</b> <span class="symbol"><A NAME="ref_594_16">wstandend</A></span> (<span class="symbol"><A NAME="ref_594_27" HREF="terminal_interface-curses__adb.htm#ref_594_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_594_16">wstandend</a></span> (<span class="symbol"><a name="ref_594_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, wstandend, "wstandend"); - <span class="symbol"><A NAME="ref_597_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <span class="symbol"><a name="ref_597_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_972_24">On</A> <b>then</b> - <A HREF="terminal_interface-curses__adb.htm#ref_597_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_592_16">wstandout</A> (<A HREF="terminal_interface-curses__ads.htm#ref_971_24">Win</A>); + <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_972_24">On</a> <b>then</b> + <a href="terminal_interface-curses__adb.htm#ref_597_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_592_16">wstandout</a> (<a href="terminal_interface-curses__ads.htm#ref_971_24">Win</a>); <b>else</b> - <A HREF="terminal_interface-curses__adb.htm#ref_597_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_594_16">wstandend</A> (<A HREF="terminal_interface-curses__ads.htm#ref_971_24">Win</A>); + <a href="terminal_interface-curses__adb.htm#ref_597_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_594_16">wstandend</a> (<a href="terminal_interface-curses__ads.htm#ref_971_24">Win</a>); <b>end</b> <b>if</b>; - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_597_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_597_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_971_14">Standout</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_971_14">Standout</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_609_14" HREF="terminal_interface-curses__ads.htm#ref_977_14">Switch_Character_Attribute</A></span> - (<span class="symbol"><A NAME="ref_610_7" HREF="terminal_interface-curses__ads.htm#ref_978_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_611_7" HREF="terminal_interface-curses__ads.htm#ref_979_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</A>; - <span class="symbol"><A NAME="ref_612_7" HREF="terminal_interface-curses__ads.htm#ref_980_7">On</A></span> : Boolean := True) + <b>procedure</b> <span class="symbol"><a name="ref_609_14" href="terminal_interface-curses__ads.htm#ref_977_14">Switch_Character_Attribute</a></span> + (<span class="symbol"><a name="ref_610_7" href="terminal_interface-curses__ads.htm#ref_978_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_611_7" href="terminal_interface-curses__ads.htm#ref_979_7">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>; + <span class="symbol"><a name="ref_612_7" href="terminal_interface-curses__ads.htm#ref_980_7">On</a></span> : Boolean := True) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_614_16">Wattron</A></span> (<span class="symbol"><A NAME="ref_614_25" HREF="terminal_interface-curses__adb.htm#ref_614_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_615_25" HREF="terminal_interface-curses__adb.htm#ref_614_16">C_Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_614_16">Wattron</a></span> (<span class="symbol"><a name="ref_614_25">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_615_25">C_Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Wattron, "wattr_on"); - <b>function</b> <span class="symbol"><A NAME="ref_617_16">Wattroff</A></span> (<span class="symbol"><A NAME="ref_617_26" HREF="terminal_interface-curses__adb.htm#ref_617_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_618_26" HREF="terminal_interface-curses__adb.htm#ref_617_16">C_Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_617_16">Wattroff</a></span> (<span class="symbol"><a name="ref_617_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_618_26">C_Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Wattroff, "wattr_off"); - <span class="comment"><EM>-- In Ada we use the On Boolean to control whether or not we want to</EM></span> - <span class="comment"><EM>-- switch on or off the attributes in the set.</EM></span> - <span class="symbol"><A NAME="ref_622_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_623_7">AC</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_492_10">Ch</A> => Character'First, - <A HREF="terminal_interface-curses__ads.htm#ref_491_10">Color</A> => <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'First, - <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A> => <A HREF="terminal_interface-curses__ads.htm#ref_979_7">Attr</A>); - <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_980_7">On</A> <b>then</b> - <A HREF="terminal_interface-curses__adb.htm#ref_622_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_614_16">Wattron</A> (<A HREF="terminal_interface-curses__ads.htm#ref_978_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_623_7">AC</A>); + <span class="comment"><em>-- In Ada we use the On Boolean to control whether or not we want to</em></span> + <span class="comment"><em>-- switch on or off the attributes in the set.</em></span> + <span class="symbol"><a name="ref_622_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_623_7">AC</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => Character'First, + <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First, + <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses__ads.htm#ref_979_7">Attr</a>); + <b>begin</b> + <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_980_7">On</a> <b>then</b> + <a href="terminal_interface-curses__adb.htm#ref_622_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_614_16">Wattron</a> (<a href="terminal_interface-curses__ads.htm#ref_978_7">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_623_7">AC</a>); <b>else</b> - <A HREF="terminal_interface-curses__adb.htm#ref_622_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_617_16">Wattroff</A> (<A HREF="terminal_interface-curses__ads.htm#ref_978_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_623_7">AC</A>); + <a href="terminal_interface-curses__adb.htm#ref_622_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_617_16">Wattroff</a> (<a href="terminal_interface-curses__ads.htm#ref_978_7">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_623_7">AC</a>); <b>end</b> <b>if</b>; - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_622_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_622_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_977_14">Switch_Character_Attribute</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_977_14">Switch_Character_Attribute</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_637_14" HREF="terminal_interface-curses__ads.htm#ref_988_14">Set_Character_Attributes</A></span> - (<span class="symbol"><A NAME="ref_638_7" HREF="terminal_interface-curses__ads.htm#ref_989_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_639_7" HREF="terminal_interface-curses__ads.htm#ref_990_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</A>; - <span class="symbol"><A NAME="ref_640_7" HREF="terminal_interface-curses__ads.htm#ref_991_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'First) + <b>procedure</b> <span class="symbol"><a name="ref_637_14" href="terminal_interface-curses__ads.htm#ref_988_14">Set_Character_Attributes</a></span> + (<span class="symbol"><a name="ref_638_7" href="terminal_interface-curses__ads.htm#ref_989_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_639_7" href="terminal_interface-curses__ads.htm#ref_990_7">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>; + <span class="symbol"><a name="ref_640_7" href="terminal_interface-curses__ads.htm#ref_991_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_642_16">Wattrset</A></span> (<span class="symbol"><A NAME="ref_642_26" HREF="terminal_interface-curses__adb.htm#ref_642_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_643_26" HREF="terminal_interface-curses__adb.htm#ref_642_16">C_Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <b>pragma</b> Import (C, Wattrset, "wattrset"); <span class="comment"><EM>-- ??? wattr_set</EM></span> + <b>function</b> <span class="symbol"><a name="ref_642_16">Wattrset</a></span> (<span class="symbol"><a name="ref_642_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_643_26">C_Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <b>pragma</b> Import (C, Wattrset, "wattrset"); <span class="comment"><em>-- ??? wattr_set</em></span> <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_642_16">Wattrset</A> (<A HREF="terminal_interface-curses__ads.htm#ref_989_7">Win</A>, (<A HREF="terminal_interface-curses__ads.htm#ref_492_10">Ch</A> => Character'First, - <A HREF="terminal_interface-curses__ads.htm#ref_491_10">Color</A> => <A HREF="terminal_interface-curses__ads.htm#ref_991_7">Color</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A> => <A HREF="terminal_interface-curses__ads.htm#ref_990_7">Attr</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_642_16">Wattrset</a> (<a href="terminal_interface-curses__ads.htm#ref_989_7">Win</a>, (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => Character'First, + <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses__ads.htm#ref_991_7">Color</a>, + <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses__ads.htm#ref_990_7">Attr</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_988_14">Set_Character_Attributes</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_988_14">Set_Character_Attributes</a>; - <b>function</b> <span class="symbol"><A NAME="ref_654_13" HREF="terminal_interface-curses__ads.htm#ref_997_13">Get_Character_Attribute</A></span> (<span class="symbol"><A NAME="ref_654_38" HREF="terminal_interface-curses__ads.htm#ref_998_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>) - <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A> + <b>function</b> <span class="symbol"><a name="ref_654_13" href="terminal_interface-curses__ads.htm#ref_997_13">Get_Character_Attribute</a></span> (<span class="symbol"><a name="ref_654_38" href="terminal_interface-curses__ads.htm#ref_998_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) + <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_657_16">Wattrget</A></span> (<span class="symbol"><A NAME="ref_657_26" HREF="terminal_interface-curses__adb.htm#ref_657_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_658_26" HREF="terminal_interface-curses__adb.htm#ref_657_16">Atr</A></span> : <b>access</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; - <span class="symbol"><A NAME="ref_659_26" HREF="terminal_interface-curses__adb.htm#ref_657_16">Col</A></span> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A>; - <span class="symbol"><A NAME="ref_660_26" HREF="terminal_interface-curses__adb.htm#ref_657_16">Opt</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_657_16">Wattrget</a></span> (<span class="symbol"><a name="ref_657_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_658_26">Atr</a></span> : <b>access</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; + <span class="symbol"><a name="ref_659_26">Col</a></span> : <b>access</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; + <span class="symbol"><a name="ref_660_26">Opt</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Wattrget, "wattr_get"); - <span class="symbol"><A NAME="ref_663_7">Attr</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; - <span class="symbol"><A NAME="ref_664_7">Col</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A>; - <span class="symbol"><A NAME="ref_665_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_657_16">Wattrget</A> (<A HREF="terminal_interface-curses__ads.htm#ref_998_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_663_7">Attr</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_664_7">Col</A>'<b>Access</b>, + <span class="symbol"><a name="ref_663_7">Attr</a></span> : <b>aliased</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; + <span class="symbol"><a name="ref_664_7">Col</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; + <span class="symbol"><a name="ref_665_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses__adb.htm#ref_657_16">Wattrget</a> (<a href="terminal_interface-curses__ads.htm#ref_998_7">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_663_7">Attr</a>'<b>Access</b>, <a href="terminal_interface-curses__adb.htm#ref_664_7">Col</a>'<b>Access</b>, System.Null_Address); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_665_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Ok</A> <b>then</b> - <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_663_7">Attr</A>.<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_665_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Ok</a> <b>then</b> + <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_663_7">Attr</a>.<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>; <b>else</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_997_13">Get_Character_Attribute</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_997_13">Get_Character_Attribute</a>; - <b>function</b> <span class="symbol"><A NAME="ref_675_13" HREF="terminal_interface-curses__ads.htm#ref_1003_13">Get_Character_Attribute</A></span> (<span class="symbol"><A NAME="ref_675_38" HREF="terminal_interface-curses__ads.htm#ref_1004_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>) - <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A> + <b>function</b> <span class="symbol"><a name="ref_675_13" href="terminal_interface-curses__ads.htm#ref_1003_13">Get_Character_Attribute</a></span> (<span class="symbol"><a name="ref_675_38" href="terminal_interface-curses__ads.htm#ref_1004_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) + <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_678_16">Wattrget</A></span> (<span class="symbol"><A NAME="ref_678_26" HREF="terminal_interface-curses__adb.htm#ref_678_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_679_26" HREF="terminal_interface-curses__adb.htm#ref_678_16">Atr</A></span> : <b>access</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; - <span class="symbol"><A NAME="ref_680_26" HREF="terminal_interface-curses__adb.htm#ref_678_16">Col</A></span> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A>; - <span class="symbol"><A NAME="ref_681_26" HREF="terminal_interface-curses__adb.htm#ref_678_16">Opt</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_678_16">Wattrget</a></span> (<span class="symbol"><a name="ref_678_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_679_26">Atr</a></span> : <b>access</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; + <span class="symbol"><a name="ref_680_26">Col</a></span> : <b>access</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; + <span class="symbol"><a name="ref_681_26">Opt</a></span> : System.Address) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Wattrget, "wattr_get"); - <span class="symbol"><A NAME="ref_684_7">Attr</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; - <span class="symbol"><A NAME="ref_685_7">Col</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A>; - <span class="symbol"><A NAME="ref_686_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_678_16">Wattrget</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1004_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_684_7">Attr</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_685_7">Col</A>'<b>Access</b>, + <span class="symbol"><a name="ref_684_7">Attr</a></span> : <b>aliased</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; + <span class="symbol"><a name="ref_685_7">Col</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; + <span class="symbol"><a name="ref_686_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses__adb.htm#ref_678_16">Wattrget</a> (<a href="terminal_interface-curses__ads.htm#ref_1004_7">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_684_7">Attr</a>'<b>Access</b>, <a href="terminal_interface-curses__adb.htm#ref_685_7">Col</a>'<b>Access</b>, System.Null_Address); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_686_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Ok</A> <b>then</b> - <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_684_7">Attr</A>.<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Color</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_686_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Ok</a> <b>then</b> + <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_684_7">Attr</a>.<a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a>; <b>else</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1003_13">Get_Character_Attribute</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1003_13">Get_Character_Attribute</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_696_14" HREF="terminal_interface-curses__ads.htm#ref_1009_14">Set_Color</A></span> (<span class="symbol"><A NAME="ref_696_25" HREF="terminal_interface-curses__ads.htm#ref_1009_25">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_697_25" HREF="terminal_interface-curses__ads.htm#ref_1010_25">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>) + <b>procedure</b> <span class="symbol"><a name="ref_696_14" href="terminal_interface-curses__ads.htm#ref_1009_14">Set_Color</a></span> (<span class="symbol"><a name="ref_696_25" href="terminal_interface-curses__ads.htm#ref_1009_25">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_697_25" href="terminal_interface-curses__ads.htm#ref_1010_25">Pair</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_699_16">Wset_Color</A></span> (<span class="symbol"><A NAME="ref_699_28" HREF="terminal_interface-curses__adb.htm#ref_699_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_700_28" HREF="terminal_interface-curses__adb.htm#ref_699_16">Color</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A>; - <span class="symbol"><A NAME="ref_701_28" HREF="terminal_interface-curses__adb.htm#ref_699_16">Opts</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Void_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_699_16">Wset_Color</a></span> (<span class="symbol"><a name="ref_699_28">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_700_28">Color</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; + <span class="symbol"><a name="ref_701_28">Opts</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Void_Ptr</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Wset_Color, "wcolor_set"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_699_16">Wset_Color</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1009_25">Win</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1010_25">Pair</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Void_Ptr</A> (System.Null_Address)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_699_16">Wset_Color</a> (<a href="terminal_interface-curses__ads.htm#ref_1009_25">Win</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1010_25">Pair</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Void_Ptr</a> (System.Null_Address)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; - <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1009_14">Set_Color</A>; - - <b>procedure</b> <span class="symbol"><A NAME="ref_712_14" HREF="terminal_interface-curses__ads.htm#ref_1016_14">Change_Attributes</A></span> - (<span class="symbol"><A NAME="ref_713_7" HREF="terminal_interface-curses__ads.htm#ref_1017_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_714_7" HREF="terminal_interface-curses__ads.htm#ref_1018_7">Count</A></span> : Integer := -1; - <span class="symbol"><A NAME="ref_715_7" HREF="terminal_interface-curses__ads.htm#ref_1019_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</A>; - <span class="symbol"><A NAME="ref_716_7" HREF="terminal_interface-curses__ads.htm#ref_1020_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'First) - <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_718_16">Wchgat</A></span> (<span class="symbol"><A NAME="ref_718_24" HREF="terminal_interface-curses__adb.htm#ref_718_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_719_24" HREF="terminal_interface-curses__adb.htm#ref_718_16">Cnt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_720_24" HREF="terminal_interface-curses__adb.htm#ref_718_16">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; - <span class="symbol"><A NAME="ref_721_24" HREF="terminal_interface-curses__adb.htm#ref_718_16">Color</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A>; - <span class="symbol"><A NAME="ref_722_24" HREF="terminal_interface-curses__adb.htm#ref_718_16">Opts</A></span> : System.Address := System.Null_Address) - <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; + <b>end</b> <b>if</b>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1009_14">Set_Color</a>; + + <b>procedure</b> <span class="symbol"><a name="ref_712_14" href="terminal_interface-curses__ads.htm#ref_1016_14">Change_Attributes</a></span> + (<span class="symbol"><a name="ref_713_7" href="terminal_interface-curses__ads.htm#ref_1017_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_714_7" href="terminal_interface-curses__ads.htm#ref_1018_7">Count</a></span> : Integer := -1; + <span class="symbol"><a name="ref_715_7" href="terminal_interface-curses__ads.htm#ref_1019_7">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>; + <span class="symbol"><a name="ref_716_7" href="terminal_interface-curses__ads.htm#ref_1020_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First) + <b>is</b> + <b>function</b> <span class="symbol"><a name="ref_718_16">Wchgat</a></span> (<span class="symbol"><a name="ref_718_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_719_24">Cnt</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_720_24">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; + <span class="symbol"><a name="ref_721_24">Color</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; + <span class="symbol"><a name="ref_722_24">Opts</a></span> : System.Address := System.Null_Address) + <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Wchgat, "wchgat"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_718_16">Wchgat</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1017_7">Win</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1018_7">Count</A>), - (<A HREF="terminal_interface-curses__ads.htm#ref_492_10">Ch</A> => Character'First, - <A HREF="terminal_interface-curses__ads.htm#ref_491_10">Color</A> => <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'First, - <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A> => <A HREF="terminal_interface-curses__ads.htm#ref_1019_7">Attr</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1020_7">Color</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_718_16">Wchgat</a> (<a href="terminal_interface-curses__ads.htm#ref_1017_7">Win</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1018_7">Count</a>), + (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => Character'First, + <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First, + <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses__ads.htm#ref_1019_7">Attr</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1020_7">Color</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1016_14">Change_Attributes</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1016_14">Change_Attributes</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_737_14" HREF="terminal_interface-curses__ads.htm#ref_1025_14">Change_Attributes</A></span> - (<span class="symbol"><A NAME="ref_738_7" HREF="terminal_interface-curses__ads.htm#ref_1026_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_739_7" HREF="terminal_interface-curses__ads.htm#ref_1027_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>'First; - <span class="symbol"><A NAME="ref_740_7" HREF="terminal_interface-curses__ads.htm#ref_1028_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>'First; - <span class="symbol"><A NAME="ref_741_7" HREF="terminal_interface-curses__ads.htm#ref_1029_7">Count</A></span> : Integer := -1; - <span class="symbol"><A NAME="ref_742_7" HREF="terminal_interface-curses__ads.htm#ref_1030_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</A>; - <span class="symbol"><A NAME="ref_743_7" HREF="terminal_interface-curses__ads.htm#ref_1031_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'First) + <b>procedure</b> <span class="symbol"><a name="ref_737_14" href="terminal_interface-curses__ads.htm#ref_1025_14">Change_Attributes</a></span> + (<span class="symbol"><a name="ref_738_7" href="terminal_interface-curses__ads.htm#ref_1026_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_739_7" href="terminal_interface-curses__ads.htm#ref_1027_7">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>'First; + <span class="symbol"><a name="ref_740_7" href="terminal_interface-curses__ads.htm#ref_1028_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>'First; + <span class="symbol"><a name="ref_741_7" href="terminal_interface-curses__ads.htm#ref_1029_7">Count</a></span> : Integer := -1; + <span class="symbol"><a name="ref_742_7" href="terminal_interface-curses__ads.htm#ref_1030_7">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>; + <span class="symbol"><a name="ref_743_7" href="terminal_interface-curses__ads.htm#ref_1031_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1026_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1027_7">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1028_7">Column</A>); - <A HREF="terminal_interface-curses__ads.htm#ref_1016_14">Change_Attributes</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1026_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1029_7">Count</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1030_7">Attr</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1031_7">Color</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1025_14">Change_Attributes</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_750_14" HREF="terminal_interface-curses__ads.htm#ref_1041_14">Beep</A></span> + <a href="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</a> (<a href="terminal_interface-curses__ads.htm#ref_1026_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1027_7">Line</a>, <a href="terminal_interface-curses__ads.htm#ref_1028_7">Column</a>); + <a href="terminal_interface-curses__ads.htm#ref_1016_14">Change_Attributes</a> (<a href="terminal_interface-curses__ads.htm#ref_1026_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1029_7">Count</a>, <a href="terminal_interface-curses__ads.htm#ref_1030_7">Attr</a>, <a href="terminal_interface-curses__ads.htm#ref_1031_7">Color</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1025_14">Change_Attributes</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_750_14" href="terminal_interface-curses__ads.htm#ref_1041_14">Beep</a></span> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_752_16">Beeper</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_752_16">Beeper</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Beeper, "beep"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_752_16">Beeper</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_752_16">Beeper</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1041_14">Beep</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1041_14">Beep</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_760_14" HREF="terminal_interface-curses__ads.htm#ref_1046_14">Flash_Screen</A></span> + <b>procedure</b> <span class="symbol"><a name="ref_760_14" href="terminal_interface-curses__ads.htm#ref_1046_14">Flash_Screen</a></span> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_762_16">Flash</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_762_16">Flash</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Flash, "flash"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_762_16">Flash</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_762_16">Flash</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1046_14">Flash_Screen</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_770_14" HREF="terminal_interface-curses__ads.htm#ref_1057_14">Set_Cbreak_Mode</A></span> (<span class="symbol"><A NAME="ref_770_31" HREF="terminal_interface-curses__ads.htm#ref_1057_31">SwitchOn</A></span> : Boolean := True) + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1046_14">Flash_Screen</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_770_14" href="terminal_interface-curses__ads.htm#ref_1057_14">Set_Cbreak_Mode</a></span> (<span class="symbol"><a name="ref_770_31" href="terminal_interface-curses__ads.htm#ref_1057_31">SwitchOn</a></span> : Boolean := True) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_772_16">Cbreak</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_772_16">Cbreak</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Cbreak, "cbreak"); - <b>function</b> <span class="symbol"><A NAME="ref_774_16">NoCbreak</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_774_16">NoCbreak</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, NoCbreak, "nocbreak"); - <span class="symbol"><A NAME="ref_777_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <span class="symbol"><a name="ref_777_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1057_31">SwitchOn</A> <b>then</b> - <A HREF="terminal_interface-curses__adb.htm#ref_777_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_772_16">Cbreak</A>; + <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1057_31">SwitchOn</a> <b>then</b> + <a href="terminal_interface-curses__adb.htm#ref_777_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_772_16">Cbreak</a>; <b>else</b> - <A HREF="terminal_interface-curses__adb.htm#ref_777_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_774_16">NoCbreak</A>; + <a href="terminal_interface-curses__adb.htm#ref_777_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_774_16">NoCbreak</a>; <b>end</b> <b>if</b>; - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_777_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_777_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1057_14">Set_Cbreak_Mode</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1057_14">Set_Cbreak_Mode</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_789_14" HREF="terminal_interface-curses__ads.htm#ref_1063_14">Set_Raw_Mode</A></span> (<span class="symbol"><A NAME="ref_789_28" HREF="terminal_interface-curses__ads.htm#ref_1063_28">SwitchOn</A></span> : Boolean := True) + <b>procedure</b> <span class="symbol"><a name="ref_789_14" href="terminal_interface-curses__ads.htm#ref_1063_14">Set_Raw_Mode</a></span> (<span class="symbol"><a name="ref_789_28" href="terminal_interface-curses__ads.htm#ref_1063_28">SwitchOn</a></span> : Boolean := True) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_791_16">Raw</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_791_16">Raw</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Raw, "raw"); - <b>function</b> <span class="symbol"><A NAME="ref_793_16">NoRaw</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_793_16">NoRaw</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, NoRaw, "noraw"); - <span class="symbol"><A NAME="ref_796_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <span class="symbol"><a name="ref_796_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1063_28">SwitchOn</A> <b>then</b> - <A HREF="terminal_interface-curses__adb.htm#ref_796_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_791_16">Raw</A>; + <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1063_28">SwitchOn</a> <b>then</b> + <a href="terminal_interface-curses__adb.htm#ref_796_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_791_16">Raw</a>; <b>else</b> - <A HREF="terminal_interface-curses__adb.htm#ref_796_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_793_16">NoRaw</A>; + <a href="terminal_interface-curses__adb.htm#ref_796_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_793_16">NoRaw</a>; <b>end</b> <b>if</b>; - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_796_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_796_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1063_14">Set_Raw_Mode</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1063_14">Set_Raw_Mode</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_808_14" HREF="terminal_interface-curses__ads.htm#ref_1069_14">Set_Echo_Mode</A></span> (<span class="symbol"><A NAME="ref_808_29" HREF="terminal_interface-curses__ads.htm#ref_1069_29">SwitchOn</A></span> : Boolean := True) + <b>procedure</b> <span class="symbol"><a name="ref_808_14" href="terminal_interface-curses__ads.htm#ref_1069_14">Set_Echo_Mode</a></span> (<span class="symbol"><a name="ref_808_29" href="terminal_interface-curses__ads.htm#ref_1069_29">SwitchOn</a></span> : Boolean := True) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_810_16">Echo</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_810_16">Echo</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Echo, "echo"); - <b>function</b> <span class="symbol"><A NAME="ref_812_16">NoEcho</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_812_16">NoEcho</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, NoEcho, "noecho"); - <span class="symbol"><A NAME="ref_815_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <span class="symbol"><a name="ref_815_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1069_29">SwitchOn</A> <b>then</b> - <A HREF="terminal_interface-curses__adb.htm#ref_815_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_810_16">Echo</A>; + <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1069_29">SwitchOn</a> <b>then</b> + <a href="terminal_interface-curses__adb.htm#ref_815_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_810_16">Echo</a>; <b>else</b> - <A HREF="terminal_interface-curses__adb.htm#ref_815_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_812_16">NoEcho</A>; + <a href="terminal_interface-curses__adb.htm#ref_815_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_812_16">NoEcho</a>; <b>end</b> <b>if</b>; - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_815_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_815_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1069_14">Set_Echo_Mode</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1069_14">Set_Echo_Mode</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_827_14" HREF="terminal_interface-curses__ads.htm#ref_1075_14">Set_Meta_Mode</A></span> (<span class="symbol"><A NAME="ref_827_29" HREF="terminal_interface-curses__ads.htm#ref_1075_29">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_828_29" HREF="terminal_interface-curses__ads.htm#ref_1076_29">SwitchOn</A></span> : Boolean := True) + <b>procedure</b> <span class="symbol"><a name="ref_827_14" href="terminal_interface-curses__ads.htm#ref_1075_14">Set_Meta_Mode</a></span> (<span class="symbol"><a name="ref_827_29" href="terminal_interface-curses__ads.htm#ref_1075_29">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_828_29" href="terminal_interface-curses__ads.htm#ref_1076_29">SwitchOn</a></span> : Boolean := True) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_830_16">Meta</A></span> (<span class="symbol"><A NAME="ref_830_22" HREF="terminal_interface-curses__adb.htm#ref_830_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_830_34" HREF="terminal_interface-curses__adb.htm#ref_830_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_830_16">Meta</a></span> (<span class="symbol"><a name="ref_830_22">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_830_34">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Meta, "meta"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_830_16">Meta</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1075_29">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1076_29">SwitchOn</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_830_16">Meta</a> (<a href="terminal_interface-curses__ads.htm#ref_1075_29">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1076_29">SwitchOn</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1075_14">Set_Meta_Mode</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1075_14">Set_Meta_Mode</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_838_14" HREF="terminal_interface-curses__ads.htm#ref_1081_14">Set_KeyPad_Mode</A></span> (<span class="symbol"><A NAME="ref_838_31" HREF="terminal_interface-curses__ads.htm#ref_1081_31">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_839_31" HREF="terminal_interface-curses__ads.htm#ref_1082_31">SwitchOn</A></span> : Boolean := True) + <b>procedure</b> <span class="symbol"><a name="ref_838_14" href="terminal_interface-curses__ads.htm#ref_1081_14">Set_KeyPad_Mode</a></span> (<span class="symbol"><a name="ref_838_31" href="terminal_interface-curses__ads.htm#ref_1081_31">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_839_31" href="terminal_interface-curses__ads.htm#ref_1082_31">SwitchOn</a></span> : Boolean := True) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_841_16">Keypad</A></span> (<span class="symbol"><A NAME="ref_841_24" HREF="terminal_interface-curses__adb.htm#ref_841_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_841_36" HREF="terminal_interface-curses__adb.htm#ref_841_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_841_16">Keypad</a></span> (<span class="symbol"><a name="ref_841_24">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_841_36">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Keypad, "keypad"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_841_16">Keypad</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1081_31">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1082_31">SwitchOn</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_841_16">Keypad</a> (<a href="terminal_interface-curses__ads.htm#ref_1081_31">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1082_31">SwitchOn</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1081_14">Set_KeyPad_Mode</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1081_14">Set_KeyPad_Mode</a>; - <b>function</b> <span class="symbol"><A NAME="ref_849_13" HREF="terminal_interface-curses__ads.htm#ref_1086_13">Get_KeyPad_Mode</A></span> (<span class="symbol"><A NAME="ref_849_30" HREF="terminal_interface-curses__ads.htm#ref_1086_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>) + <b>function</b> <span class="symbol"><a name="ref_849_13" href="terminal_interface-curses__ads.htm#ref_1086_13">Get_KeyPad_Mode</a></span> (<span class="symbol"><a name="ref_849_30" href="terminal_interface-curses__ads.htm#ref_1086_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) <b>return</b> Boolean <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_852_16">Is_Keypad</A></span> (<span class="symbol"><A NAME="ref_852_27" HREF="terminal_interface-curses__adb.htm#ref_852_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>; + <b>function</b> <span class="symbol"><a name="ref_852_16">Is_Keypad</a></span> (<span class="symbol"><a name="ref_852_27">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; <b>pragma</b> Import (C, Is_Keypad, "is_keypad"); <b>begin</b> - <b>return</b> (<A HREF="terminal_interface-curses__adb.htm#ref_852_16">Is_Keypad</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1086_30">Win</A>) /= <A HREF="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1086_13">Get_KeyPad_Mode</A>; + <b>return</b> (<a href="terminal_interface-curses__adb.htm#ref_852_16">Is_Keypad</a> (<a href="terminal_interface-curses__ads.htm#ref_1086_30">Win</a>) /= <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1086_13">Get_KeyPad_Mode</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_858_14" HREF="terminal_interface-curses__ads.htm#ref_1094_14">Half_Delay</A></span> (<span class="symbol"><A NAME="ref_858_26" HREF="terminal_interface-curses__ads.htm#ref_1094_26">Amount</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1091_9">Half_Delay_Amount</A>) + <b>procedure</b> <span class="symbol"><a name="ref_858_14" href="terminal_interface-curses__ads.htm#ref_1094_14">Half_Delay</a></span> (<span class="symbol"><a name="ref_858_26" href="terminal_interface-curses__ads.htm#ref_1094_26">Amount</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1091_9">Half_Delay_Amount</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_860_16">Halfdelay</A></span> (<span class="symbol"><A NAME="ref_860_27" HREF="terminal_interface-curses__adb.htm#ref_860_16">Amount</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_860_16">Halfdelay</a></span> (<span class="symbol"><a name="ref_860_27">Amount</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Halfdelay, "halfdelay"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_860_16">Halfdelay</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1094_26">Amount</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_860_16">Halfdelay</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1094_26">Amount</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1094_14">Half_Delay</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1094_14">Half_Delay</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_868_14" HREF="terminal_interface-curses__ads.htm#ref_1099_14">Set_Flush_On_Interrupt_Mode</A></span> - (<span class="symbol"><A NAME="ref_869_7" HREF="terminal_interface-curses__ads.htm#ref_1100_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_870_7" HREF="terminal_interface-curses__ads.htm#ref_1101_7">Mode</A></span> : Boolean := True) + <b>procedure</b> <span class="symbol"><a name="ref_868_14" href="terminal_interface-curses__ads.htm#ref_1099_14">Set_Flush_On_Interrupt_Mode</a></span> + (<span class="symbol"><a name="ref_869_7" href="terminal_interface-curses__ads.htm#ref_1100_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_870_7" href="terminal_interface-curses__ads.htm#ref_1101_7">Mode</a></span> : Boolean := True) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_872_16">Intrflush</A></span> (<span class="symbol"><A NAME="ref_872_27" HREF="terminal_interface-curses__adb.htm#ref_872_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_872_41" HREF="terminal_interface-curses__adb.htm#ref_872_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_872_16">Intrflush</a></span> (<span class="symbol"><a name="ref_872_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_872_41">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Intrflush, "intrflush"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_872_16">Intrflush</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1100_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1101_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_872_16">Intrflush</a> (<a href="terminal_interface-curses__ads.htm#ref_1100_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1101_7">Mode</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1099_14">Set_Flush_On_Interrupt_Mode</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1099_14">Set_Flush_On_Interrupt_Mode</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_880_14" HREF="terminal_interface-curses__ads.htm#ref_1106_14">Set_Queue_Interrupt_Mode</A></span> - (<span class="symbol"><A NAME="ref_881_7" HREF="terminal_interface-curses__ads.htm#ref_1107_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_882_7" HREF="terminal_interface-curses__ads.htm#ref_1108_7">Flush</A></span> : Boolean := True) + <b>procedure</b> <span class="symbol"><a name="ref_880_14" href="terminal_interface-curses__ads.htm#ref_1106_14">Set_Queue_Interrupt_Mode</a></span> + (<span class="symbol"><a name="ref_881_7" href="terminal_interface-curses__ads.htm#ref_1107_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_882_7" href="terminal_interface-curses__ads.htm#ref_1108_7">Flush</a></span> : Boolean := True) <b>is</b> - <b>procedure</b> <span class="symbol"><A NAME="ref_884_17">Qiflush</A></span>; + <b>procedure</b> <span class="symbol"><a name="ref_884_17">Qiflush</a></span>; <b>pragma</b> Import (C, Qiflush, "qiflush"); - <b>procedure</b> <span class="symbol"><A NAME="ref_886_17">No_Qiflush</A></span>; + <b>procedure</b> <span class="symbol"><a name="ref_886_17">No_Qiflush</a></span>; <b>pragma</b> Import (C, No_Qiflush, "noqiflush"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1107_7">Win</A> = <A HREF="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1107_7">Win</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1108_7">Flush</A> <b>then</b> - <A HREF="terminal_interface-curses__adb.htm#ref_884_17">Qiflush</A>; + <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1108_7">Flush</a> <b>then</b> + <a href="terminal_interface-curses__adb.htm#ref_884_17">Qiflush</a>; <b>else</b> - <A HREF="terminal_interface-curses__adb.htm#ref_886_17">No_Qiflush</A>; + <a href="terminal_interface-curses__adb.htm#ref_886_17">No_Qiflush</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1106_14">Set_Queue_Interrupt_Mode</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1106_14">Set_Queue_Interrupt_Mode</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_899_14" HREF="terminal_interface-curses__ads.htm#ref_1114_14">Set_NoDelay_Mode</A></span> - (<span class="symbol"><A NAME="ref_900_7" HREF="terminal_interface-curses__ads.htm#ref_1115_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_901_7" HREF="terminal_interface-curses__ads.htm#ref_1116_7">Mode</A></span> : Boolean := False) + <b>procedure</b> <span class="symbol"><a name="ref_899_14" href="terminal_interface-curses__ads.htm#ref_1114_14">Set_NoDelay_Mode</a></span> + (<span class="symbol"><a name="ref_900_7" href="terminal_interface-curses__ads.htm#ref_1115_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_901_7" href="terminal_interface-curses__ads.htm#ref_1116_7">Mode</a></span> : Boolean := False) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_903_16">Nodelay</A></span> (<span class="symbol"><A NAME="ref_903_25" HREF="terminal_interface-curses__adb.htm#ref_903_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_903_39" HREF="terminal_interface-curses__adb.htm#ref_903_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_903_16">Nodelay</a></span> (<span class="symbol"><a name="ref_903_25">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_903_39">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Nodelay, "nodelay"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_903_16">Nodelay</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1115_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1116_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_903_16">Nodelay</a> (<a href="terminal_interface-curses__ads.htm#ref_1115_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1116_7">Mode</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1114_14">Set_NoDelay_Mode</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1114_14">Set_NoDelay_Mode</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_911_14" HREF="terminal_interface-curses__ads.htm#ref_1123_14">Set_Timeout_Mode</A></span> (<span class="symbol"><A NAME="ref_911_32" HREF="terminal_interface-curses__ads.htm#ref_1123_32">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_912_32" HREF="terminal_interface-curses__ads.htm#ref_1124_32">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1120_9">Timeout_Mode</A>; - <span class="symbol"><A NAME="ref_913_32" HREF="terminal_interface-curses__ads.htm#ref_1125_32">Amount</A></span> : Natural) + <b>procedure</b> <span class="symbol"><a name="ref_911_14" href="terminal_interface-curses__ads.htm#ref_1123_14">Set_Timeout_Mode</a></span> (<span class="symbol"><a name="ref_911_32" href="terminal_interface-curses__ads.htm#ref_1123_32">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_912_32" href="terminal_interface-curses__ads.htm#ref_1124_32">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1120_9">Timeout_Mode</a>; + <span class="symbol"><a name="ref_913_32" href="terminal_interface-curses__ads.htm#ref_1125_32">Amount</a></span> : Natural) <b>is</b> - <b>procedure</b> <span class="symbol"><A NAME="ref_915_17">Wtimeout</A></span> (<span class="symbol"><A NAME="ref_915_27" HREF="terminal_interface-curses__adb.htm#ref_915_17">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_915_41" HREF="terminal_interface-curses__adb.htm#ref_915_17">Amount</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>); + <b>procedure</b> <span class="symbol"><a name="ref_915_17">Wtimeout</a></span> (<span class="symbol"><a name="ref_915_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_915_41">Amount</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>); <b>pragma</b> Import (C, Wtimeout, "wtimeout"); - <span class="symbol"><A NAME="ref_918_7">Time</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <span class="symbol"><a name="ref_918_7">Time</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>begin</b> - <b>case</b> <A HREF="terminal_interface-curses__ads.htm#ref_1124_32">Mode</A> <b>is</b> - <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1120_26">Blocking</A> => <A HREF="terminal_interface-curses__adb.htm#ref_918_7">Time</A> := -1; - <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1120_36">Non_Blocking</A> => <A HREF="terminal_interface-curses__adb.htm#ref_918_7">Time</A> := 0; - <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1120_50">Delayed</A> => - <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1125_32">Amount</A> = 0 <b>then</b> + <b>case</b> <a href="terminal_interface-curses__ads.htm#ref_1124_32">Mode</a> <b>is</b> + <b>when</b> <a href="terminal_interface-curses__ads.htm#ref_1120_26">Blocking</a> => <a href="terminal_interface-curses__adb.htm#ref_918_7">Time</a> := -1; + <b>when</b> <a href="terminal_interface-curses__ads.htm#ref_1120_36">Non_Blocking</a> => <a href="terminal_interface-curses__adb.htm#ref_918_7">Time</a> := 0; + <b>when</b> <a href="terminal_interface-curses__ads.htm#ref_1120_50">Delayed</a> => + <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1125_32">Amount</a> = 0 <b>then</b> <b>raise</b> Constraint_Error; <b>end</b> <b>if</b>; - <A HREF="terminal_interface-curses__adb.htm#ref_918_7">Time</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1125_32">Amount</A>); + <a href="terminal_interface-curses__adb.htm#ref_918_7">Time</a> := <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1125_32">Amount</a>); <b>end</b> <b>case</b>; - <A HREF="terminal_interface-curses__adb.htm#ref_915_17">Wtimeout</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1123_32">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_918_7">Time</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1123_14">Set_Timeout_Mode</A>; + <a href="terminal_interface-curses__adb.htm#ref_915_17">Wtimeout</a> (<a href="terminal_interface-curses__ads.htm#ref_1123_32">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_918_7">Time</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1123_14">Set_Timeout_Mode</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_932_14" HREF="terminal_interface-curses__ads.htm#ref_1135_14">Set_Escape_Timer_Mode</A></span> - (<span class="symbol"><A NAME="ref_933_7" HREF="terminal_interface-curses__ads.htm#ref_1136_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_934_7" HREF="terminal_interface-curses__ads.htm#ref_1137_7">Timer_Off</A></span> : Boolean := False) + <b>procedure</b> <span class="symbol"><a name="ref_932_14" href="terminal_interface-curses__ads.htm#ref_1135_14">Set_Escape_Timer_Mode</a></span> + (<span class="symbol"><a name="ref_933_7" href="terminal_interface-curses__ads.htm#ref_1136_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_934_7" href="terminal_interface-curses__ads.htm#ref_1137_7">Timer_Off</a></span> : Boolean := False) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_936_16">Notimeout</A></span> (<span class="symbol"><A NAME="ref_936_27" HREF="terminal_interface-curses__adb.htm#ref_936_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_936_41" HREF="terminal_interface-curses__adb.htm#ref_936_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_936_16">Notimeout</a></span> (<span class="symbol"><a name="ref_936_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_936_41">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Notimeout, "notimeout"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_936_16">Notimeout</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1136_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1137_7">Timer_Off</A>))) - = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_936_16">Notimeout</a> (<a href="terminal_interface-curses__ads.htm#ref_1136_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1137_7">Timer_Off</a>))) + = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1135_14">Set_Escape_Timer_Mode</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1135_14">Set_Escape_Timer_Mode</a>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_947_14" HREF="terminal_interface-curses__ads.htm#ref_1146_14">Set_NL_Mode</A></span> (<span class="symbol"><A NAME="ref_947_27" HREF="terminal_interface-curses__ads.htm#ref_1146_27">SwitchOn</A></span> : Boolean := True) +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_947_14" href="terminal_interface-curses__ads.htm#ref_1146_14">Set_NL_Mode</a></span> (<span class="symbol"><a name="ref_947_27" href="terminal_interface-curses__ads.htm#ref_1146_27">SwitchOn</a></span> : Boolean := True) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_949_16">NL</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_949_16">NL</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, NL, "nl"); - <b>function</b> <span class="symbol"><A NAME="ref_951_16">NoNL</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_951_16">NoNL</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, NoNL, "nonl"); - <span class="symbol"><A NAME="ref_954_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <span class="symbol"><a name="ref_954_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1146_27">SwitchOn</A> <b>then</b> - <A HREF="terminal_interface-curses__adb.htm#ref_954_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_949_16">NL</A>; + <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1146_27">SwitchOn</a> <b>then</b> + <a href="terminal_interface-curses__adb.htm#ref_954_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_949_16">NL</a>; <b>else</b> - <A HREF="terminal_interface-curses__adb.htm#ref_954_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_951_16">NoNL</A>; + <a href="terminal_interface-curses__adb.htm#ref_954_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_951_16">NoNL</a>; <b>end</b> <b>if</b>; - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_954_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_954_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1146_14">Set_NL_Mode</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1146_14">Set_NL_Mode</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_966_14" HREF="terminal_interface-curses__ads.htm#ref_1152_14">Clear_On_Next_Update</A></span> - (<span class="symbol"><A NAME="ref_967_7" HREF="terminal_interface-curses__ads.htm#ref_1153_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_968_7" HREF="terminal_interface-curses__ads.htm#ref_1154_7">Do_Clear</A></span> : Boolean := True) + <b>procedure</b> <span class="symbol"><a name="ref_966_14" href="terminal_interface-curses__ads.htm#ref_1152_14">Clear_On_Next_Update</a></span> + (<span class="symbol"><a name="ref_967_7" href="terminal_interface-curses__ads.htm#ref_1153_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_968_7" href="terminal_interface-curses__ads.htm#ref_1154_7">Do_Clear</a></span> : Boolean := True) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_970_16">Clear_Ok</A></span> (<span class="symbol"><A NAME="ref_970_26" HREF="terminal_interface-curses__adb.htm#ref_970_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_970_38" HREF="terminal_interface-curses__adb.htm#ref_970_16">Flag</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_970_16">Clear_Ok</a></span> (<span class="symbol"><a name="ref_970_26">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_970_38">Flag</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Clear_Ok, "clearok"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_970_16">Clear_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1153_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1154_7">Do_Clear</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_970_16">Clear_Ok</a> (<a href="terminal_interface-curses__ads.htm#ref_1153_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1154_7">Do_Clear</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1152_14">Clear_On_Next_Update</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1152_14">Clear_On_Next_Update</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_978_14" HREF="terminal_interface-curses__ads.htm#ref_1159_14">Use_Insert_Delete_Line</A></span> - (<span class="symbol"><A NAME="ref_979_7" HREF="terminal_interface-curses__ads.htm#ref_1160_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_980_7" HREF="terminal_interface-curses__ads.htm#ref_1161_7">Do_Idl</A></span> : Boolean := True) + <b>procedure</b> <span class="symbol"><a name="ref_978_14" href="terminal_interface-curses__ads.htm#ref_1159_14">Use_Insert_Delete_Line</a></span> + (<span class="symbol"><a name="ref_979_7" href="terminal_interface-curses__ads.htm#ref_1160_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_980_7" href="terminal_interface-curses__ads.htm#ref_1161_7">Do_Idl</a></span> : Boolean := True) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_982_16">IDL_Ok</A></span> (<span class="symbol"><A NAME="ref_982_24" HREF="terminal_interface-curses__adb.htm#ref_982_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_982_36" HREF="terminal_interface-curses__adb.htm#ref_982_16">Flag</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_982_16">IDL_Ok</a></span> (<span class="symbol"><a name="ref_982_24">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_982_36">Flag</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, IDL_Ok, "idlok"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_982_16">IDL_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1160_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1161_7">Do_Idl</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_982_16">IDL_Ok</a> (<a href="terminal_interface-curses__ads.htm#ref_1160_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1161_7">Do_Idl</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1159_14">Use_Insert_Delete_Line</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1159_14">Use_Insert_Delete_Line</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_990_14" HREF="terminal_interface-curses__ads.htm#ref_1166_14">Use_Insert_Delete_Character</A></span> - (<span class="symbol"><A NAME="ref_991_7" HREF="terminal_interface-curses__ads.htm#ref_1167_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_992_7" HREF="terminal_interface-curses__ads.htm#ref_1168_7">Do_Idc</A></span> : Boolean := True) + <b>procedure</b> <span class="symbol"><a name="ref_990_14" href="terminal_interface-curses__ads.htm#ref_1166_14">Use_Insert_Delete_Character</a></span> + (<span class="symbol"><a name="ref_991_7" href="terminal_interface-curses__ads.htm#ref_1167_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_992_7" href="terminal_interface-curses__ads.htm#ref_1168_7">Do_Idc</a></span> : Boolean := True) <b>is</b> - <b>procedure</b> <span class="symbol"><A NAME="ref_994_17">IDC_Ok</A></span> (<span class="symbol"><A NAME="ref_994_25" HREF="terminal_interface-curses__adb.htm#ref_994_17">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_994_37" HREF="terminal_interface-curses__adb.htm#ref_994_17">Flag</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>); + <b>procedure</b> <span class="symbol"><a name="ref_994_17">IDC_Ok</a></span> (<span class="symbol"><a name="ref_994_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_994_37">Flag</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>); <b>pragma</b> Import (C, IDC_Ok, "idcok"); <b>begin</b> - <A HREF="terminal_interface-curses__adb.htm#ref_994_17">IDC_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1167_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1168_7">Do_Idc</A>))); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1166_14">Use_Insert_Delete_Character</A>; + <a href="terminal_interface-curses__adb.htm#ref_994_17">IDC_Ok</a> (<a href="terminal_interface-curses__ads.htm#ref_1167_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1168_7">Do_Idc</a>))); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1166_14">Use_Insert_Delete_Character</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1000_14" HREF="terminal_interface-curses__ads.htm#ref_1173_14">Leave_Cursor_After_Update</A></span> - (<span class="symbol"><A NAME="ref_1001_7" HREF="terminal_interface-curses__ads.htm#ref_1174_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1002_7" HREF="terminal_interface-curses__ads.htm#ref_1175_7">Do_Leave</A></span> : Boolean := True) + <b>procedure</b> <span class="symbol"><a name="ref_1000_14" href="terminal_interface-curses__ads.htm#ref_1173_14">Leave_Cursor_After_Update</a></span> + (<span class="symbol"><a name="ref_1001_7" href="terminal_interface-curses__ads.htm#ref_1174_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1002_7" href="terminal_interface-curses__ads.htm#ref_1175_7">Do_Leave</a></span> : Boolean := True) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1004_16">Leave_Ok</A></span> (<span class="symbol"><A NAME="ref_1004_26" HREF="terminal_interface-curses__adb.htm#ref_1004_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_1004_38" HREF="terminal_interface-curses__adb.htm#ref_1004_16">Flag</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1004_16">Leave_Ok</a></span> (<span class="symbol"><a name="ref_1004_26">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1004_38">Flag</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Leave_Ok, "leaveok"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1004_16">Leave_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1174_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1175_7">Do_Leave</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1004_16">Leave_Ok</a> (<a href="terminal_interface-curses__ads.htm#ref_1174_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1175_7">Do_Leave</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1173_14">Leave_Cursor_After_Update</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1173_14">Leave_Cursor_After_Update</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1012_14" HREF="terminal_interface-curses__ads.htm#ref_1180_14">Immediate_Update_Mode</A></span> - (<span class="symbol"><A NAME="ref_1013_7" HREF="terminal_interface-curses__ads.htm#ref_1181_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1014_7" HREF="terminal_interface-curses__ads.htm#ref_1182_7">Mode</A></span> : Boolean := False) + <b>procedure</b> <span class="symbol"><a name="ref_1012_14" href="terminal_interface-curses__ads.htm#ref_1180_14">Immediate_Update_Mode</a></span> + (<span class="symbol"><a name="ref_1013_7" href="terminal_interface-curses__ads.htm#ref_1181_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1014_7" href="terminal_interface-curses__ads.htm#ref_1182_7">Mode</a></span> : Boolean := False) <b>is</b> - <b>procedure</b> <span class="symbol"><A NAME="ref_1016_17">Immedok</A></span> (<span class="symbol"><A NAME="ref_1016_26" HREF="terminal_interface-curses__adb.htm#ref_1016_17">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_1016_40" HREF="terminal_interface-curses__adb.htm#ref_1016_17">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>); + <b>procedure</b> <span class="symbol"><a name="ref_1016_17">Immedok</a></span> (<span class="symbol"><a name="ref_1016_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1016_40">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>); <b>pragma</b> Import (C, Immedok, "immedok"); <b>begin</b> - <A HREF="terminal_interface-curses__adb.htm#ref_1016_17">Immedok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1181_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1182_7">Mode</A>))); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1180_14">Immediate_Update_Mode</A>; + <a href="terminal_interface-curses__adb.htm#ref_1016_17">Immedok</a> (<a href="terminal_interface-curses__ads.htm#ref_1181_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1182_7">Mode</a>))); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1180_14">Immediate_Update_Mode</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1022_14" HREF="terminal_interface-curses__ads.htm#ref_1187_14">Allow_Scrolling</A></span> - (<span class="symbol"><A NAME="ref_1023_7" HREF="terminal_interface-curses__ads.htm#ref_1188_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1024_7" HREF="terminal_interface-curses__ads.htm#ref_1189_7">Mode</A></span> : Boolean := False) + <b>procedure</b> <span class="symbol"><a name="ref_1022_14" href="terminal_interface-curses__ads.htm#ref_1187_14">Allow_Scrolling</a></span> + (<span class="symbol"><a name="ref_1023_7" href="terminal_interface-curses__ads.htm#ref_1188_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1024_7" href="terminal_interface-curses__ads.htm#ref_1189_7">Mode</a></span> : Boolean := False) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1026_16">Scrollok</A></span> (<span class="symbol"><A NAME="ref_1026_26" HREF="terminal_interface-curses__adb.htm#ref_1026_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_1026_40" HREF="terminal_interface-curses__adb.htm#ref_1026_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1026_16">Scrollok</a></span> (<span class="symbol"><a name="ref_1026_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1026_40">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Scrollok, "scrollok"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1026_16">Scrollok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1188_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1189_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1026_16">Scrollok</a> (<a href="terminal_interface-curses__ads.htm#ref_1188_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1189_7">Mode</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1187_14">Allow_Scrolling</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1187_14">Allow_Scrolling</a>; - <b>function</b> <span class="symbol"><A NAME="ref_1034_13" HREF="terminal_interface-curses__ads.htm#ref_1193_13">Scrolling_Allowed</A></span> (<span class="symbol"><A NAME="ref_1034_32" HREF="terminal_interface-curses__ads.htm#ref_1193_32">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>) + <b>function</b> <span class="symbol"><a name="ref_1034_13" href="terminal_interface-curses__ads.htm#ref_1193_13">Scrolling_Allowed</a></span> (<span class="symbol"><a name="ref_1034_32" href="terminal_interface-curses__ads.htm#ref_1193_32">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) <b>return</b> Boolean <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1037_16">Is_Scroll_Ok</A></span> (<span class="symbol"><A NAME="ref_1037_30" HREF="terminal_interface-curses__adb.htm#ref_1037_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>; + <b>function</b> <span class="symbol"><a name="ref_1037_16">Is_Scroll_Ok</a></span> (<span class="symbol"><a name="ref_1037_30">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; <b>pragma</b> Import (C, Is_Scroll_Ok, "is_scrollok"); <b>begin</b> - <b>return</b> (<A HREF="terminal_interface-curses__adb.htm#ref_1037_16">Is_Scroll_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1193_32">Win</A>) /= <A HREF="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1193_13">Scrolling_Allowed</A>; + <b>return</b> (<a href="terminal_interface-curses__adb.htm#ref_1037_16">Is_Scroll_Ok</a> (<a href="terminal_interface-curses__ads.htm#ref_1193_32">Win</a>) /= <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1193_13">Scrolling_Allowed</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1043_14" HREF="terminal_interface-curses__ads.htm#ref_1198_14">Set_Scroll_Region</A></span> - (<span class="symbol"><A NAME="ref_1044_7" HREF="terminal_interface-curses__ads.htm#ref_1199_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1045_7" HREF="terminal_interface-curses__ads.htm#ref_1200_7">Top_Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1046_7" HREF="terminal_interface-curses__ads.htm#ref_1201_7">Bottom_Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>) + <b>procedure</b> <span class="symbol"><a name="ref_1043_14" href="terminal_interface-curses__ads.htm#ref_1198_14">Set_Scroll_Region</a></span> + (<span class="symbol"><a name="ref_1044_7" href="terminal_interface-curses__ads.htm#ref_1199_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1045_7" href="terminal_interface-curses__ads.htm#ref_1200_7">Top_Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1046_7" href="terminal_interface-curses__ads.htm#ref_1201_7">Bottom_Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1048_16">Wsetscrreg</A></span> (<span class="symbol"><A NAME="ref_1048_28" HREF="terminal_interface-curses__adb.htm#ref_1048_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1049_28" HREF="terminal_interface-curses__adb.htm#ref_1048_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1050_28" HREF="terminal_interface-curses__adb.htm#ref_1048_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1048_16">Wsetscrreg</a></span> (<span class="symbol"><a name="ref_1048_28">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1049_28">Lin</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1050_28">Col</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Wsetscrreg, "wsetscrreg"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1048_16">Wsetscrreg</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1199_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1200_7">Top_Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1201_7">Bottom_Line</A>)) - = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1048_16">Wsetscrreg</a> (<a href="terminal_interface-curses__ads.htm#ref_1199_7">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1200_7">Top_Line</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1201_7">Bottom_Line</a>)) + = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1198_14">Set_Scroll_Region</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1060_14" HREF="terminal_interface-curses__ads.htm#ref_1211_14">Update_Screen</A></span> + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1198_14">Set_Scroll_Region</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1060_14" href="terminal_interface-curses__ads.htm#ref_1211_14">Update_Screen</a></span> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1062_16">Do_Update</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1062_16">Do_Update</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Do_Update, "doupdate"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1062_16">Do_Update</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1062_16">Do_Update</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1211_14">Update_Screen</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1211_14">Update_Screen</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1070_14" HREF="terminal_interface-curses__ads.htm#ref_1216_14">Refresh</A></span> (<span class="symbol"><A NAME="ref_1070_23" HREF="terminal_interface-curses__ads.htm#ref_1216_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>) + <b>procedure</b> <span class="symbol"><a name="ref_1070_14" href="terminal_interface-curses__ads.htm#ref_1216_14">Refresh</a></span> (<span class="symbol"><a name="ref_1070_23" href="terminal_interface-curses__ads.htm#ref_1216_23">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1072_16">Wrefresh</A></span> (<span class="symbol"><A NAME="ref_1072_26" HREF="terminal_interface-curses__adb.htm#ref_1072_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1072_16">Wrefresh</a></span> (<span class="symbol"><a name="ref_1072_26">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Wrefresh, "wrefresh"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1072_16">Wrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1216_23">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1072_16">Wrefresh</a> (<a href="terminal_interface-curses__ads.htm#ref_1216_23">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1216_14">Refresh</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1216_14">Refresh</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1080_14" HREF="terminal_interface-curses__ads.htm#ref_1223_14">Refresh_Without_Update</A></span> - (<span class="symbol"><A NAME="ref_1081_7" HREF="terminal_interface-curses__ads.htm#ref_1224_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>) + <b>procedure</b> <span class="symbol"><a name="ref_1080_14" href="terminal_interface-curses__ads.htm#ref_1223_14">Refresh_Without_Update</a></span> + (<span class="symbol"><a name="ref_1081_7" href="terminal_interface-curses__ads.htm#ref_1224_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1083_16">Wnoutrefresh</A></span> (<span class="symbol"><A NAME="ref_1083_30" HREF="terminal_interface-curses__adb.htm#ref_1083_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1083_16">Wnoutrefresh</a></span> (<span class="symbol"><a name="ref_1083_30">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Wnoutrefresh, "wnoutrefresh"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1083_16">Wnoutrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1224_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1083_16">Wnoutrefresh</a> (<a href="terminal_interface-curses__ads.htm#ref_1224_7">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1223_14">Refresh_Without_Update</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1223_14">Refresh_Without_Update</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1091_14" HREF="terminal_interface-curses__ads.htm#ref_1230_14">Redraw</A></span> (<span class="symbol"><A NAME="ref_1091_22" HREF="terminal_interface-curses__ads.htm#ref_1230_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>) + <b>procedure</b> <span class="symbol"><a name="ref_1091_14" href="terminal_interface-curses__ads.htm#ref_1230_14">Redraw</a></span> (<span class="symbol"><a name="ref_1091_22" href="terminal_interface-curses__ads.htm#ref_1230_22">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1093_16">Redrawwin</A></span> (<span class="symbol"><A NAME="ref_1093_27" HREF="terminal_interface-curses__adb.htm#ref_1093_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1093_16">Redrawwin</a></span> (<span class="symbol"><a name="ref_1093_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Redrawwin, "redrawwin"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1093_16">Redrawwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1230_22">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1093_16">Redrawwin</a> (<a href="terminal_interface-curses__ads.htm#ref_1230_22">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1230_14">Redraw</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1230_14">Redraw</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1101_14" HREF="terminal_interface-curses__ads.htm#ref_1234_14">Redraw</A></span> - (<span class="symbol"><A NAME="ref_1102_7" HREF="terminal_interface-curses__ads.htm#ref_1234_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1103_7" HREF="terminal_interface-curses__ads.htm#ref_1235_22">Begin_Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1104_7" HREF="terminal_interface-curses__ads.htm#ref_1236_22">Line_Count</A></span> : Positive) + <b>procedure</b> <span class="symbol"><a name="ref_1101_14" href="terminal_interface-curses__ads.htm#ref_1234_14">Redraw</a></span> + (<span class="symbol"><a name="ref_1102_7" href="terminal_interface-curses__ads.htm#ref_1234_22">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1103_7" href="terminal_interface-curses__ads.htm#ref_1235_22">Begin_Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1104_7" href="terminal_interface-curses__ads.htm#ref_1236_22">Line_Count</a></span> : Positive) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1106_16">Wredrawln</A></span> (<span class="symbol"><A NAME="ref_1106_27" HREF="terminal_interface-curses__adb.htm#ref_1106_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_1106_41" HREF="terminal_interface-curses__adb.htm#ref_1106_16">First</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; <span class="symbol"><A NAME="ref_1106_56" HREF="terminal_interface-curses__adb.htm#ref_1106_16">Cnt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) - <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1106_16">Wredrawln</a></span> (<span class="symbol"><a name="ref_1106_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1106_41">First</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <span class="symbol"><a name="ref_1106_56">Cnt</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) + <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Wredrawln, "wredrawln"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1106_16">Wredrawln</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1234_22">Win</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1235_22">Begin_Line</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1236_22">Line_Count</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1106_16">Wredrawln</a> (<a href="terminal_interface-curses__ads.htm#ref_1234_22">Win</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1235_22">Begin_Line</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1236_22">Line_Count</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1234_14">Redraw</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1234_14">Redraw</a>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1119_14" HREF="terminal_interface-curses__ads.htm#ref_1245_14">Erase</A></span> (<span class="symbol"><A NAME="ref_1119_21" HREF="terminal_interface-curses__ads.htm#ref_1245_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>) +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1119_14" href="terminal_interface-curses__ads.htm#ref_1245_14">Erase</a></span> (<span class="symbol"><a name="ref_1119_21" href="terminal_interface-curses__ads.htm#ref_1245_21">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1121_16">Werase</A></span> (<span class="symbol"><A NAME="ref_1121_24" HREF="terminal_interface-curses__adb.htm#ref_1121_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1121_16">Werase</a></span> (<span class="symbol"><a name="ref_1121_24">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Werase, "werase"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1121_16">Werase</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1245_21">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1121_16">Werase</a> (<a href="terminal_interface-curses__ads.htm#ref_1245_21">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1245_14">Erase</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1245_14">Erase</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1129_14" HREF="terminal_interface-curses__ads.htm#ref_1251_14">Clear</A></span> (<span class="symbol"><A NAME="ref_1129_21" HREF="terminal_interface-curses__ads.htm#ref_1252_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>) + <b>procedure</b> <span class="symbol"><a name="ref_1129_14" href="terminal_interface-curses__ads.htm#ref_1251_14">Clear</a></span> (<span class="symbol"><a name="ref_1129_21" href="terminal_interface-curses__ads.htm#ref_1252_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1131_16">Wclear</A></span> (<span class="symbol"><A NAME="ref_1131_24" HREF="terminal_interface-curses__adb.htm#ref_1131_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1131_16">Wclear</a></span> (<span class="symbol"><a name="ref_1131_24">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Wclear, "wclear"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1131_16">Wclear</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1252_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1131_16">Wclear</a> (<a href="terminal_interface-curses__ads.htm#ref_1252_7">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1251_14">Clear</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1251_14">Clear</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1139_14" HREF="terminal_interface-curses__ads.htm#ref_1258_14">Clear_To_End_Of_Screen</A></span> (<span class="symbol"><A NAME="ref_1139_38" HREF="terminal_interface-curses__ads.htm#ref_1259_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>) + <b>procedure</b> <span class="symbol"><a name="ref_1139_14" href="terminal_interface-curses__ads.htm#ref_1258_14">Clear_To_End_Of_Screen</a></span> (<span class="symbol"><a name="ref_1139_38" href="terminal_interface-curses__ads.htm#ref_1259_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1141_16">Wclearbot</A></span> (<span class="symbol"><A NAME="ref_1141_27" HREF="terminal_interface-curses__adb.htm#ref_1141_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1141_16">Wclearbot</a></span> (<span class="symbol"><a name="ref_1141_27">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Wclearbot, "wclrtobot"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1141_16">Wclearbot</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1259_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1141_16">Wclearbot</a> (<a href="terminal_interface-curses__ads.htm#ref_1259_7">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1258_14">Clear_To_End_Of_Screen</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1258_14">Clear_To_End_Of_Screen</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1149_14" HREF="terminal_interface-curses__ads.htm#ref_1265_14">Clear_To_End_Of_Line</A></span> (<span class="symbol"><A NAME="ref_1149_36" HREF="terminal_interface-curses__ads.htm#ref_1266_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>) + <b>procedure</b> <span class="symbol"><a name="ref_1149_14" href="terminal_interface-curses__ads.htm#ref_1265_14">Clear_To_End_Of_Line</a></span> (<span class="symbol"><a name="ref_1149_36" href="terminal_interface-curses__ads.htm#ref_1266_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1151_16">Wcleareol</A></span> (<span class="symbol"><A NAME="ref_1151_27" HREF="terminal_interface-curses__adb.htm#ref_1151_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1151_16">Wcleareol</a></span> (<span class="symbol"><a name="ref_1151_27">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Wcleareol, "wclrtoeol"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1151_16">Wcleareol</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1266_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1151_16">Wcleareol</a> (<a href="terminal_interface-curses__ads.htm#ref_1266_7">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1265_14">Clear_To_End_Of_Line</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1159_14" HREF="terminal_interface-curses__ads.htm#ref_1279_14">Set_Background</A></span> - (<span class="symbol"><A NAME="ref_1160_7" HREF="terminal_interface-curses__ads.htm#ref_1280_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1161_7" HREF="terminal_interface-curses__ads.htm#ref_1281_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1265_14">Clear_To_End_Of_Line</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1159_14" href="terminal_interface-curses__ads.htm#ref_1279_14">Set_Background</a></span> + (<span class="symbol"><a name="ref_1160_7" href="terminal_interface-curses__ads.htm#ref_1280_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1161_7" href="terminal_interface-curses__ads.htm#ref_1281_7">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>is</b> - <b>procedure</b> <span class="symbol"><A NAME="ref_1163_17">WBackground</A></span> (<span class="symbol"><A NAME="ref_1163_30" HREF="terminal_interface-curses__adb.htm#ref_1163_17">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_1163_42" HREF="terminal_interface-curses__adb.htm#ref_1163_17">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>); + <b>procedure</b> <span class="symbol"><a name="ref_1163_17">WBackground</a></span> (<span class="symbol"><a name="ref_1163_30">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1163_42">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>); <b>pragma</b> Import (C, WBackground, "wbkgdset"); <b>begin</b> - <A HREF="terminal_interface-curses__adb.htm#ref_1163_17">WBackground</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1280_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1281_7">Ch</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1279_14">Set_Background</A>; + <a href="terminal_interface-curses__adb.htm#ref_1163_17">WBackground</a> (<a href="terminal_interface-curses__ads.htm#ref_1280_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1281_7">Ch</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1279_14">Set_Background</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1169_14" HREF="terminal_interface-curses__ads.htm#ref_1287_14">Change_Background</A></span> - (<span class="symbol"><A NAME="ref_1170_7" HREF="terminal_interface-curses__ads.htm#ref_1288_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1171_7" HREF="terminal_interface-curses__ads.htm#ref_1289_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) + <b>procedure</b> <span class="symbol"><a name="ref_1169_14" href="terminal_interface-curses__ads.htm#ref_1287_14">Change_Background</a></span> + (<span class="symbol"><a name="ref_1170_7" href="terminal_interface-curses__ads.htm#ref_1288_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1171_7" href="terminal_interface-curses__ads.htm#ref_1289_7">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1173_16">WChangeBkgd</A></span> (<span class="symbol"><A NAME="ref_1173_29" HREF="terminal_interface-curses__adb.htm#ref_1173_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_1173_41" HREF="terminal_interface-curses__adb.htm#ref_1173_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) - <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1173_16">WChangeBkgd</a></span> (<span class="symbol"><a name="ref_1173_29">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1173_41">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) + <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, WChangeBkgd, "wbkgd"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1173_16">WChangeBkgd</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1288_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1289_7">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1173_16">WChangeBkgd</a> (<a href="terminal_interface-curses__ads.htm#ref_1288_7">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1289_7">Ch</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1287_14">Change_Background</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1287_14">Change_Background</a>; - <b>function</b> <span class="symbol"><A NAME="ref_1182_13" HREF="terminal_interface-curses__ads.htm#ref_1296_13">Get_Background</A></span> (<span class="symbol"><A NAME="ref_1182_29" HREF="terminal_interface-curses__ads.htm#ref_1296_29">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>) - <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> + <b>function</b> <span class="symbol"><a name="ref_1182_13" href="terminal_interface-curses__ads.htm#ref_1296_13">Get_Background</a></span> (<span class="symbol"><a name="ref_1182_29" href="terminal_interface-curses__ads.htm#ref_1296_29">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) + <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1185_16">Wgetbkgd</A></span> (<span class="symbol"><A NAME="ref_1185_26" HREF="terminal_interface-curses__adb.htm#ref_1185_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; + <b>function</b> <span class="symbol"><a name="ref_1185_16">Wgetbkgd</a></span> (<span class="symbol"><a name="ref_1185_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; <b>pragma</b> Import (C, Wgetbkgd, "getbkgd"); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1185_16">Wgetbkgd</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1296_29">Win</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1296_13">Get_Background</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1191_14" HREF="terminal_interface-curses__ads.htm#ref_1323_14">Change_Lines_Status</A></span> (<span class="symbol"><A NAME="ref_1191_35" HREF="terminal_interface-curses__ads.htm#ref_1323_35">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1192_35" HREF="terminal_interface-curses__ads.htm#ref_1324_35">Start</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1193_35" HREF="terminal_interface-curses__ads.htm#ref_1325_35">Count</A></span> : Positive; - <span class="symbol"><A NAME="ref_1194_35" HREF="terminal_interface-curses__ads.htm#ref_1326_35">State</A></span> : Boolean) - <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1196_16">Wtouchln</A></span> (<span class="symbol"><A NAME="ref_1196_26" HREF="terminal_interface-curses__adb.htm#ref_1196_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1197_26" HREF="terminal_interface-curses__adb.htm#ref_1196_16">Sta</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1198_26" HREF="terminal_interface-curses__adb.htm#ref_1196_16">Cnt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1199_26" HREF="terminal_interface-curses__adb.htm#ref_1196_16">Chg</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_1185_16">Wgetbkgd</a> (<a href="terminal_interface-curses__ads.htm#ref_1296_29">Win</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1296_13">Get_Background</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1191_14" href="terminal_interface-curses__ads.htm#ref_1323_14">Change_Lines_Status</a></span> (<span class="symbol"><a name="ref_1191_35" href="terminal_interface-curses__ads.htm#ref_1323_35">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1192_35" href="terminal_interface-curses__ads.htm#ref_1324_35">Start</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1193_35" href="terminal_interface-curses__ads.htm#ref_1325_35">Count</a></span> : Positive; + <span class="symbol"><a name="ref_1194_35" href="terminal_interface-curses__ads.htm#ref_1326_35">State</a></span> : Boolean) + <b>is</b> + <b>function</b> <span class="symbol"><a name="ref_1196_16">Wtouchln</a></span> (<span class="symbol"><a name="ref_1196_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1197_26">Sta</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1198_26">Cnt</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1199_26">Chg</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Wtouchln, "wtouchln"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1196_16">Wtouchln</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1323_35">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1324_35">Start</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1325_35">Count</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1326_35">State</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1196_16">Wtouchln</a> (<a href="terminal_interface-curses__ads.htm#ref_1323_35">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1324_35">Start</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1325_35">Count</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1326_35">State</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1323_14">Change_Lines_Status</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1323_14">Change_Lines_Status</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1209_14" HREF="terminal_interface-curses__ads.htm#ref_1312_14">Touch</A></span> (<span class="symbol"><A NAME="ref_1209_21" HREF="terminal_interface-curses__ads.htm#ref_1312_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>) + <b>procedure</b> <span class="symbol"><a name="ref_1209_14" href="terminal_interface-curses__ads.htm#ref_1312_14">Touch</a></span> (<span class="symbol"><a name="ref_1209_21" href="terminal_interface-curses__ads.htm#ref_1312_21">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) <b>is</b> - <span class="symbol"><A NAME="ref_1211_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1212_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; + <span class="symbol"><a name="ref_1211_7">Y</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1212_7">X</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; <b>begin</b> - <A HREF="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1312_21">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1211_7">Y</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1212_7">X</A>); - <b>pragma</b> Warnings (Off, <A HREF="terminal_interface-curses__adb.htm#ref_1212_7">X</A>); <span class="comment"><EM>-- unreferenced</EM></span> - <A HREF="terminal_interface-curses__ads.htm#ref_1323_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1312_21">Win</A>, 0, Positive (<A HREF="terminal_interface-curses__adb.htm#ref_1211_7">Y</A>), True); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1312_14">Touch</A>; + <a href="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</a> (<a href="terminal_interface-curses__ads.htm#ref_1312_21">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_1211_7">Y</a>, <a href="terminal_interface-curses__adb.htm#ref_1212_7">X</a>); + <b>pragma</b> Warnings (Off, <a href="terminal_interface-curses__adb.htm#ref_1212_7">X</a>); <span class="comment"><em>-- unreferenced</em></span> + <a href="terminal_interface-curses__ads.htm#ref_1323_14">Change_Lines_Status</a> (<a href="terminal_interface-curses__ads.htm#ref_1312_21">Win</a>, 0, Positive (<a href="terminal_interface-curses__adb.htm#ref_1211_7">Y</a>), True); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1312_14">Touch</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1219_14" HREF="terminal_interface-curses__ads.htm#ref_1307_14">Untouch</A></span> (<span class="symbol"><A NAME="ref_1219_23" HREF="terminal_interface-curses__ads.htm#ref_1307_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>) + <b>procedure</b> <span class="symbol"><a name="ref_1219_14" href="terminal_interface-curses__ads.htm#ref_1307_14">Untouch</a></span> (<span class="symbol"><a name="ref_1219_23" href="terminal_interface-curses__ads.htm#ref_1307_23">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) <b>is</b> - <span class="symbol"><A NAME="ref_1221_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1222_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; + <span class="symbol"><a name="ref_1221_7">Y</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1222_7">X</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; <b>begin</b> - <A HREF="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1307_23">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1221_7">Y</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1222_7">X</A>); - <b>pragma</b> Warnings (Off, <A HREF="terminal_interface-curses__adb.htm#ref_1222_7">X</A>); <span class="comment"><EM>-- unreferenced</EM></span> - <A HREF="terminal_interface-curses__ads.htm#ref_1323_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1307_23">Win</A>, 0, Positive (<A HREF="terminal_interface-curses__adb.htm#ref_1221_7">Y</A>), False); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1307_14">Untouch</A>; + <a href="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</a> (<a href="terminal_interface-curses__ads.htm#ref_1307_23">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_1221_7">Y</a>, <a href="terminal_interface-curses__adb.htm#ref_1222_7">X</a>); + <b>pragma</b> Warnings (Off, <a href="terminal_interface-curses__adb.htm#ref_1222_7">X</a>); <span class="comment"><em>-- unreferenced</em></span> + <a href="terminal_interface-curses__ads.htm#ref_1323_14">Change_Lines_Status</a> (<a href="terminal_interface-curses__ads.htm#ref_1307_23">Win</a>, 0, Positive (<a href="terminal_interface-curses__adb.htm#ref_1221_7">Y</a>), False); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1307_14">Untouch</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1229_14" HREF="terminal_interface-curses__ads.htm#ref_1316_14">Touch</A></span> (<span class="symbol"><A NAME="ref_1229_21" HREF="terminal_interface-curses__ads.htm#ref_1316_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1230_21" HREF="terminal_interface-curses__ads.htm#ref_1317_21">Start</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1231_21" HREF="terminal_interface-curses__ads.htm#ref_1318_21">Count</A></span> : Positive) + <b>procedure</b> <span class="symbol"><a name="ref_1229_14" href="terminal_interface-curses__ads.htm#ref_1316_14">Touch</a></span> (<span class="symbol"><a name="ref_1229_21" href="terminal_interface-curses__ads.htm#ref_1316_21">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1230_21" href="terminal_interface-curses__ads.htm#ref_1317_21">Start</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1231_21" href="terminal_interface-curses__ads.htm#ref_1318_21">Count</a></span> : Positive) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses__ads.htm#ref_1323_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1316_21">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1317_21">Start</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1318_21">Count</A>, True); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1316_14">Touch</A>; + <a href="terminal_interface-curses__ads.htm#ref_1323_14">Change_Lines_Status</a> (<a href="terminal_interface-curses__ads.htm#ref_1316_21">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1317_21">Start</a>, <a href="terminal_interface-curses__ads.htm#ref_1318_21">Count</a>, True); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1316_14">Touch</a>; - <b>function</b> <span class="symbol"><A NAME="ref_1237_13" HREF="terminal_interface-curses__ads.htm#ref_1331_13">Is_Touched</A></span> - (<span class="symbol"><A NAME="ref_1238_7" HREF="terminal_interface-curses__ads.htm#ref_1331_25">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1239_7" HREF="terminal_interface-curses__ads.htm#ref_1332_25">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>) <b>return</b> Boolean + <b>function</b> <span class="symbol"><a name="ref_1237_13" href="terminal_interface-curses__ads.htm#ref_1331_13">Is_Touched</a></span> + (<span class="symbol"><a name="ref_1238_7" href="terminal_interface-curses__ads.htm#ref_1331_25">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1239_7" href="terminal_interface-curses__ads.htm#ref_1332_25">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>) <b>return</b> Boolean <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1241_16">WLineTouched</A></span> (<span class="symbol"><A NAME="ref_1241_30" HREF="terminal_interface-curses__adb.htm#ref_1241_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_1241_42" HREF="terminal_interface-curses__adb.htm#ref_1241_16">L</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>; + <b>function</b> <span class="symbol"><a name="ref_1241_16">WLineTouched</a></span> (<span class="symbol"><a name="ref_1241_30">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1241_42">L</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; <b>pragma</b> Import (C, WLineTouched, "is_linetouched"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1241_16">WLineTouched</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1331_25">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1332_25">Line</A>)) = <A HREF="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</A> <b>then</b> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1241_16">WLineTouched</a> (<a href="terminal_interface-curses__ads.htm#ref_1331_25">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1332_25">Line</a>)) = <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1331_13">Is_Touched</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1331_13">Is_Touched</a>; - <b>function</b> <span class="symbol"><A NAME="ref_1251_13" HREF="terminal_interface-curses__ads.htm#ref_1336_13">Is_Touched</A></span> - (<span class="symbol"><A NAME="ref_1252_7" HREF="terminal_interface-curses__ads.htm#ref_1336_25">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>) <b>return</b> Boolean + <b>function</b> <span class="symbol"><a name="ref_1251_13" href="terminal_interface-curses__ads.htm#ref_1336_13">Is_Touched</a></span> + (<span class="symbol"><a name="ref_1252_7" href="terminal_interface-curses__ads.htm#ref_1336_25">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) <b>return</b> Boolean <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1254_16">WWinTouched</A></span> (<span class="symbol"><A NAME="ref_1254_29" HREF="terminal_interface-curses__adb.htm#ref_1254_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>; + <b>function</b> <span class="symbol"><a name="ref_1254_16">WWinTouched</a></span> (<span class="symbol"><a name="ref_1254_29">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; <b>pragma</b> Import (C, WWinTouched, "is_wintouched"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1254_16">WWinTouched</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1336_25">Win</A>) = <A HREF="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</A> <b>then</b> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1254_16">WWinTouched</a> (<a href="terminal_interface-curses__ads.htm#ref_1336_25">Win</a>) = <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1336_13">Is_Touched</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1264_14" HREF="terminal_interface-curses__ads.htm#ref_1345_14">Copy</A></span> - (<span class="symbol"><A NAME="ref_1265_7" HREF="terminal_interface-curses__ads.htm#ref_1346_7">Source_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1266_7" HREF="terminal_interface-curses__ads.htm#ref_1347_7">Destination_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1267_7" HREF="terminal_interface-curses__ads.htm#ref_1348_7">Source_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1268_7" HREF="terminal_interface-curses__ads.htm#ref_1349_7">Source_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_1269_7" HREF="terminal_interface-curses__ads.htm#ref_1350_7">Destination_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1270_7" HREF="terminal_interface-curses__ads.htm#ref_1351_7">Destination_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_1271_7" HREF="terminal_interface-curses__ads.htm#ref_1352_7">Destination_Bottom_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1272_7" HREF="terminal_interface-curses__ads.htm#ref_1353_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_1273_7" HREF="terminal_interface-curses__ads.htm#ref_1354_7">Non_Destructive_Mode</A></span> : Boolean := True) - <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1275_16">Copywin</A></span> (<span class="symbol"><A NAME="ref_1275_25" HREF="terminal_interface-curses__adb.htm#ref_1275_16">Src</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1276_25" HREF="terminal_interface-curses__adb.htm#ref_1275_16">Dst</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1277_25" HREF="terminal_interface-curses__adb.htm#ref_1275_16">Str</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1278_25" HREF="terminal_interface-curses__adb.htm#ref_1275_16">Slc</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1279_25" HREF="terminal_interface-curses__adb.htm#ref_1275_16">Dtr</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1280_25" HREF="terminal_interface-curses__adb.htm#ref_1275_16">Dlc</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1281_25" HREF="terminal_interface-curses__adb.htm#ref_1275_16">Dbr</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1282_25" HREF="terminal_interface-curses__adb.htm#ref_1275_16">Drc</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1283_25" HREF="terminal_interface-curses__adb.htm#ref_1275_16">Ndm</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1336_13">Is_Touched</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1264_14" href="terminal_interface-curses__ads.htm#ref_1345_14">Copy</a></span> + (<span class="symbol"><a name="ref_1265_7" href="terminal_interface-curses__ads.htm#ref_1346_7">Source_Window</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1266_7" href="terminal_interface-curses__ads.htm#ref_1347_7">Destination_Window</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1267_7" href="terminal_interface-curses__ads.htm#ref_1348_7">Source_Top_Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1268_7" href="terminal_interface-curses__ads.htm#ref_1349_7">Source_Left_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_1269_7" href="terminal_interface-curses__ads.htm#ref_1350_7">Destination_Top_Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1270_7" href="terminal_interface-curses__ads.htm#ref_1351_7">Destination_Left_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_1271_7" href="terminal_interface-curses__ads.htm#ref_1352_7">Destination_Bottom_Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1272_7" href="terminal_interface-curses__ads.htm#ref_1353_7">Destination_Right_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_1273_7" href="terminal_interface-curses__ads.htm#ref_1354_7">Non_Destructive_Mode</a></span> : Boolean := True) + <b>is</b> + <b>function</b> <span class="symbol"><a name="ref_1275_16">Copywin</a></span> (<span class="symbol"><a name="ref_1275_25">Src</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1276_25">Dst</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1277_25">Str</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1278_25">Slc</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1279_25">Dtr</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1280_25">Dlc</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1281_25">Dbr</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1282_25">Drc</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1283_25">Ndm</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Copywin, "copywin"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1275_16">Copywin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1346_7">Source_Window</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_1347_7">Destination_Window</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1348_7">Source_Top_Row</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1349_7">Source_Left_Column</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1350_7">Destination_Top_Row</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1351_7">Destination_Left_Column</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1352_7">Destination_Bottom_Row</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1353_7">Destination_Right_Column</A>), - Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1354_7">Non_Destructive_Mode</A>) - ) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1275_16">Copywin</a> (<a href="terminal_interface-curses__ads.htm#ref_1346_7">Source_Window</a>, + <a href="terminal_interface-curses__ads.htm#ref_1347_7">Destination_Window</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1348_7">Source_Top_Row</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1349_7">Source_Left_Column</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1350_7">Destination_Top_Row</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1351_7">Destination_Left_Column</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1352_7">Destination_Bottom_Row</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1353_7">Destination_Right_Column</a>), + Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1354_7">Non_Destructive_Mode</a>) + ) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1345_14">Copy</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1345_14">Copy</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1301_14" HREF="terminal_interface-curses__ads.htm#ref_1359_14">Overwrite</A></span> - (<span class="symbol"><A NAME="ref_1302_7" HREF="terminal_interface-curses__ads.htm#ref_1359_25">Source_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1303_7" HREF="terminal_interface-curses__ads.htm#ref_1360_25">Destination_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) + <b>procedure</b> <span class="symbol"><a name="ref_1301_14" href="terminal_interface-curses__ads.htm#ref_1359_14">Overwrite</a></span> + (<span class="symbol"><a name="ref_1302_7" href="terminal_interface-curses__ads.htm#ref_1359_25">Source_Window</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1303_7" href="terminal_interface-curses__ads.htm#ref_1360_25">Destination_Window</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1305_16">Overwrite</A></span> (<span class="symbol"><A NAME="ref_1305_27" HREF="terminal_interface-curses__adb.htm#ref_1305_16">Src</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_1305_41" HREF="terminal_interface-curses__adb.htm#ref_1305_16">Dst</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1305_16">Overwrite</a></span> (<span class="symbol"><a name="ref_1305_27">Src</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1305_41">Dst</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Overwrite, "overwrite"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1305_16">Overwrite</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1359_25">Source_Window</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1360_25">Destination_Window</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1305_16">Overwrite</a> (<a href="terminal_interface-curses__ads.htm#ref_1359_25">Source_Window</a>, <a href="terminal_interface-curses__ads.htm#ref_1360_25">Destination_Window</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1359_14">Overwrite</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1359_14">Overwrite</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1313_14" HREF="terminal_interface-curses__ads.htm#ref_1365_14">Overlay</A></span> - (<span class="symbol"><A NAME="ref_1314_7" HREF="terminal_interface-curses__ads.htm#ref_1365_23">Source_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1315_7" HREF="terminal_interface-curses__ads.htm#ref_1366_23">Destination_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) + <b>procedure</b> <span class="symbol"><a name="ref_1313_14" href="terminal_interface-curses__ads.htm#ref_1365_14">Overlay</a></span> + (<span class="symbol"><a name="ref_1314_7" href="terminal_interface-curses__ads.htm#ref_1365_23">Source_Window</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1315_7" href="terminal_interface-curses__ads.htm#ref_1366_23">Destination_Window</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1317_16">Overlay</A></span> (<span class="symbol"><A NAME="ref_1317_25" HREF="terminal_interface-curses__adb.htm#ref_1317_16">Src</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_1317_39" HREF="terminal_interface-curses__adb.htm#ref_1317_16">Dst</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1317_16">Overlay</a></span> (<span class="symbol"><a name="ref_1317_25">Src</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1317_39">Dst</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Overlay, "overlay"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1317_16">Overlay</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1365_23">Source_Window</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1366_23">Destination_Window</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1317_16">Overlay</a> (<a href="terminal_interface-curses__ads.htm#ref_1365_23">Source_Window</a>, <a href="terminal_interface-curses__ads.htm#ref_1366_23">Destination_Window</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1365_14">Overlay</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1365_14">Overlay</a>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1326_14" HREF="terminal_interface-curses__ads.htm#ref_1375_14">Insert_Delete_Lines</A></span> - (<span class="symbol"><A NAME="ref_1327_7" HREF="terminal_interface-curses__ads.htm#ref_1376_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1328_7" HREF="terminal_interface-curses__ads.htm#ref_1377_7">Lines</A></span> : Integer := 1) <span class="comment"><EM>-- default is to insert one line above</EM></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1326_14" href="terminal_interface-curses__ads.htm#ref_1375_14">Insert_Delete_Lines</a></span> + (<span class="symbol"><a name="ref_1327_7" href="terminal_interface-curses__ads.htm#ref_1376_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1328_7" href="terminal_interface-curses__ads.htm#ref_1377_7">Lines</a></span> : Integer := 1) <span class="comment"><em>-- default is to insert one line above</em></span> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1330_16">Winsdelln</A></span> (<span class="symbol"><A NAME="ref_1330_27" HREF="terminal_interface-curses__adb.htm#ref_1330_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_1330_39" HREF="terminal_interface-curses__adb.htm#ref_1330_16">N</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1330_16">Winsdelln</a></span> (<span class="symbol"><a name="ref_1330_27">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1330_39">N</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Winsdelln, "winsdelln"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1330_16">Winsdelln</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1376_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1377_7">Lines</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1330_16">Winsdelln</a> (<a href="terminal_interface-curses__ads.htm#ref_1376_7">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1377_7">Lines</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1375_14">Insert_Delete_Lines</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1375_14">Insert_Delete_Lines</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1338_14" HREF="terminal_interface-curses__ads.htm#ref_1383_14">Delete_Line</A></span> (<span class="symbol"><A NAME="ref_1338_27" HREF="terminal_interface-curses__ads.htm#ref_1383_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>) + <b>procedure</b> <span class="symbol"><a name="ref_1338_14" href="terminal_interface-curses__ads.htm#ref_1383_14">Delete_Line</a></span> (<span class="symbol"><a name="ref_1338_27" href="terminal_interface-curses__ads.htm#ref_1383_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses__ads.htm#ref_1375_14">Insert_Delete_Lines</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1383_27">Win</A>, -1); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1383_14">Delete_Line</A>; + <a href="terminal_interface-curses__ads.htm#ref_1375_14">Insert_Delete_Lines</a> (<a href="terminal_interface-curses__ads.htm#ref_1383_27">Win</a>, -1); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1383_14">Delete_Line</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1344_14" HREF="terminal_interface-curses__ads.htm#ref_1389_14">Insert_Line</A></span> (<span class="symbol"><A NAME="ref_1344_27" HREF="terminal_interface-curses__ads.htm#ref_1389_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>) + <b>procedure</b> <span class="symbol"><a name="ref_1344_14" href="terminal_interface-curses__ads.htm#ref_1389_14">Insert_Line</a></span> (<span class="symbol"><a name="ref_1344_27" href="terminal_interface-curses__ads.htm#ref_1389_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses__ads.htm#ref_1375_14">Insert_Delete_Lines</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1389_27">Win</A>, 1); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1389_14">Insert_Line</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> + <a href="terminal_interface-curses__ads.htm#ref_1375_14">Insert_Delete_Lines</a> (<a href="terminal_interface-curses__ads.htm#ref_1389_27">Win</a>, 1); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1389_14">Insert_Line</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1351_14" HREF="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</A></span> - (<span class="symbol"><A NAME="ref_1352_7" HREF="terminal_interface-curses__ads.htm#ref_1400_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1353_7" HREF="terminal_interface-curses__ads.htm#ref_1401_7">Number_Of_Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_1354_7" HREF="terminal_interface-curses__ads.htm#ref_1402_7">Number_Of_Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>) + <b>procedure</b> <span class="symbol"><a name="ref_1351_14" href="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</a></span> + (<span class="symbol"><a name="ref_1352_7" href="terminal_interface-curses__ads.htm#ref_1400_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1353_7" href="terminal_interface-curses__ads.htm#ref_1401_7">Number_Of_Lines</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_1354_7" href="terminal_interface-curses__ads.htm#ref_1402_7">Number_Of_Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1356_16">GetMaxY</A></span> (<span class="symbol"><A NAME="ref_1356_25" HREF="terminal_interface-curses__adb.htm#ref_1356_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1356_16">GetMaxY</a></span> (<span class="symbol"><a name="ref_1356_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, GetMaxY, "getmaxy"); - <b>function</b> <span class="symbol"><A NAME="ref_1359_16">GetMaxX</A></span> (<span class="symbol"><A NAME="ref_1359_25" HREF="terminal_interface-curses__adb.htm#ref_1359_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1359_16">GetMaxX</a></span> (<span class="symbol"><a name="ref_1359_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, GetMaxX, "getmaxx"); - <span class="symbol"><A NAME="ref_1362_7">Y</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1356_16">GetMaxY</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1400_7">Win</A>); - <span class="symbol"><A NAME="ref_1363_7">X</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1359_16">GetMaxX</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1400_7">Win</A>); + <span class="symbol"><a name="ref_1362_7">Y</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses__adb.htm#ref_1356_16">GetMaxY</a> (<a href="terminal_interface-curses__ads.htm#ref_1400_7">Win</a>); + <span class="symbol"><a name="ref_1363_7">X</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses__adb.htm#ref_1359_16">GetMaxX</a> (<a href="terminal_interface-curses__ads.htm#ref_1400_7">Win</a>); <b>begin</b> - <A HREF="terminal_interface-curses__ads.htm#ref_1401_7">Number_Of_Lines</A> := <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1362_7">Y</A>); - <A HREF="terminal_interface-curses__ads.htm#ref_1402_7">Number_Of_Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1363_7">X</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</A>; + <a href="terminal_interface-curses__ads.htm#ref_1401_7">Number_Of_Lines</a> := <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a> (<a href="terminal_interface-curses__adb.htm#ref_1362_7">Y</a>); + <a href="terminal_interface-curses__ads.htm#ref_1402_7">Number_Of_Columns</a> := <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a> (<a href="terminal_interface-curses__adb.htm#ref_1363_7">X</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1369_14" HREF="terminal_interface-curses__ads.htm#ref_1407_14">Get_Window_Position</A></span> - (<span class="symbol"><A NAME="ref_1370_7" HREF="terminal_interface-curses__ads.htm#ref_1408_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1371_7" HREF="terminal_interface-curses__ads.htm#ref_1409_7">Top_Left_Line</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1372_7" HREF="terminal_interface-curses__ads.htm#ref_1410_7">Top_Left_Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>) + <b>procedure</b> <span class="symbol"><a name="ref_1369_14" href="terminal_interface-curses__ads.htm#ref_1407_14">Get_Window_Position</a></span> + (<span class="symbol"><a name="ref_1370_7" href="terminal_interface-curses__ads.htm#ref_1408_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1371_7" href="terminal_interface-curses__ads.htm#ref_1409_7">Top_Left_Line</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1372_7" href="terminal_interface-curses__ads.htm#ref_1410_7">Top_Left_Column</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1374_16">GetBegY</A></span> (<span class="symbol"><A NAME="ref_1374_25" HREF="terminal_interface-curses__adb.htm#ref_1374_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1374_16">GetBegY</a></span> (<span class="symbol"><a name="ref_1374_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, GetBegY, "getbegy"); - <b>function</b> <span class="symbol"><A NAME="ref_1377_16">GetBegX</A></span> (<span class="symbol"><A NAME="ref_1377_25" HREF="terminal_interface-curses__adb.htm#ref_1377_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1377_16">GetBegX</a></span> (<span class="symbol"><a name="ref_1377_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, GetBegX, "getbegx"); - <span class="symbol"><A NAME="ref_1380_7">Y</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1374_16">GetBegY</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1408_7">Win</A>)); - <span class="symbol"><A NAME="ref_1381_7">X</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1377_16">GetBegX</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1408_7">Win</A>)); + <span class="symbol"><a name="ref_1380_7">Y</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> := <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__adb.htm#ref_1374_16">GetBegY</a> (<a href="terminal_interface-curses__ads.htm#ref_1408_7">Win</a>)); + <span class="symbol"><a name="ref_1381_7">X</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> := <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__adb.htm#ref_1377_16">GetBegX</a> (<a href="terminal_interface-curses__ads.htm#ref_1408_7">Win</a>)); <b>begin</b> - <A HREF="terminal_interface-curses__ads.htm#ref_1409_7">Top_Left_Line</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1380_7">Y</A>); - <A HREF="terminal_interface-curses__ads.htm#ref_1410_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1381_7">X</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1407_14">Get_Window_Position</A>; + <a href="terminal_interface-curses__ads.htm#ref_1409_7">Top_Left_Line</a> := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> (<a href="terminal_interface-curses__adb.htm#ref_1380_7">Y</a>); + <a href="terminal_interface-curses__ads.htm#ref_1410_7">Top_Left_Column</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> (<a href="terminal_interface-curses__adb.htm#ref_1381_7">X</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1407_14">Get_Window_Position</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1387_14" HREF="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</A></span> - (<span class="symbol"><A NAME="ref_1388_7" HREF="terminal_interface-curses__ads.htm#ref_1416_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1389_7" HREF="terminal_interface-curses__ads.htm#ref_1417_7">Line</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1390_7" HREF="terminal_interface-curses__ads.htm#ref_1418_7">Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>) + <b>procedure</b> <span class="symbol"><a name="ref_1387_14" href="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</a></span> + (<span class="symbol"><a name="ref_1388_7" href="terminal_interface-curses__ads.htm#ref_1416_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1389_7" href="terminal_interface-curses__ads.htm#ref_1417_7">Line</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1390_7" href="terminal_interface-curses__ads.htm#ref_1418_7">Column</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1392_16">GetCurY</A></span> (<span class="symbol"><A NAME="ref_1392_25" HREF="terminal_interface-curses__adb.htm#ref_1392_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1392_16">GetCurY</a></span> (<span class="symbol"><a name="ref_1392_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, GetCurY, "getcury"); - <b>function</b> <span class="symbol"><A NAME="ref_1395_16">GetCurX</A></span> (<span class="symbol"><A NAME="ref_1395_25" HREF="terminal_interface-curses__adb.htm#ref_1395_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1395_16">GetCurX</a></span> (<span class="symbol"><a name="ref_1395_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, GetCurX, "getcurx"); - <span class="symbol"><A NAME="ref_1398_7">Y</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1392_16">GetCurY</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1416_7">Win</A>)); - <span class="symbol"><A NAME="ref_1399_7">X</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1395_16">GetCurX</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1416_7">Win</A>)); + <span class="symbol"><a name="ref_1398_7">Y</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> := <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__adb.htm#ref_1392_16">GetCurY</a> (<a href="terminal_interface-curses__ads.htm#ref_1416_7">Win</a>)); + <span class="symbol"><a name="ref_1399_7">X</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> := <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__adb.htm#ref_1395_16">GetCurX</a> (<a href="terminal_interface-curses__ads.htm#ref_1416_7">Win</a>)); <b>begin</b> - <A HREF="terminal_interface-curses__ads.htm#ref_1417_7">Line</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1398_7">Y</A>); - <A HREF="terminal_interface-curses__ads.htm#ref_1418_7">Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1399_7">X</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</A>; + <a href="terminal_interface-curses__ads.htm#ref_1417_7">Line</a> := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> (<a href="terminal_interface-curses__adb.htm#ref_1398_7">Y</a>); + <a href="terminal_interface-curses__ads.htm#ref_1418_7">Column</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> (<a href="terminal_interface-curses__adb.htm#ref_1399_7">X</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1405_14" HREF="terminal_interface-curses__ads.htm#ref_1423_14">Get_Origin_Relative_To_Parent</A></span> - (<span class="symbol"><A NAME="ref_1406_7" HREF="terminal_interface-curses__ads.htm#ref_1424_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1407_7" HREF="terminal_interface-curses__ads.htm#ref_1425_7">Top_Left_Line</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1408_7" HREF="terminal_interface-curses__ads.htm#ref_1426_7">Top_Left_Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_1409_7" HREF="terminal_interface-curses__ads.htm#ref_1427_7">Is_Not_A_Subwindow</A></span> : <b>out</b> Boolean) + <b>procedure</b> <span class="symbol"><a name="ref_1405_14" href="terminal_interface-curses__ads.htm#ref_1423_14">Get_Origin_Relative_To_Parent</a></span> + (<span class="symbol"><a name="ref_1406_7" href="terminal_interface-curses__ads.htm#ref_1424_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1407_7" href="terminal_interface-curses__ads.htm#ref_1425_7">Top_Left_Line</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1408_7" href="terminal_interface-curses__ads.htm#ref_1426_7">Top_Left_Column</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_1409_7" href="terminal_interface-curses__ads.htm#ref_1427_7">Is_Not_A_Subwindow</a></span> : <b>out</b> Boolean) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1411_16">GetParY</A></span> (<span class="symbol"><A NAME="ref_1411_25" HREF="terminal_interface-curses__adb.htm#ref_1411_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1411_16">GetParY</a></span> (<span class="symbol"><a name="ref_1411_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, GetParY, "getpary"); - <b>function</b> <span class="symbol"><A NAME="ref_1414_16">GetParX</A></span> (<span class="symbol"><A NAME="ref_1414_25" HREF="terminal_interface-curses__adb.htm#ref_1414_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1414_16">GetParX</a></span> (<span class="symbol"><a name="ref_1414_25">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, GetParX, "getparx"); - <span class="symbol"><A NAME="ref_1417_7">Y</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1411_16">GetParY</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1424_7">Win</A>); - <span class="symbol"><A NAME="ref_1418_7">X</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1414_16">GetParX</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1424_7">Win</A>); + <span class="symbol"><a name="ref_1417_7">Y</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses__adb.htm#ref_1411_16">GetParY</a> (<a href="terminal_interface-curses__ads.htm#ref_1424_7">Win</a>); + <span class="symbol"><a name="ref_1418_7">X</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses__adb.htm#ref_1414_16">GetParX</a> (<a href="terminal_interface-curses__ads.htm#ref_1424_7">Win</a>); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1417_7">Y</A> = -1 <b>then</b> - <A HREF="terminal_interface-curses__ads.htm#ref_1425_7">Top_Left_Line</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>'Last; - <A HREF="terminal_interface-curses__ads.htm#ref_1426_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>'Last; - <A HREF="terminal_interface-curses__ads.htm#ref_1427_7">Is_Not_A_Subwindow</A> := True; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1417_7">Y</a> = -1 <b>then</b> + <a href="terminal_interface-curses__ads.htm#ref_1425_7">Top_Left_Line</a> := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>'Last; + <a href="terminal_interface-curses__ads.htm#ref_1426_7">Top_Left_Column</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>'Last; + <a href="terminal_interface-curses__ads.htm#ref_1427_7">Is_Not_A_Subwindow</a> := True; <b>else</b> - <A HREF="terminal_interface-curses__ads.htm#ref_1425_7">Top_Left_Line</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1417_7">Y</A>); - <A HREF="terminal_interface-curses__ads.htm#ref_1426_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1418_7">X</A>); - <A HREF="terminal_interface-curses__ads.htm#ref_1427_7">Is_Not_A_Subwindow</A> := False; + <a href="terminal_interface-curses__ads.htm#ref_1425_7">Top_Left_Line</a> := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> (<a href="terminal_interface-curses__adb.htm#ref_1417_7">Y</a>); + <a href="terminal_interface-curses__ads.htm#ref_1426_7">Top_Left_Column</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> (<a href="terminal_interface-curses__adb.htm#ref_1418_7">X</a>); + <a href="terminal_interface-curses__ads.htm#ref_1427_7">Is_Not_A_Subwindow</a> := False; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1423_14">Get_Origin_Relative_To_Parent</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_1431_13" HREF="terminal_interface-curses__ads.htm#ref_1438_13">New_Pad</A></span> (<span class="symbol"><A NAME="ref_1431_22" HREF="terminal_interface-curses__ads.htm#ref_1438_22">Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_1432_22" HREF="terminal_interface-curses__ads.htm#ref_1439_22">Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1423_14">Get_Origin_Relative_To_Parent</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>function</b> <span class="symbol"><a name="ref_1431_13" href="terminal_interface-curses__ads.htm#ref_1438_13">New_Pad</a></span> (<span class="symbol"><a name="ref_1431_22" href="terminal_interface-curses__ads.htm#ref_1438_22">Lines</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_1432_22" href="terminal_interface-curses__ads.htm#ref_1439_22">Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1434_16">Newpad</A></span> (<span class="symbol"><A NAME="ref_1434_24" HREF="terminal_interface-curses__adb.htm#ref_1434_16">Lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; <span class="symbol"><A NAME="ref_1434_39" HREF="terminal_interface-curses__adb.htm#ref_1434_16">Columns</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; + <b>function</b> <span class="symbol"><a name="ref_1434_16">Newpad</a></span> (<span class="symbol"><a name="ref_1434_24">Lines</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <span class="symbol"><a name="ref_1434_39">Columns</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <b>pragma</b> Import (C, Newpad, "newpad"); - <span class="symbol"><A NAME="ref_1437_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; + <span class="symbol"><a name="ref_1437_7">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <b>begin</b> - <A HREF="terminal_interface-curses__adb.htm#ref_1437_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1434_16">Newpad</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1438_22">Lines</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1439_22">Columns</A>)); - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1437_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <a href="terminal_interface-curses__adb.htm#ref_1437_7">W</a> := <a href="terminal_interface-curses__adb.htm#ref_1434_16">Newpad</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1438_22">Lines</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1439_22">Columns</a>)); + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1437_7">W</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1437_7">W</A>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1438_13">New_Pad</A>; + <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_1437_7">W</a>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1438_13">New_Pad</a>; - <b>function</b> <span class="symbol"><A NAME="ref_1446_13" HREF="terminal_interface-curses__ads.htm#ref_1444_13">Sub_Pad</A></span> - (<span class="symbol"><A NAME="ref_1447_7" HREF="terminal_interface-curses__ads.htm#ref_1445_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1448_7" HREF="terminal_interface-curses__ads.htm#ref_1446_7">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_1449_7" HREF="terminal_interface-curses__ads.htm#ref_1447_7">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>; - <span class="symbol"><A NAME="ref_1450_7" HREF="terminal_interface-curses__ads.htm#ref_1448_7">First_Line_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1451_7" HREF="terminal_interface-curses__ads.htm#ref_1449_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> + <b>function</b> <span class="symbol"><a name="ref_1446_13" href="terminal_interface-curses__ads.htm#ref_1444_13">Sub_Pad</a></span> + (<span class="symbol"><a name="ref_1447_7" href="terminal_interface-curses__ads.htm#ref_1445_7">Pad</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1448_7" href="terminal_interface-curses__ads.htm#ref_1446_7">Number_Of_Lines</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_1449_7" href="terminal_interface-curses__ads.htm#ref_1447_7">Number_Of_Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>; + <span class="symbol"><a name="ref_1450_7" href="terminal_interface-curses__ads.htm#ref_1448_7">First_Line_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1451_7" href="terminal_interface-curses__ads.htm#ref_1449_7">First_Column_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1453_16">Subpad</A></span> - (<span class="symbol"><A NAME="ref_1454_10" HREF="terminal_interface-curses__adb.htm#ref_1453_16">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1455_10" HREF="terminal_interface-curses__adb.htm#ref_1453_16">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1456_10" HREF="terminal_interface-curses__adb.htm#ref_1453_16">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1457_10" HREF="terminal_interface-curses__adb.htm#ref_1453_16">First_Line_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1458_10" HREF="terminal_interface-curses__adb.htm#ref_1453_16">First_Column_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; + <b>function</b> <span class="symbol"><a name="ref_1453_16">Subpad</a></span> + (<span class="symbol"><a name="ref_1454_10">Pad</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1455_10">Number_Of_Lines</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1456_10">Number_Of_Columns</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1457_10">First_Line_Position</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1458_10">First_Column_Position</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <b>pragma</b> Import (C, Subpad, "subpad"); - <span class="symbol"><A NAME="ref_1461_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <b>begin</b> - <A HREF="terminal_interface-curses__adb.htm#ref_1461_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1453_16">Subpad</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1445_7">Pad</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1446_7">Number_Of_Lines</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1447_7">Number_Of_Columns</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1448_7">First_Line_Position</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1449_7">First_Column_Position</A>)); - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1461_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; - <b>end</b> <b>if</b>; - <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1461_7">W</A>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1444_13">Sub_Pad</A>; - - <b>procedure</b> <span class="symbol"><A NAME="ref_1474_14" HREF="terminal_interface-curses__ads.htm#ref_1454_14">Refresh</A></span> - (<span class="symbol"><A NAME="ref_1475_7" HREF="terminal_interface-curses__ads.htm#ref_1455_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1476_7" HREF="terminal_interface-curses__ads.htm#ref_1456_7">Source_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1477_7" HREF="terminal_interface-curses__ads.htm#ref_1457_7">Source_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_1478_7" HREF="terminal_interface-curses__ads.htm#ref_1458_7">Destination_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1479_7" HREF="terminal_interface-curses__ads.htm#ref_1459_7">Destination_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_1480_7" HREF="terminal_interface-curses__ads.htm#ref_1460_7">Destination_Bottom_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1481_7" HREF="terminal_interface-curses__ads.htm#ref_1461_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>) - <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1483_16">Prefresh</A></span> - (<span class="symbol"><A NAME="ref_1484_10" HREF="terminal_interface-curses__adb.htm#ref_1483_16">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1485_10" HREF="terminal_interface-curses__adb.htm#ref_1483_16">Source_Top_Row</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1486_10" HREF="terminal_interface-curses__adb.htm#ref_1483_16">Source_Left_Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1487_10" HREF="terminal_interface-curses__adb.htm#ref_1483_16">Destination_Top_Row</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1488_10" HREF="terminal_interface-curses__adb.htm#ref_1483_16">Destination_Left_Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1489_10" HREF="terminal_interface-curses__adb.htm#ref_1483_16">Destination_Bottom_Row</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1490_10" HREF="terminal_interface-curses__adb.htm#ref_1483_16">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <span class="symbol"><a name="ref_1461_7">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <b>begin</b> + <a href="terminal_interface-curses__adb.htm#ref_1461_7">W</a> := <a href="terminal_interface-curses__adb.htm#ref_1453_16">Subpad</a> (<a href="terminal_interface-curses__ads.htm#ref_1445_7">Pad</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1446_7">Number_Of_Lines</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1447_7">Number_Of_Columns</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1448_7">First_Line_Position</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1449_7">First_Column_Position</a>)); + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1461_7">W</a> = <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; + <b>end</b> <b>if</b>; + <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_1461_7">W</a>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1444_13">Sub_Pad</a>; + + <b>procedure</b> <span class="symbol"><a name="ref_1474_14" href="terminal_interface-curses__ads.htm#ref_1454_14">Refresh</a></span> + (<span class="symbol"><a name="ref_1475_7" href="terminal_interface-curses__ads.htm#ref_1455_7">Pad</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1476_7" href="terminal_interface-curses__ads.htm#ref_1456_7">Source_Top_Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1477_7" href="terminal_interface-curses__ads.htm#ref_1457_7">Source_Left_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_1478_7" href="terminal_interface-curses__ads.htm#ref_1458_7">Destination_Top_Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1479_7" href="terminal_interface-curses__ads.htm#ref_1459_7">Destination_Left_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_1480_7" href="terminal_interface-curses__ads.htm#ref_1460_7">Destination_Bottom_Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1481_7" href="terminal_interface-curses__ads.htm#ref_1461_7">Destination_Right_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) + <b>is</b> + <b>function</b> <span class="symbol"><a name="ref_1483_16">Prefresh</a></span> + (<span class="symbol"><a name="ref_1484_10">Pad</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1485_10">Source_Top_Row</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1486_10">Source_Left_Column</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1487_10">Destination_Top_Row</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1488_10">Destination_Left_Column</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1489_10">Destination_Bottom_Row</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1490_10">Destination_Right_Column</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Prefresh, "prefresh"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1483_16">Prefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1455_7">Pad</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1456_7">Source_Top_Row</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1457_7">Source_Left_Column</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1458_7">Destination_Top_Row</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1459_7">Destination_Left_Column</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1460_7">Destination_Bottom_Row</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1461_7">Destination_Right_Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1483_16">Prefresh</a> (<a href="terminal_interface-curses__ads.htm#ref_1455_7">Pad</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1456_7">Source_Top_Row</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1457_7">Source_Left_Column</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1458_7">Destination_Top_Row</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1459_7">Destination_Left_Column</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1460_7">Destination_Bottom_Row</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1461_7">Destination_Right_Column</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; - <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1454_14">Refresh</A>; - - <b>procedure</b> <span class="symbol"><A NAME="ref_1505_14" HREF="terminal_interface-curses__ads.htm#ref_1466_14">Refresh_Without_Update</A></span> - (<span class="symbol"><A NAME="ref_1506_7" HREF="terminal_interface-curses__ads.htm#ref_1467_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1507_7" HREF="terminal_interface-curses__ads.htm#ref_1468_7">Source_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1508_7" HREF="terminal_interface-curses__ads.htm#ref_1469_7">Source_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_1509_7" HREF="terminal_interface-curses__ads.htm#ref_1470_7">Destination_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1510_7" HREF="terminal_interface-curses__ads.htm#ref_1471_7">Destination_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_1511_7" HREF="terminal_interface-curses__ads.htm#ref_1472_7">Destination_Bottom_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1512_7" HREF="terminal_interface-curses__ads.htm#ref_1473_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>) - <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1514_16">Pnoutrefresh</A></span> - (<span class="symbol"><A NAME="ref_1515_10" HREF="terminal_interface-curses__adb.htm#ref_1514_16">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1516_10" HREF="terminal_interface-curses__adb.htm#ref_1514_16">Source_Top_Row</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1517_10" HREF="terminal_interface-curses__adb.htm#ref_1514_16">Source_Left_Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1518_10" HREF="terminal_interface-curses__adb.htm#ref_1514_16">Destination_Top_Row</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1519_10" HREF="terminal_interface-curses__adb.htm#ref_1514_16">Destination_Left_Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1520_10" HREF="terminal_interface-curses__adb.htm#ref_1514_16">Destination_Bottom_Row</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1521_10" HREF="terminal_interface-curses__adb.htm#ref_1514_16">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; + <b>end</b> <b>if</b>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1454_14">Refresh</a>; + + <b>procedure</b> <span class="symbol"><a name="ref_1505_14" href="terminal_interface-curses__ads.htm#ref_1466_14">Refresh_Without_Update</a></span> + (<span class="symbol"><a name="ref_1506_7" href="terminal_interface-curses__ads.htm#ref_1467_7">Pad</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1507_7" href="terminal_interface-curses__ads.htm#ref_1468_7">Source_Top_Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1508_7" href="terminal_interface-curses__ads.htm#ref_1469_7">Source_Left_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_1509_7" href="terminal_interface-curses__ads.htm#ref_1470_7">Destination_Top_Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1510_7" href="terminal_interface-curses__ads.htm#ref_1471_7">Destination_Left_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_1511_7" href="terminal_interface-curses__ads.htm#ref_1472_7">Destination_Bottom_Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1512_7" href="terminal_interface-curses__ads.htm#ref_1473_7">Destination_Right_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) + <b>is</b> + <b>function</b> <span class="symbol"><a name="ref_1514_16">Pnoutrefresh</a></span> + (<span class="symbol"><a name="ref_1515_10">Pad</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1516_10">Source_Top_Row</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1517_10">Source_Left_Column</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1518_10">Destination_Top_Row</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1519_10">Destination_Left_Column</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1520_10">Destination_Bottom_Row</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1521_10">Destination_Right_Column</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Pnoutrefresh, "pnoutrefresh"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1514_16">Pnoutrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1467_7">Pad</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1468_7">Source_Top_Row</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1469_7">Source_Left_Column</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1470_7">Destination_Top_Row</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1471_7">Destination_Left_Column</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1472_7">Destination_Bottom_Row</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1473_7">Destination_Right_Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1514_16">Pnoutrefresh</a> (<a href="terminal_interface-curses__ads.htm#ref_1467_7">Pad</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1468_7">Source_Top_Row</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1469_7">Source_Left_Column</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1470_7">Destination_Top_Row</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1471_7">Destination_Left_Column</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1472_7">Destination_Bottom_Row</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1473_7">Destination_Right_Column</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1466_14">Refresh_Without_Update</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1466_14">Refresh_Without_Update</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1536_14" HREF="terminal_interface-curses__ads.htm#ref_1478_14">Add_Character_To_Pad_And_Echo_It</A></span> - (<span class="symbol"><A NAME="ref_1537_7" HREF="terminal_interface-curses__ads.htm#ref_1479_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1538_7" HREF="terminal_interface-curses__ads.htm#ref_1480_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) + <b>procedure</b> <span class="symbol"><a name="ref_1536_14" href="terminal_interface-curses__ads.htm#ref_1478_14">Add_Character_To_Pad_And_Echo_It</a></span> + (<span class="symbol"><a name="ref_1537_7" href="terminal_interface-curses__ads.htm#ref_1479_7">Pad</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1538_7" href="terminal_interface-curses__ads.htm#ref_1480_7">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1540_16">Pechochar</A></span> (<span class="symbol"><A NAME="ref_1540_27" HREF="terminal_interface-curses__adb.htm#ref_1540_16">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_1540_41" HREF="terminal_interface-curses__adb.htm#ref_1540_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) - <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1540_16">Pechochar</a></span> (<span class="symbol"><a name="ref_1540_27">Pad</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1540_41">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) + <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Pechochar, "pechochar"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1540_16">Pechochar</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1479_7">Pad</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1480_7">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1540_16">Pechochar</a> (<a href="terminal_interface-curses__ads.htm#ref_1479_7">Pad</a>, <a href="terminal_interface-curses__ads.htm#ref_1480_7">Ch</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1478_14">Add_Character_To_Pad_And_Echo_It</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1478_14">Add_Character_To_Pad_And_Echo_It</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1549_14" HREF="terminal_interface-curses__ads.htm#ref_1483_14">Add_Character_To_Pad_And_Echo_It</A></span> - (<span class="symbol"><A NAME="ref_1550_7" HREF="terminal_interface-curses__ads.htm#ref_1484_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1551_7" HREF="terminal_interface-curses__ads.htm#ref_1485_7">Ch</A></span> : Character) + <b>procedure</b> <span class="symbol"><a name="ref_1549_14" href="terminal_interface-curses__ads.htm#ref_1483_14">Add_Character_To_Pad_And_Echo_It</a></span> + (<span class="symbol"><a name="ref_1550_7" href="terminal_interface-curses__ads.htm#ref_1484_7">Pad</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1551_7" href="terminal_interface-curses__ads.htm#ref_1485_7">Ch</a></span> : Character) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses__ads.htm#ref_1478_14">Add_Character_To_Pad_And_Echo_It</A> - (<A HREF="terminal_interface-curses__ads.htm#ref_1484_7">Pad</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_492_10">Ch</A> => <A HREF="terminal_interface-curses__ads.htm#ref_1485_7">Ch</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_491_10">Color</A> => <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'First, - <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A> => <A HREF="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</A>)); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1483_14">Add_Character_To_Pad_And_Echo_It</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1561_14" HREF="terminal_interface-curses__ads.htm#ref_1493_14">Scroll</A></span> (<span class="symbol"><A NAME="ref_1561_22" HREF="terminal_interface-curses__ads.htm#ref_1493_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1562_22" HREF="terminal_interface-curses__ads.htm#ref_1494_22">Amount</A></span> : Integer := 1) + <a href="terminal_interface-curses__ads.htm#ref_1478_14">Add_Character_To_Pad_And_Echo_It</a> + (<a href="terminal_interface-curses__ads.htm#ref_1484_7">Pad</a>, + <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>'(<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => <a href="terminal_interface-curses__ads.htm#ref_1485_7">Ch</a>, + <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First, + <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>)); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1483_14">Add_Character_To_Pad_And_Echo_It</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1561_14" href="terminal_interface-curses__ads.htm#ref_1493_14">Scroll</a></span> (<span class="symbol"><a name="ref_1561_22" href="terminal_interface-curses__ads.htm#ref_1493_22">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1562_22" href="terminal_interface-curses__ads.htm#ref_1494_22">Amount</a></span> : Integer := 1) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1564_16">Wscrl</A></span> (<span class="symbol"><A NAME="ref_1564_23" HREF="terminal_interface-curses__adb.htm#ref_1564_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_1564_37" HREF="terminal_interface-curses__adb.htm#ref_1564_16">N</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1564_16">Wscrl</a></span> (<span class="symbol"><a name="ref_1564_23">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1564_37">N</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Wscrl, "wscrl"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1564_16">Wscrl</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1493_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1494_22">Amount</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1564_16">Wscrl</a> (<a href="terminal_interface-curses__ads.htm#ref_1493_22">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1494_22">Amount</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1493_14">Scroll</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1493_14">Scroll</a>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1574_14" HREF="terminal_interface-curses__ads.htm#ref_1505_14">Delete_Character</A></span> (<span class="symbol"><A NAME="ref_1574_32" HREF="terminal_interface-curses__ads.htm#ref_1505_32">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>) +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1574_14" href="terminal_interface-curses__ads.htm#ref_1505_14">Delete_Character</a></span> (<span class="symbol"><a name="ref_1574_32" href="terminal_interface-curses__ads.htm#ref_1505_32">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1576_16">Wdelch</A></span> (<span class="symbol"><A NAME="ref_1576_24" HREF="terminal_interface-curses__adb.htm#ref_1576_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1576_16">Wdelch</a></span> (<span class="symbol"><a name="ref_1576_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Wdelch, "wdelch"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1576_16">Wdelch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1505_32">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1576_16">Wdelch</a> (<a href="terminal_interface-curses__ads.htm#ref_1505_32">Win</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1505_14">Delete_Character</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1505_14">Delete_Character</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1584_14" HREF="terminal_interface-curses__ads.htm#ref_1510_14">Delete_Character</A></span> - (<span class="symbol"><A NAME="ref_1585_7" HREF="terminal_interface-curses__ads.htm#ref_1511_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1586_7" HREF="terminal_interface-curses__ads.htm#ref_1512_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1587_7" HREF="terminal_interface-curses__ads.htm#ref_1513_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>) + <b>procedure</b> <span class="symbol"><a name="ref_1584_14" href="terminal_interface-curses__ads.htm#ref_1510_14">Delete_Character</a></span> + (<span class="symbol"><a name="ref_1585_7" href="terminal_interface-curses__ads.htm#ref_1511_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1586_7" href="terminal_interface-curses__ads.htm#ref_1512_7">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1587_7" href="terminal_interface-curses__ads.htm#ref_1513_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1589_16">Mvwdelch</A></span> (<span class="symbol"><A NAME="ref_1589_26" HREF="terminal_interface-curses__adb.htm#ref_1589_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1590_26" HREF="terminal_interface-curses__adb.htm#ref_1589_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1591_26" HREF="terminal_interface-curses__adb.htm#ref_1589_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1589_16">Mvwdelch</a></span> (<span class="symbol"><a name="ref_1589_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1590_26">Lin</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1591_26">Col</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Mvwdelch, "mvwdelch"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1589_16">Mvwdelch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1511_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1512_7">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1513_7">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1589_16">Mvwdelch</a> (<a href="terminal_interface-curses__ads.htm#ref_1511_7">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1512_7">Line</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1513_7">Column</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1510_14">Delete_Character</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_1599_13" HREF="terminal_interface-curses__ads.htm#ref_1523_13">Peek</A></span> (<span class="symbol"><A NAME="ref_1599_19" HREF="terminal_interface-curses__ads.htm#ref_1523_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>) - <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1510_14">Delete_Character</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>function</b> <span class="symbol"><a name="ref_1599_13" href="terminal_interface-curses__ads.htm#ref_1523_13">Peek</a></span> (<span class="symbol"><a name="ref_1599_19" href="terminal_interface-curses__ads.htm#ref_1523_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) + <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1602_16">Winch</A></span> (<span class="symbol"><A NAME="ref_1602_23" HREF="terminal_interface-curses__adb.htm#ref_1602_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; + <b>function</b> <span class="symbol"><a name="ref_1602_16">Winch</a></span> (<span class="symbol"><a name="ref_1602_23">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; <b>pragma</b> Import (C, Winch, "winch"); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1602_16">Winch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1523_19">Win</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1523_13">Peek</A>; + <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_1602_16">Winch</a> (<a href="terminal_interface-curses__ads.htm#ref_1523_19">Win</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1523_13">Peek</a>; - <b>function</b> <span class="symbol"><A NAME="ref_1608_13" HREF="terminal_interface-curses__ads.htm#ref_1529_13">Peek</A></span> - (<span class="symbol"><A NAME="ref_1609_7" HREF="terminal_interface-curses__ads.htm#ref_1530_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1610_7" HREF="terminal_interface-curses__ads.htm#ref_1531_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1611_7" HREF="terminal_interface-curses__ads.htm#ref_1532_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> + <b>function</b> <span class="symbol"><a name="ref_1608_13" href="terminal_interface-curses__ads.htm#ref_1529_13">Peek</a></span> + (<span class="symbol"><a name="ref_1609_7" href="terminal_interface-curses__ads.htm#ref_1530_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1610_7" href="terminal_interface-curses__ads.htm#ref_1531_7">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1611_7" href="terminal_interface-curses__ads.htm#ref_1532_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1613_16">Mvwinch</A></span> (<span class="symbol"><A NAME="ref_1613_25" HREF="terminal_interface-curses__adb.htm#ref_1613_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1614_25" HREF="terminal_interface-curses__adb.htm#ref_1613_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1615_25" HREF="terminal_interface-curses__adb.htm#ref_1613_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; + <b>function</b> <span class="symbol"><a name="ref_1613_16">Mvwinch</a></span> (<span class="symbol"><a name="ref_1613_25">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1614_25">Lin</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1615_25">Col</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; <b>pragma</b> Import (C, Mvwinch, "mvwinch"); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1613_16">Mvwinch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1530_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1531_7">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1532_7">Column</A>)); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1529_13">Peek</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1621_14" HREF="terminal_interface-curses__ads.htm#ref_1542_14">Insert</A></span> (<span class="symbol"><A NAME="ref_1621_22" HREF="terminal_interface-curses__ads.htm#ref_1542_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1622_22" HREF="terminal_interface-curses__ads.htm#ref_1543_22">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) + <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_1613_16">Mvwinch</a> (<a href="terminal_interface-curses__ads.htm#ref_1530_7">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1531_7">Line</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1532_7">Column</a>)); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1529_13">Peek</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1621_14" href="terminal_interface-curses__ads.htm#ref_1542_14">Insert</a></span> (<span class="symbol"><a name="ref_1621_22" href="terminal_interface-curses__ads.htm#ref_1542_22">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1622_22" href="terminal_interface-curses__ads.htm#ref_1543_22">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1624_16">Winsch</A></span> (<span class="symbol"><A NAME="ref_1624_24" HREF="terminal_interface-curses__adb.htm#ref_1624_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; <span class="symbol"><A NAME="ref_1624_38" HREF="terminal_interface-curses__adb.htm#ref_1624_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1624_16">Winsch</a></span> (<span class="symbol"><a name="ref_1624_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; <span class="symbol"><a name="ref_1624_38">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Winsch, "winsch"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1624_16">Winsch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1542_22">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1543_22">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1624_16">Winsch</a> (<a href="terminal_interface-curses__ads.htm#ref_1542_22">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1543_22">Ch</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1542_14">Insert</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1542_14">Insert</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1632_14" HREF="terminal_interface-curses__ads.htm#ref_1548_14">Insert</A></span> - (<span class="symbol"><A NAME="ref_1633_7" HREF="terminal_interface-curses__ads.htm#ref_1548_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1634_7" HREF="terminal_interface-curses__ads.htm#ref_1549_22">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1635_7" HREF="terminal_interface-curses__ads.htm#ref_1550_22">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_1636_7" HREF="terminal_interface-curses__ads.htm#ref_1551_22">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) + <b>procedure</b> <span class="symbol"><a name="ref_1632_14" href="terminal_interface-curses__ads.htm#ref_1548_14">Insert</a></span> + (<span class="symbol"><a name="ref_1633_7" href="terminal_interface-curses__ads.htm#ref_1548_22">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1634_7" href="terminal_interface-curses__ads.htm#ref_1549_22">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1635_7" href="terminal_interface-curses__ads.htm#ref_1550_22">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_1636_7" href="terminal_interface-curses__ads.htm#ref_1551_22">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1638_16">Mvwinsch</A></span> (<span class="symbol"><A NAME="ref_1638_26" HREF="terminal_interface-curses__adb.htm#ref_1638_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1639_26" HREF="terminal_interface-curses__adb.htm#ref_1638_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1640_26" HREF="terminal_interface-curses__adb.htm#ref_1638_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1641_26" HREF="terminal_interface-curses__adb.htm#ref_1638_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1638_16">Mvwinsch</a></span> (<span class="symbol"><a name="ref_1638_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1639_26">Lin</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1640_26">Col</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1641_26">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Mvwinsch, "mvwinsch"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1638_16">Mvwinsch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1548_22">Win</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1549_22">Line</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1550_22">Column</A>), - <A HREF="terminal_interface-curses__ads.htm#ref_1551_22">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1638_16">Mvwinsch</a> (<a href="terminal_interface-curses__ads.htm#ref_1548_22">Win</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1549_22">Line</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1550_22">Column</a>), + <a href="terminal_interface-curses__ads.htm#ref_1551_22">Ch</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1548_14">Insert</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1653_14" HREF="terminal_interface-curses__ads.htm#ref_1560_14">Insert</A></span> (<span class="symbol"><A NAME="ref_1653_22" HREF="terminal_interface-curses__ads.htm#ref_1560_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1654_22" HREF="terminal_interface-curses__ads.htm#ref_1561_22">Str</A></span> : String; - <span class="symbol"><A NAME="ref_1655_22" HREF="terminal_interface-curses__ads.htm#ref_1562_22">Len</A></span> : Integer := -1) + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1548_14">Insert</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1653_14" href="terminal_interface-curses__ads.htm#ref_1560_14">Insert</a></span> (<span class="symbol"><a name="ref_1653_22" href="terminal_interface-curses__ads.htm#ref_1560_22">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1654_22" href="terminal_interface-curses__ads.htm#ref_1561_22">Str</a></span> : String; + <span class="symbol"><a name="ref_1655_22" href="terminal_interface-curses__ads.htm#ref_1562_22">Len</a></span> : Integer := -1) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1657_16">Winsnstr</A></span> (<span class="symbol"><A NAME="ref_1657_26" HREF="terminal_interface-curses__adb.htm#ref_1657_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1658_26" HREF="terminal_interface-curses__adb.htm#ref_1657_16">Str</A></span> : char_array; - <span class="symbol"><A NAME="ref_1659_26" HREF="terminal_interface-curses__adb.htm#ref_1657_16">Len</A></span> : Integer := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1657_16">Winsnstr</a></span> (<span class="symbol"><a name="ref_1657_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1658_26">Str</a></span> : char_array; + <span class="symbol"><a name="ref_1659_26">Len</a></span> : Integer := -1) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Winsnstr, "winsnstr"); - <span class="symbol"><A NAME="ref_1662_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1561_22">Str</A>'Length); - <span class="symbol"><A NAME="ref_1663_7">Length</A></span> : size_t; + <span class="symbol"><a name="ref_1662_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_1561_22">Str</a>'Length); + <span class="symbol"><a name="ref_1663_7">Length</a></span> : size_t; <b>begin</b> - To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1561_22">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1662_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1663_7">Length</A>); - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1657_16">Winsnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1560_22">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1662_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1562_22">Len</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + To_C (<a href="terminal_interface-curses__ads.htm#ref_1561_22">Str</a>, <a href="terminal_interface-curses__adb.htm#ref_1662_7">Txt</a>, <a href="terminal_interface-curses__adb.htm#ref_1663_7">Length</a>); + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1657_16">Winsnstr</a> (<a href="terminal_interface-curses__ads.htm#ref_1560_22">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_1662_7">Txt</a>, <a href="terminal_interface-curses__ads.htm#ref_1562_22">Len</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1560_14">Insert</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1560_14">Insert</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1671_14" HREF="terminal_interface-curses__ads.htm#ref_1569_14">Insert</A></span> - (<span class="symbol"><A NAME="ref_1672_7" HREF="terminal_interface-curses__ads.htm#ref_1569_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1673_7" HREF="terminal_interface-curses__ads.htm#ref_1570_22">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1674_7" HREF="terminal_interface-curses__ads.htm#ref_1571_22">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_1675_7" HREF="terminal_interface-curses__ads.htm#ref_1572_22">Str</A></span> : String; - <span class="symbol"><A NAME="ref_1676_7" HREF="terminal_interface-curses__ads.htm#ref_1573_22">Len</A></span> : Integer := -1) + <b>procedure</b> <span class="symbol"><a name="ref_1671_14" href="terminal_interface-curses__ads.htm#ref_1569_14">Insert</a></span> + (<span class="symbol"><a name="ref_1672_7" href="terminal_interface-curses__ads.htm#ref_1569_22">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1673_7" href="terminal_interface-curses__ads.htm#ref_1570_22">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1674_7" href="terminal_interface-curses__ads.htm#ref_1571_22">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_1675_7" href="terminal_interface-curses__ads.htm#ref_1572_22">Str</a></span> : String; + <span class="symbol"><a name="ref_1676_7" href="terminal_interface-curses__ads.htm#ref_1573_22">Len</a></span> : Integer := -1) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1678_16">Mvwinsnstr</A></span> (<span class="symbol"><A NAME="ref_1678_28" HREF="terminal_interface-curses__adb.htm#ref_1678_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1679_28" HREF="terminal_interface-curses__adb.htm#ref_1678_16">Line</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1680_28" HREF="terminal_interface-curses__adb.htm#ref_1678_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1681_28" HREF="terminal_interface-curses__adb.htm#ref_1678_16">Str</A></span> : char_array; - <span class="symbol"><A NAME="ref_1682_28" HREF="terminal_interface-curses__adb.htm#ref_1678_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1678_16">Mvwinsnstr</a></span> (<span class="symbol"><a name="ref_1678_28">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1679_28">Line</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1680_28">Column</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1681_28">Str</a></span> : char_array; + <span class="symbol"><a name="ref_1682_28">Len</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Mvwinsnstr, "mvwinsnstr"); - <span class="symbol"><A NAME="ref_1685_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1572_22">Str</A>'Length); - <span class="symbol"><A NAME="ref_1686_7">Length</A></span> : size_t; + <span class="symbol"><a name="ref_1685_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_1572_22">Str</a>'Length); + <span class="symbol"><a name="ref_1686_7">Length</a></span> : size_t; <b>begin</b> - To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1572_22">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1685_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1686_7">Length</A>); - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1678_16">Mvwinsnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1569_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1570_22">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1571_22">Column</A>), <A HREF="terminal_interface-curses__adb.htm#ref_1685_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1573_22">Len</A>)) - = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> + To_C (<a href="terminal_interface-curses__ads.htm#ref_1572_22">Str</a>, <a href="terminal_interface-curses__adb.htm#ref_1685_7">Txt</a>, <a href="terminal_interface-curses__adb.htm#ref_1686_7">Length</a>); + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1678_16">Mvwinsnstr</a> (<a href="terminal_interface-curses__ads.htm#ref_1569_22">Win</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1570_22">Line</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1571_22">Column</a>), <a href="terminal_interface-curses__adb.htm#ref_1685_7">Txt</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1573_22">Len</a>)) + = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1569_14">Insert</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1696_14" HREF="terminal_interface-curses__ads.htm#ref_1585_14">Peek</A></span> (<span class="symbol"><A NAME="ref_1696_20" HREF="terminal_interface-curses__ads.htm#ref_1585_20">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1697_20" HREF="terminal_interface-curses__ads.htm#ref_1586_20">Str</A></span> : <b>out</b> String; - <span class="symbol"><A NAME="ref_1698_20" HREF="terminal_interface-curses__ads.htm#ref_1587_20">Len</A></span> : Integer := -1) + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1569_14">Insert</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1696_14" href="terminal_interface-curses__ads.htm#ref_1585_14">Peek</a></span> (<span class="symbol"><a name="ref_1696_20" href="terminal_interface-curses__ads.htm#ref_1585_20">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1697_20" href="terminal_interface-curses__ads.htm#ref_1586_20">Str</a></span> : <b>out</b> String; + <span class="symbol"><a name="ref_1698_20" href="terminal_interface-curses__ads.htm#ref_1587_20">Len</a></span> : Integer := -1) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1700_16">Winnstr</A></span> (<span class="symbol"><A NAME="ref_1700_25" HREF="terminal_interface-curses__adb.htm#ref_1700_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1701_25" HREF="terminal_interface-curses__adb.htm#ref_1700_16">Str</A></span> : char_array; - <span class="symbol"><A NAME="ref_1702_25" HREF="terminal_interface-curses__adb.htm#ref_1700_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1700_16">Winnstr</a></span> (<span class="symbol"><a name="ref_1700_25">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1701_25">Str</a></span> : char_array; + <span class="symbol"><a name="ref_1702_25">Len</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Winnstr, "winnstr"); - <span class="symbol"><A NAME="ref_1705_7">N</A></span> : Integer := <A HREF="terminal_interface-curses__ads.htm#ref_1587_20">Len</A>; - <span class="symbol"><A NAME="ref_1706_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1586_20">Str</A>'Length); - <span class="symbol"><A NAME="ref_1707_7">Cnt</A></span> : Natural; + <span class="symbol"><a name="ref_1705_7">N</a></span> : Integer := <a href="terminal_interface-curses__ads.htm#ref_1587_20">Len</a>; + <span class="symbol"><a name="ref_1706_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_1586_20">Str</a>'Length); + <span class="symbol"><a name="ref_1707_7">Cnt</a></span> : Natural; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1705_7">N</A> < 0 <b>then</b> - <A HREF="terminal_interface-curses__adb.htm#ref_1705_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1586_20">Str</A>'Length; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1705_7">N</a> < 0 <b>then</b> + <a href="terminal_interface-curses__adb.htm#ref_1705_7">N</a> := <a href="terminal_interface-curses__ads.htm#ref_1586_20">Str</a>'Length; <b>end</b> <b>if</b>; - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1705_7">N</A> > <A HREF="terminal_interface-curses__ads.htm#ref_1586_20">Str</A>'Length <b>then</b> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1705_7">N</a> > <a href="terminal_interface-curses__ads.htm#ref_1586_20">Str</a>'Length <b>then</b> <b>raise</b> Constraint_Error; <b>end</b> <b>if</b>; - <A HREF="terminal_interface-curses__adb.htm#ref_1706_7">Txt</A> (0) := <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.char'First; - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1700_16">Winnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1706_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1705_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <a href="terminal_interface-curses__adb.htm#ref_1706_7">Txt</a> (0) := <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.char'First; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1700_16">Winnstr</a> (<a href="terminal_interface-curses__ads.htm#ref_1585_20">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_1706_7">Txt</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__adb.htm#ref_1705_7">N</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - To_Ada (<A HREF="terminal_interface-curses__adb.htm#ref_1706_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1586_20">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1707_7">Cnt</A>, True); - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1707_7">Cnt</A> < <A HREF="terminal_interface-curses__ads.htm#ref_1586_20">Str</A>'Length <b>then</b> - <A HREF="terminal_interface-curses__ads.htm#ref_1586_20">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#ref_1586_20">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#ref_1707_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#ref_1586_20">Str</A>'Last) := (<b>others</b> => ' '); + To_Ada (<a href="terminal_interface-curses__adb.htm#ref_1706_7">Txt</a>, <a href="terminal_interface-curses__ads.htm#ref_1586_20">Str</a>, <a href="terminal_interface-curses__adb.htm#ref_1707_7">Cnt</a>, True); + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1707_7">Cnt</a> < <a href="terminal_interface-curses__ads.htm#ref_1586_20">Str</a>'Length <b>then</b> + <a href="terminal_interface-curses__ads.htm#ref_1586_20">Str</a> ((<a href="terminal_interface-curses__ads.htm#ref_1586_20">Str</a>'First + <a href="terminal_interface-curses__adb.htm#ref_1707_7">Cnt</a>) .. <a href="terminal_interface-curses__ads.htm#ref_1586_20">Str</a>'Last) := (<b>others</b> => ' '); <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1585_14">Peek</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1585_14">Peek</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1725_14" HREF="terminal_interface-curses__ads.htm#ref_1594_14">Peek</A></span> - (<span class="symbol"><A NAME="ref_1726_7" HREF="terminal_interface-curses__ads.htm#ref_1594_20">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1727_7" HREF="terminal_interface-curses__ads.htm#ref_1595_20">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1728_7" HREF="terminal_interface-curses__ads.htm#ref_1596_20">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_1729_7" HREF="terminal_interface-curses__ads.htm#ref_1597_20">Str</A></span> : <b>out</b> String; - <span class="symbol"><A NAME="ref_1730_7" HREF="terminal_interface-curses__ads.htm#ref_1598_20">Len</A></span> : Integer := -1) + <b>procedure</b> <span class="symbol"><a name="ref_1725_14" href="terminal_interface-curses__ads.htm#ref_1594_14">Peek</a></span> + (<span class="symbol"><a name="ref_1726_7" href="terminal_interface-curses__ads.htm#ref_1594_20">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1727_7" href="terminal_interface-curses__ads.htm#ref_1595_20">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1728_7" href="terminal_interface-curses__ads.htm#ref_1596_20">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_1729_7" href="terminal_interface-curses__ads.htm#ref_1597_20">Str</a></span> : <b>out</b> String; + <span class="symbol"><a name="ref_1730_7" href="terminal_interface-curses__ads.htm#ref_1598_20">Len</a></span> : Integer := -1) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1594_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1595_20">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1596_20">Column</A>); - <A HREF="terminal_interface-curses__ads.htm#ref_1585_14">Peek</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1594_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1597_20">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1598_20">Len</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1594_14">Peek</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1737_14" HREF="terminal_interface-curses__ads.htm#ref_1609_14">Peek</A></span> - (<span class="symbol"><A NAME="ref_1738_7" HREF="terminal_interface-curses__ads.htm#ref_1609_20">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1739_7" HREF="terminal_interface-curses__ads.htm#ref_1610_20">Str</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Attributed_String</A>; - <span class="symbol"><A NAME="ref_1740_7" HREF="terminal_interface-curses__ads.htm#ref_1611_20">Len</A></span> : Integer := -1) + <a href="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</a> (<a href="terminal_interface-curses__ads.htm#ref_1594_20">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1595_20">Line</a>, <a href="terminal_interface-curses__ads.htm#ref_1596_20">Column</a>); + <a href="terminal_interface-curses__ads.htm#ref_1585_14">Peek</a> (<a href="terminal_interface-curses__ads.htm#ref_1594_20">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1597_20">Str</a>, <a href="terminal_interface-curses__ads.htm#ref_1598_20">Len</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1594_14">Peek</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1737_14" href="terminal_interface-curses__ads.htm#ref_1609_14">Peek</a></span> + (<span class="symbol"><a name="ref_1738_7" href="terminal_interface-curses__ads.htm#ref_1609_20">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1739_7" href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_510_4">Attributed_String</a>; + <span class="symbol"><a name="ref_1740_7" href="terminal_interface-curses__ads.htm#ref_1611_20">Len</a></span> : Integer := -1) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1742_16">Winchnstr</A></span> (<span class="symbol"><A NAME="ref_1742_27" HREF="terminal_interface-curses__adb.htm#ref_1742_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1743_27" HREF="terminal_interface-curses__adb.htm#ref_1742_16">Str</A></span> : chtype_array; <span class="comment"><EM>-- out</EM></span> - <span class="symbol"><A NAME="ref_1744_27" HREF="terminal_interface-curses__adb.htm#ref_1742_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1742_16">Winchnstr</a></span> (<span class="symbol"><a name="ref_1742_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1743_27">Str</a></span> : chtype_array; <span class="comment"><em>-- out</em></span> + <span class="symbol"><a name="ref_1744_27">Len</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Winchnstr, "winchnstr"); - <span class="symbol"><A NAME="ref_1747_7">N</A></span> : Integer := <A HREF="terminal_interface-curses__ads.htm#ref_1611_20">Len</A>; - <span class="symbol"><A NAME="ref_1748_7">Txt</A></span> : <b>constant</b> chtype_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1610_20">Str</A>'Length) - := (0 => <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</A>); - <span class="symbol"><A NAME="ref_1750_7">Cnt</A></span> : Natural := 0; + <span class="symbol"><a name="ref_1747_7">N</a></span> : Integer := <a href="terminal_interface-curses__ads.htm#ref_1611_20">Len</a>; + <span class="symbol"><a name="ref_1748_7">Txt</a></span> : <b>constant</b> chtype_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a>'Length) + := (0 => <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>); + <span class="symbol"><a name="ref_1750_7">Cnt</a></span> : Natural := 0; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1747_7">N</A> < 0 <b>then</b> - <A HREF="terminal_interface-curses__adb.htm#ref_1747_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1610_20">Str</A>'Length; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1747_7">N</a> < 0 <b>then</b> + <a href="terminal_interface-curses__adb.htm#ref_1747_7">N</a> := <a href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a>'Length; <b>end</b> <b>if</b>; - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1747_7">N</A> > <A HREF="terminal_interface-curses__ads.htm#ref_1610_20">Str</A>'Length <b>then</b> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1747_7">N</a> > <a href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a>'Length <b>then</b> <b>raise</b> Constraint_Error; <b>end</b> <b>if</b>; - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1742_16">Winchnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1748_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1747_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1742_16">Winchnstr</a> (<a href="terminal_interface-curses__ads.htm#ref_1609_20">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_1748_7">Txt</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__adb.htm#ref_1747_7">N</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>for</b> <span class="symbol"><A NAME="ref_1761_11">To</A></span> <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1610_20">Str</A>'<b>Range</b> <b>loop</b> - <b>exit</b> <b>when</b> <A HREF="terminal_interface-curses__adb.htm#ref_1748_7">Txt</A> (size_t (<A HREF="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</A>)) = <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</A>; - <A HREF="terminal_interface-curses__ads.htm#ref_1610_20">Str</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1761_11">To</A>) := <A HREF="terminal_interface-curses__adb.htm#ref_1748_7">Txt</A> (size_t (<A HREF="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</A>)); - <A HREF="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</A> + 1; + <b>for</b> <span class="symbol"><a name="ref_1761_11">To</a></span> <b>in</b> <a href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a>'<b>Range</b> <b>loop</b> + <b>exit</b> <b>when</b> <a href="terminal_interface-curses__adb.htm#ref_1748_7">Txt</a> (size_t (<a href="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</a>)) = <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>; + <a href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a> (<a href="terminal_interface-curses__adb.htm#ref_1761_11">To</a>) := <a href="terminal_interface-curses__adb.htm#ref_1748_7">Txt</a> (size_t (<a href="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</a>)); + <a href="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</a> := <a href="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</a> + 1; <b>end</b> <b>loop</b>; - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</A> < <A HREF="terminal_interface-curses__ads.htm#ref_1610_20">Str</A>'Length <b>then</b> - <A HREF="terminal_interface-curses__ads.htm#ref_1610_20">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#ref_1610_20">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#ref_1610_20">Str</A>'Last) := - (<b>others</b> => (<A HREF="terminal_interface-curses__ads.htm#ref_492_10">Ch</A> => ' ', - <A HREF="terminal_interface-curses__ads.htm#ref_491_10">Color</A> => <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'First, - <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A> => <A HREF="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</A>)); - <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1609_14">Peek</A>; - - <b>procedure</b> <span class="symbol"><A NAME="ref_1774_14" HREF="terminal_interface-curses__ads.htm#ref_1618_14">Peek</A></span> - (<span class="symbol"><A NAME="ref_1775_7" HREF="terminal_interface-curses__ads.htm#ref_1618_20">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1776_7" HREF="terminal_interface-curses__ads.htm#ref_1619_20">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1777_7" HREF="terminal_interface-curses__ads.htm#ref_1620_20">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_1778_7" HREF="terminal_interface-curses__ads.htm#ref_1621_20">Str</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Attributed_String</A>; - <span class="symbol"><A NAME="ref_1779_7" HREF="terminal_interface-curses__ads.htm#ref_1622_20">Len</A></span> : Integer := -1) - <b>is</b> - <b>begin</b> - <A HREF="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1618_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1619_20">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1620_20">Column</A>); - <A HREF="terminal_interface-curses__ads.htm#ref_1609_14">Peek</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1618_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1621_20">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1622_20">Len</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1618_14">Peek</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1786_14" HREF="terminal_interface-curses__ads.htm#ref_1634_14">Get</A></span> (<span class="symbol"><A NAME="ref_1786_19" HREF="terminal_interface-curses__ads.htm#ref_1634_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1787_19" HREF="terminal_interface-curses__ads.htm#ref_1635_19">Str</A></span> : <b>out</b> String; - <span class="symbol"><A NAME="ref_1788_19" HREF="terminal_interface-curses__ads.htm#ref_1636_19">Len</A></span> : Integer := -1) - <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1790_16">Wgetnstr</A></span> (<span class="symbol"><A NAME="ref_1790_26" HREF="terminal_interface-curses__adb.htm#ref_1790_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1791_26" HREF="terminal_interface-curses__adb.htm#ref_1790_16">Str</A></span> : char_array; - <span class="symbol"><A NAME="ref_1792_26" HREF="terminal_interface-curses__adb.htm#ref_1790_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</a> < <a href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a>'Length <b>then</b> + <a href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a> ((<a href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a>'First + <a href="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</a>) .. <a href="terminal_interface-curses__ads.htm#ref_1610_20">Str</a>'Last) := + (<b>others</b> => (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => ' ', + <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First, + <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>)); + <b>end</b> <b>if</b>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1609_14">Peek</a>; + + <b>procedure</b> <span class="symbol"><a name="ref_1774_14" href="terminal_interface-curses__ads.htm#ref_1618_14">Peek</a></span> + (<span class="symbol"><a name="ref_1775_7" href="terminal_interface-curses__ads.htm#ref_1618_20">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1776_7" href="terminal_interface-curses__ads.htm#ref_1619_20">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1777_7" href="terminal_interface-curses__ads.htm#ref_1620_20">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_1778_7" href="terminal_interface-curses__ads.htm#ref_1621_20">Str</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_510_4">Attributed_String</a>; + <span class="symbol"><a name="ref_1779_7" href="terminal_interface-curses__ads.htm#ref_1622_20">Len</a></span> : Integer := -1) + <b>is</b> + <b>begin</b> + <a href="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</a> (<a href="terminal_interface-curses__ads.htm#ref_1618_20">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1619_20">Line</a>, <a href="terminal_interface-curses__ads.htm#ref_1620_20">Column</a>); + <a href="terminal_interface-curses__ads.htm#ref_1609_14">Peek</a> (<a href="terminal_interface-curses__ads.htm#ref_1618_20">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1621_20">Str</a>, <a href="terminal_interface-curses__ads.htm#ref_1622_20">Len</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1618_14">Peek</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1786_14" href="terminal_interface-curses__ads.htm#ref_1634_14">Get</a></span> (<span class="symbol"><a name="ref_1786_19" href="terminal_interface-curses__ads.htm#ref_1634_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1787_19" href="terminal_interface-curses__ads.htm#ref_1635_19">Str</a></span> : <b>out</b> String; + <span class="symbol"><a name="ref_1788_19" href="terminal_interface-curses__ads.htm#ref_1636_19">Len</a></span> : Integer := -1) + <b>is</b> + <b>function</b> <span class="symbol"><a name="ref_1790_16">Wgetnstr</a></span> (<span class="symbol"><a name="ref_1790_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1791_26">Str</a></span> : char_array; + <span class="symbol"><a name="ref_1792_26">Len</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Wgetnstr, "wgetnstr"); - <span class="symbol"><A NAME="ref_1795_7">N</A></span> : Integer := <A HREF="terminal_interface-curses__ads.htm#ref_1636_19">Len</A>; - <span class="symbol"><A NAME="ref_1796_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1635_19">Str</A>'Length); - <span class="symbol"><A NAME="ref_1797_7">Cnt</A></span> : Natural; + <span class="symbol"><a name="ref_1795_7">N</a></span> : Integer := <a href="terminal_interface-curses__ads.htm#ref_1636_19">Len</a>; + <span class="symbol"><a name="ref_1796_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_1635_19">Str</a>'Length); + <span class="symbol"><a name="ref_1797_7">Cnt</a></span> : Natural; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1795_7">N</A> < 0 <b>then</b> - <A HREF="terminal_interface-curses__adb.htm#ref_1795_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1635_19">Str</A>'Length; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1795_7">N</a> < 0 <b>then</b> + <a href="terminal_interface-curses__adb.htm#ref_1795_7">N</a> := <a href="terminal_interface-curses__ads.htm#ref_1635_19">Str</a>'Length; <b>end</b> <b>if</b>; - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1795_7">N</A> > <A HREF="terminal_interface-curses__ads.htm#ref_1635_19">Str</A>'Length <b>then</b> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1795_7">N</a> > <a href="terminal_interface-curses__ads.htm#ref_1635_19">Str</a>'Length <b>then</b> <b>raise</b> Constraint_Error; <b>end</b> <b>if</b>; - <A HREF="terminal_interface-curses__adb.htm#ref_1796_7">Txt</A> (0) := <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.char'First; - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1790_16">Wgetnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1796_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1795_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <a href="terminal_interface-curses__adb.htm#ref_1796_7">Txt</a> (0) := <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.char'First; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1790_16">Wgetnstr</a> (<a href="terminal_interface-curses__ads.htm#ref_1634_19">Win</a>, <a href="terminal_interface-curses__adb.htm#ref_1796_7">Txt</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__adb.htm#ref_1795_7">N</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - To_Ada (<A HREF="terminal_interface-curses__adb.htm#ref_1796_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1635_19">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1797_7">Cnt</A>, True); - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1797_7">Cnt</A> < <A HREF="terminal_interface-curses__ads.htm#ref_1635_19">Str</A>'Length <b>then</b> - <A HREF="terminal_interface-curses__ads.htm#ref_1635_19">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#ref_1635_19">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#ref_1797_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#ref_1635_19">Str</A>'Last) := (<b>others</b> => ' '); + To_Ada (<a href="terminal_interface-curses__adb.htm#ref_1796_7">Txt</a>, <a href="terminal_interface-curses__ads.htm#ref_1635_19">Str</a>, <a href="terminal_interface-curses__adb.htm#ref_1797_7">Cnt</a>, True); + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1797_7">Cnt</a> < <a href="terminal_interface-curses__ads.htm#ref_1635_19">Str</a>'Length <b>then</b> + <a href="terminal_interface-curses__ads.htm#ref_1635_19">Str</a> ((<a href="terminal_interface-curses__ads.htm#ref_1635_19">Str</a>'First + <a href="terminal_interface-curses__adb.htm#ref_1797_7">Cnt</a>) .. <a href="terminal_interface-curses__ads.htm#ref_1635_19">Str</a>'Last) := (<b>others</b> => ' '); <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1634_14">Get</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1634_14">Get</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1815_14" HREF="terminal_interface-curses__ads.htm#ref_1645_14">Get</A></span> - (<span class="symbol"><A NAME="ref_1816_7" HREF="terminal_interface-curses__ads.htm#ref_1645_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1817_7" HREF="terminal_interface-curses__ads.htm#ref_1646_19">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1818_7" HREF="terminal_interface-curses__ads.htm#ref_1647_19">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_1819_7" HREF="terminal_interface-curses__ads.htm#ref_1648_19">Str</A></span> : <b>out</b> String; - <span class="symbol"><A NAME="ref_1820_7" HREF="terminal_interface-curses__ads.htm#ref_1649_19">Len</A></span> : Integer := -1) + <b>procedure</b> <span class="symbol"><a name="ref_1815_14" href="terminal_interface-curses__ads.htm#ref_1645_14">Get</a></span> + (<span class="symbol"><a name="ref_1816_7" href="terminal_interface-curses__ads.htm#ref_1645_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1817_7" href="terminal_interface-curses__ads.htm#ref_1646_19">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1818_7" href="terminal_interface-curses__ads.htm#ref_1647_19">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_1819_7" href="terminal_interface-curses__ads.htm#ref_1648_19">Str</a></span> : <b>out</b> String; + <span class="symbol"><a name="ref_1820_7" href="terminal_interface-curses__ads.htm#ref_1649_19">Len</a></span> : Integer := -1) <b>is</b> <b>begin</b> - <A HREF="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1645_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1646_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1647_19">Column</A>); - <A HREF="terminal_interface-curses__ads.htm#ref_1634_14">Get</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1645_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1648_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1649_19">Len</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1645_14">Get</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1827_14" HREF="terminal_interface-curses__ads.htm#ref_1670_14">Init_Soft_Label_Keys</A></span> - (<span class="symbol"><A NAME="ref_1828_7" HREF="terminal_interface-curses__ads.htm#ref_1671_7">Format</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1662_9">Soft_Label_Key_Format</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1662_35">Three_Two_Three</A>) + <a href="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</a> (<a href="terminal_interface-curses__ads.htm#ref_1645_19">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1646_19">Line</a>, <a href="terminal_interface-curses__ads.htm#ref_1647_19">Column</a>); + <a href="terminal_interface-curses__ads.htm#ref_1634_14">Get</a> (<a href="terminal_interface-curses__ads.htm#ref_1645_19">Win</a>, <a href="terminal_interface-curses__ads.htm#ref_1648_19">Str</a>, <a href="terminal_interface-curses__ads.htm#ref_1649_19">Len</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1645_14">Get</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1827_14" href="terminal_interface-curses__ads.htm#ref_1670_14">Init_Soft_Label_Keys</a></span> + (<span class="symbol"><a name="ref_1828_7" href="terminal_interface-curses__ads.htm#ref_1671_7">Format</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1662_9">Soft_Label_Key_Format</a> := <a href="terminal_interface-curses__ads.htm#ref_1662_35">Three_Two_Three</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1830_16">Slk_Init</A></span> (<span class="symbol"><A NAME="ref_1830_26" HREF="terminal_interface-curses__adb.htm#ref_1830_16">Fmt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1830_16">Slk_Init</a></span> (<span class="symbol"><a name="ref_1830_26">Fmt</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Slk_Init, "slk_init"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1830_16">Slk_Init</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1662_9">Soft_Label_Key_Format</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1671_7">Format</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1830_16">Slk_Init</a> (<a href="terminal_interface-curses__ads.htm#ref_1662_9">Soft_Label_Key_Format</a>'Pos (<a href="terminal_interface-curses__ads.htm#ref_1671_7">Format</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1670_14">Init_Soft_Label_Keys</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1670_14">Init_Soft_Label_Keys</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1838_14" HREF="terminal_interface-curses__ads.htm#ref_1676_14">Set_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1838_34" HREF="terminal_interface-curses__ads.htm#ref_1676_34">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1666_9">Label_Number</A>; - <span class="symbol"><A NAME="ref_1839_34" HREF="terminal_interface-curses__ads.htm#ref_1677_34">Text</A></span> : String; - <span class="symbol"><A NAME="ref_1840_34" HREF="terminal_interface-curses__ads.htm#ref_1678_34">Fmt</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1667_9">Label_Justification</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1667_33">Left</A>) + <b>procedure</b> <span class="symbol"><a name="ref_1838_14" href="terminal_interface-curses__ads.htm#ref_1676_14">Set_Soft_Label_Key</a></span> (<span class="symbol"><a name="ref_1838_34" href="terminal_interface-curses__ads.htm#ref_1676_34">Label</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1666_9">Label_Number</a>; + <span class="symbol"><a name="ref_1839_34" href="terminal_interface-curses__ads.htm#ref_1677_34">Text</a></span> : String; + <span class="symbol"><a name="ref_1840_34" href="terminal_interface-curses__ads.htm#ref_1678_34">Fmt</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1667_9">Label_Justification</a> := <a href="terminal_interface-curses__ads.htm#ref_1667_33">Left</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1842_16">Slk_Set</A></span> (<span class="symbol"><A NAME="ref_1842_25" HREF="terminal_interface-curses__adb.htm#ref_1842_16">Label</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1843_25" HREF="terminal_interface-curses__adb.htm#ref_1842_16">Txt</A></span> : char_array; - <span class="symbol"><A NAME="ref_1844_25" HREF="terminal_interface-curses__adb.htm#ref_1842_16">Fmt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1842_16">Slk_Set</a></span> (<span class="symbol"><a name="ref_1842_25">Label</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1843_25">Txt</a></span> : char_array; + <span class="symbol"><a name="ref_1844_25">Fmt</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Slk_Set, "slk_set"); - <span class="symbol"><A NAME="ref_1847_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1677_34">Text</A>'Length); - <span class="symbol"><A NAME="ref_1848_7">Len</A></span> : size_t; + <span class="symbol"><a name="ref_1847_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_1677_34">Text</a>'Length); + <span class="symbol"><a name="ref_1848_7">Len</a></span> : size_t; <b>begin</b> - To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1677_34">Text</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1847_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1848_7">Len</A>); - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1842_16">Slk_Set</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1676_34">Label</A>), <A HREF="terminal_interface-curses__adb.htm#ref_1847_7">Txt</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1667_9">Label_Justification</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1678_34">Fmt</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> + To_C (<a href="terminal_interface-curses__ads.htm#ref_1677_34">Text</a>, <a href="terminal_interface-curses__adb.htm#ref_1847_7">Txt</a>, <a href="terminal_interface-curses__adb.htm#ref_1848_7">Len</a>); + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1842_16">Slk_Set</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1676_34">Label</a>), <a href="terminal_interface-curses__adb.htm#ref_1847_7">Txt</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1667_9">Label_Justification</a>'Pos (<a href="terminal_interface-curses__ads.htm#ref_1678_34">Fmt</a>))) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1676_14">Set_Soft_Label_Key</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1676_14">Set_Soft_Label_Key</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1858_14" HREF="terminal_interface-curses__ads.htm#ref_1683_14">Refresh_Soft_Label_Keys</A></span> + <b>procedure</b> <span class="symbol"><a name="ref_1858_14" href="terminal_interface-curses__ads.htm#ref_1683_14">Refresh_Soft_Label_Keys</a></span> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1860_16">Slk_Refresh</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1860_16">Slk_Refresh</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Slk_Refresh, "slk_refresh"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1860_16">Slk_Refresh</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1860_16">Slk_Refresh</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1683_14">Refresh_Soft_Label_Keys</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1683_14">Refresh_Soft_Label_Keys</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1868_14" HREF="terminal_interface-curses__ads.htm#ref_1688_14">Refresh_Soft_Label_Keys_Without_Update</A></span> + <b>procedure</b> <span class="symbol"><a name="ref_1868_14" href="terminal_interface-curses__ads.htm#ref_1688_14">Refresh_Soft_Label_Keys_Without_Update</a></span> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1870_16">Slk_Noutrefresh</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1870_16">Slk_Noutrefresh</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Slk_Noutrefresh, "slk_noutrefresh"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1870_16">Slk_Noutrefresh</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1870_16">Slk_Noutrefresh</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1688_14">Refresh_Soft_Label_Keys_Without_Update</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1688_14">Refresh_Soft_Label_Keys_Without_Update</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1878_14" HREF="terminal_interface-curses__ads.htm#ref_1693_14">Get_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1878_34" HREF="terminal_interface-curses__ads.htm#ref_1693_34">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1666_9">Label_Number</A>; - <span class="symbol"><A NAME="ref_1879_34" HREF="terminal_interface-curses__ads.htm#ref_1694_34">Text</A></span> : <b>out</b> String) + <b>procedure</b> <span class="symbol"><a name="ref_1878_14" href="terminal_interface-curses__ads.htm#ref_1693_14">Get_Soft_Label_Key</a></span> (<span class="symbol"><a name="ref_1878_34" href="terminal_interface-curses__ads.htm#ref_1693_34">Label</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1666_9">Label_Number</a>; + <span class="symbol"><a name="ref_1879_34" href="terminal_interface-curses__ads.htm#ref_1694_34">Text</a></span> : <b>out</b> String) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1881_16">Slk_Label</A></span> (<span class="symbol"><A NAME="ref_1881_27" HREF="terminal_interface-curses__adb.htm#ref_1881_16">Label</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> chars_ptr; + <b>function</b> <span class="symbol"><a name="ref_1881_16">Slk_Label</a></span> (<span class="symbol"><a name="ref_1881_27">Label</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> chars_ptr; <b>pragma</b> Import (C, Slk_Label, "slk_label"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1881_16">Slk_Label</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1693_34">Label</A>)), <A HREF="terminal_interface-curses__ads.htm#ref_1694_34">Text</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1693_14">Get_Soft_Label_Key</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_1881_16">Slk_Label</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1693_34">Label</a>)), <a href="terminal_interface-curses__ads.htm#ref_1694_34">Text</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1693_14">Get_Soft_Label_Key</a>; - <b>function</b> <span class="symbol"><A NAME="ref_1887_13" HREF="terminal_interface-curses__ads.htm#ref_1698_13">Get_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1887_33" HREF="terminal_interface-curses__ads.htm#ref_1698_33">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1666_9">Label_Number</A>) <b>return</b> String + <b>function</b> <span class="symbol"><a name="ref_1887_13" href="terminal_interface-curses__ads.htm#ref_1698_13">Get_Soft_Label_Key</a></span> (<span class="symbol"><a name="ref_1887_33" href="terminal_interface-curses__ads.htm#ref_1698_33">Label</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1666_9">Label_Number</a>) <b>return</b> String <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1889_16">Slk_Label</A></span> (<span class="symbol"><A NAME="ref_1889_27" HREF="terminal_interface-curses__adb.htm#ref_1889_16">Label</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> chars_ptr; + <b>function</b> <span class="symbol"><a name="ref_1889_16">Slk_Label</a></span> (<span class="symbol"><a name="ref_1889_27">Label</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> chars_ptr; <b>pragma</b> Import (C, Slk_Label, "slk_label"); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1889_16">Slk_Label</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1698_33">Label</A>))); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1698_13">Get_Soft_Label_Key</A>; + <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_1889_16">Slk_Label</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1698_33">Label</a>))); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1698_13">Get_Soft_Label_Key</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1895_14" HREF="terminal_interface-curses__ads.htm#ref_1704_14">Clear_Soft_Label_Keys</A></span> + <b>procedure</b> <span class="symbol"><a name="ref_1895_14" href="terminal_interface-curses__ads.htm#ref_1704_14">Clear_Soft_Label_Keys</a></span> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1897_16">Slk_Clear</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1897_16">Slk_Clear</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Slk_Clear, "slk_clear"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1897_16">Slk_Clear</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1897_16">Slk_Clear</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1704_14">Clear_Soft_Label_Keys</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1704_14">Clear_Soft_Label_Keys</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1905_14" HREF="terminal_interface-curses__ads.htm#ref_1709_14">Restore_Soft_Label_Keys</A></span> + <b>procedure</b> <span class="symbol"><a name="ref_1905_14" href="terminal_interface-curses__ads.htm#ref_1709_14">Restore_Soft_Label_Keys</a></span> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1907_16">Slk_Restore</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1907_16">Slk_Restore</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Slk_Restore, "slk_restore"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1907_16">Slk_Restore</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1907_16">Slk_Restore</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1709_14">Restore_Soft_Label_Keys</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1709_14">Restore_Soft_Label_Keys</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1915_14" HREF="terminal_interface-curses__ads.htm#ref_1714_14">Touch_Soft_Label_Keys</A></span> + <b>procedure</b> <span class="symbol"><a name="ref_1915_14" href="terminal_interface-curses__ads.htm#ref_1714_14">Touch_Soft_Label_Keys</a></span> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1917_16">Slk_Touch</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1917_16">Slk_Touch</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Slk_Touch, "slk_touch"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1917_16">Slk_Touch</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1917_16">Slk_Touch</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1714_14">Touch_Soft_Label_Keys</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1714_14">Touch_Soft_Label_Keys</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1925_14" HREF="terminal_interface-curses__ads.htm#ref_1719_14">Switch_Soft_Label_Key_Attributes</A></span> - (<span class="symbol"><A NAME="ref_1926_7" HREF="terminal_interface-curses__ads.htm#ref_1720_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A>; - <span class="symbol"><A NAME="ref_1927_7" HREF="terminal_interface-curses__ads.htm#ref_1721_7">On</A></span> : Boolean := True) + <b>procedure</b> <span class="symbol"><a name="ref_1925_14" href="terminal_interface-curses__ads.htm#ref_1719_14">Switch_Soft_Label_Key_Attributes</a></span> + (<span class="symbol"><a name="ref_1926_7" href="terminal_interface-curses__ads.htm#ref_1720_7">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>; + <span class="symbol"><a name="ref_1927_7" href="terminal_interface-curses__ads.htm#ref_1721_7">On</a></span> : Boolean := True) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1929_16">Slk_Attron</A></span> (<span class="symbol"><A NAME="ref_1929_28" HREF="terminal_interface-curses__adb.htm#ref_1929_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1929_16">Slk_Attron</a></span> (<span class="symbol"><a name="ref_1929_28">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Slk_Attron, "slk_attron"); - <b>function</b> <span class="symbol"><A NAME="ref_1931_16">Slk_Attroff</A></span> (<span class="symbol"><A NAME="ref_1931_29" HREF="terminal_interface-curses__adb.htm#ref_1931_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1931_16">Slk_Attroff</a></span> (<span class="symbol"><a name="ref_1931_29">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Slk_Attroff, "slk_attroff"); - <span class="symbol"><A NAME="ref_1934_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_1935_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_492_10">Ch</A> => Character'First, - <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A> => <A HREF="terminal_interface-curses__ads.htm#ref_1720_7">Attr</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_491_10">Color</A> => <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'First); + <span class="symbol"><a name="ref_1934_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_1935_7">Ch</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => Character'First, + <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses__ads.htm#ref_1720_7">Attr</a>, + <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1721_7">On</A> <b>then</b> - <A HREF="terminal_interface-curses__adb.htm#ref_1934_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1929_16">Slk_Attron</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1935_7">Ch</A>); + <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1721_7">On</a> <b>then</b> + <a href="terminal_interface-curses__adb.htm#ref_1934_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_1929_16">Slk_Attron</a> (<a href="terminal_interface-curses__adb.htm#ref_1935_7">Ch</a>); <b>else</b> - <A HREF="terminal_interface-curses__adb.htm#ref_1934_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1931_16">Slk_Attroff</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1935_7">Ch</A>); + <a href="terminal_interface-curses__adb.htm#ref_1934_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_1931_16">Slk_Attroff</a> (<a href="terminal_interface-curses__adb.htm#ref_1935_7">Ch</a>); <b>end</b> <b>if</b>; - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1934_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1934_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1719_14">Switch_Soft_Label_Key_Attributes</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1719_14">Switch_Soft_Label_Key_Attributes</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1949_14" HREF="terminal_interface-curses__ads.htm#ref_1727_14">Set_Soft_Label_Key_Attributes</A></span> - (<span class="symbol"><A NAME="ref_1950_7" HREF="terminal_interface-curses__ads.htm#ref_1728_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</A>; - <span class="symbol"><A NAME="ref_1951_7" HREF="terminal_interface-curses__ads.htm#ref_1729_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'First) + <b>procedure</b> <span class="symbol"><a name="ref_1949_14" href="terminal_interface-curses__ads.htm#ref_1727_14">Set_Soft_Label_Key_Attributes</a></span> + (<span class="symbol"><a name="ref_1950_7" href="terminal_interface-curses__ads.htm#ref_1728_7">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>; + <span class="symbol"><a name="ref_1951_7" href="terminal_interface-curses__ads.htm#ref_1729_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1953_16">Slk_Attrset</A></span> (<span class="symbol"><A NAME="ref_1953_29" HREF="terminal_interface-curses__adb.htm#ref_1953_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1953_16">Slk_Attrset</a></span> (<span class="symbol"><a name="ref_1953_29">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Slk_Attrset, "slk_attrset"); - <span class="symbol"><A NAME="ref_1956_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_492_10">Ch</A> => Character'First, - <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A> => <A HREF="terminal_interface-curses__ads.htm#ref_1728_7">Attr</A>, - <A HREF="terminal_interface-curses__ads.htm#ref_491_10">Color</A> => <A HREF="terminal_interface-curses__ads.htm#ref_1729_7">Color</A>); + <span class="symbol"><a name="ref_1956_7">Ch</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => Character'First, + <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => <a href="terminal_interface-curses__ads.htm#ref_1728_7">Attr</a>, + <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses__ads.htm#ref_1729_7">Color</a>); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1953_16">Slk_Attrset</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1956_7">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1953_16">Slk_Attrset</a> (<a href="terminal_interface-curses__adb.htm#ref_1956_7">Ch</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1727_14">Set_Soft_Label_Key_Attributes</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1727_14">Set_Soft_Label_Key_Attributes</a>; - <b>function</b> <span class="symbol"><A NAME="ref_1965_13" HREF="terminal_interface-curses__ads.htm#ref_1734_13">Get_Soft_Label_Key_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A> + <b>function</b> <span class="symbol"><a name="ref_1965_13" href="terminal_interface-curses__ads.htm#ref_1734_13">Get_Soft_Label_Key_Attributes</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1967_16">Slk_Attr</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; + <b>function</b> <span class="symbol"><a name="ref_1967_16">Slk_Attr</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; <b>pragma</b> Import (C, Slk_Attr, "slk_attr"); - <span class="symbol"><A NAME="ref_1970_7">Attr</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1967_16">Slk_Attr</A>; + <span class="symbol"><a name="ref_1970_7">Attr</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__adb.htm#ref_1967_16">Slk_Attr</a>; <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1970_7">Attr</A>.<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1734_13">Get_Soft_Label_Key_Attributes</A>; + <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_1970_7">Attr</a>.<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1734_13">Get_Soft_Label_Key_Attributes</a>; - <b>function</b> <span class="symbol"><A NAME="ref_1975_13" HREF="terminal_interface-curses__ads.htm#ref_1738_13">Get_Soft_Label_Key_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A> + <b>function</b> <span class="symbol"><a name="ref_1975_13" href="terminal_interface-curses__ads.htm#ref_1738_13">Get_Soft_Label_Key_Attributes</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1977_16">Slk_Attr</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; + <b>function</b> <span class="symbol"><a name="ref_1977_16">Slk_Attr</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; <b>pragma</b> Import (C, Slk_Attr, "slk_attr"); - <span class="symbol"><A NAME="ref_1980_7">Attr</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1977_16">Slk_Attr</A>; + <span class="symbol"><a name="ref_1980_7">Attr</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__adb.htm#ref_1977_16">Slk_Attr</a>; <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1980_7">Attr</A>.<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Color</A>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1738_13">Get_Soft_Label_Key_Attributes</A>; + <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_1980_7">Attr</a>.<a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1738_13">Get_Soft_Label_Key_Attributes</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_1985_14" HREF="terminal_interface-curses__ads.htm#ref_1743_14">Set_Soft_Label_Key_Color</A></span> (<span class="symbol"><A NAME="ref_1985_40" HREF="terminal_interface-curses__ads.htm#ref_1743_40">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>) + <b>procedure</b> <span class="symbol"><a name="ref_1985_14" href="terminal_interface-curses__ads.htm#ref_1743_14">Set_Soft_Label_Key_Color</a></span> (<span class="symbol"><a name="ref_1985_40" href="terminal_interface-curses__ads.htm#ref_1743_40">Pair</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1987_16">Slk_Color</A></span> (<span class="symbol"><A NAME="ref_1987_27" HREF="terminal_interface-curses__adb.htm#ref_1987_16">Color</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1987_16">Slk_Color</a></span> (<span class="symbol"><a name="ref_1987_27">Color</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Slk_Color, "slk_color"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1987_16">Slk_Color</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1743_40">Pair</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1987_16">Slk_Color</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1743_40">Pair</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1743_14">Set_Soft_Label_Key_Color</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1743_14">Set_Soft_Label_Key_Color</a>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1996_14" HREF="terminal_interface-curses__ads.htm#ref_1757_14">Enable_Key</A></span> (<span class="symbol"><A NAME="ref_1996_26" HREF="terminal_interface-curses__ads.htm#ref_1757_26">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A>; - <span class="symbol"><A NAME="ref_1997_26" HREF="terminal_interface-curses__ads.htm#ref_1758_26">Enable</A></span> : Boolean := True) +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1996_14" href="terminal_interface-curses__ads.htm#ref_1757_14">Enable_Key</a></span> (<span class="symbol"><a name="ref_1996_26" href="terminal_interface-curses__ads.htm#ref_1757_26">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>; + <span class="symbol"><a name="ref_1997_26" href="terminal_interface-curses__ads.htm#ref_1758_26">Enable</a></span> : Boolean := True) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_1999_16">Keyok</A></span> (<span class="symbol"><A NAME="ref_1999_23" HREF="terminal_interface-curses__adb.htm#ref_1999_16">Keycode</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_2000_23" HREF="terminal_interface-curses__adb.htm#ref_1999_16">On_Off</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_1999_16">Keyok</a></span> (<span class="symbol"><a name="ref_1999_23">Keycode</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_2000_23">On_Off</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Keyok, "keyok"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1999_16">Keyok</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1757_26">Key</A>), <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1758_26">Enable</A>))) - = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_1999_16">Keyok</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1757_26">Key</a>), <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_1758_26">Enable</a>))) + = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1757_14">Enable_Key</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_2010_14" HREF="terminal_interface-curses__ads.htm#ref_1767_14">Define_Key</A></span> (<span class="symbol"><A NAME="ref_2010_26" HREF="terminal_interface-curses__ads.htm#ref_1767_26">Definition</A></span> : String; - <span class="symbol"><A NAME="ref_2011_26" HREF="terminal_interface-curses__ads.htm#ref_1768_26">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A>) + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1757_14">Enable_Key</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_2010_14" href="terminal_interface-curses__ads.htm#ref_1767_14">Define_Key</a></span> (<span class="symbol"><a name="ref_2010_26" href="terminal_interface-curses__ads.htm#ref_1767_26">Definition</a></span> : String; + <span class="symbol"><a name="ref_2011_26" href="terminal_interface-curses__ads.htm#ref_1768_26">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2013_16">Defkey</A></span> (<span class="symbol"><A NAME="ref_2013_24" HREF="terminal_interface-curses__adb.htm#ref_2013_16">Def</A></span> : char_array; - <span class="symbol"><A NAME="ref_2014_24" HREF="terminal_interface-curses__adb.htm#ref_2013_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_2013_16">Defkey</a></span> (<span class="symbol"><a name="ref_2013_24">Def</a></span> : char_array; + <span class="symbol"><a name="ref_2014_24">Key</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Defkey, "define_key"); - <span class="symbol"><A NAME="ref_2017_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1767_26">Definition</A>'Length); - <span class="symbol"><A NAME="ref_2018_7">Length</A></span> : size_t; + <span class="symbol"><a name="ref_2017_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_1767_26">Definition</a>'Length); + <span class="symbol"><a name="ref_2018_7">Length</a></span> : size_t; <b>begin</b> - To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1767_26">Definition</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2017_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2018_7">Length</A>); - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2013_16">Defkey</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2017_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1768_26">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + To_C (<a href="terminal_interface-curses__ads.htm#ref_1767_26">Definition</a>, <a href="terminal_interface-curses__adb.htm#ref_2017_7">Txt</a>, <a href="terminal_interface-curses__adb.htm#ref_2018_7">Length</a>); + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2013_16">Defkey</a> (<a href="terminal_interface-curses__adb.htm#ref_2017_7">Txt</a>, <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1768_26">Key</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1767_14">Define_Key</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_2026_14" HREF="terminal_interface-curses__ads.htm#ref_1793_14">Un_Control</A></span> (<span class="symbol"><A NAME="ref_2026_26" HREF="terminal_interface-curses__ads.htm#ref_1793_26">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; - <span class="symbol"><A NAME="ref_2027_26" HREF="terminal_interface-curses__ads.htm#ref_1794_26">Str</A></span> : <b>out</b> String) + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1767_14">Define_Key</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_2026_14" href="terminal_interface-curses__ads.htm#ref_1793_14">Un_Control</a></span> (<span class="symbol"><a name="ref_2026_26" href="terminal_interface-curses__ads.htm#ref_1793_26">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; + <span class="symbol"><a name="ref_2027_26" href="terminal_interface-curses__ads.htm#ref_1794_26">Str</a></span> : <b>out</b> String) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2029_16">Unctrl</A></span> (<span class="symbol"><A NAME="ref_2029_24" HREF="terminal_interface-curses__adb.htm#ref_2029_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) <b>return</b> chars_ptr; + <b>function</b> <span class="symbol"><a name="ref_2029_16">Unctrl</a></span> (<span class="symbol"><a name="ref_2029_24">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> chars_ptr; <b>pragma</b> Import (C, Unctrl, "unctrl"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2029_16">Unctrl</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1793_26">Ch</A>), <A HREF="terminal_interface-curses__ads.htm#ref_1794_26">Str</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1793_14">Un_Control</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_2029_16">Unctrl</a> (<a href="terminal_interface-curses__ads.htm#ref_1793_26">Ch</a>), <a href="terminal_interface-curses__ads.htm#ref_1794_26">Str</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1793_14">Un_Control</a>; - <b>function</b> <span class="symbol"><A NAME="ref_2035_13" HREF="terminal_interface-curses__ads.htm#ref_1798_13">Un_Control</A></span> (<span class="symbol"><A NAME="ref_2035_25" HREF="terminal_interface-curses__ads.htm#ref_1798_25">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) <b>return</b> String + <b>function</b> <span class="symbol"><a name="ref_2035_13" href="terminal_interface-curses__ads.htm#ref_1798_13">Un_Control</a></span> (<span class="symbol"><a name="ref_2035_25" href="terminal_interface-curses__ads.htm#ref_1798_25">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> String <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2037_16">Unctrl</A></span> (<span class="symbol"><A NAME="ref_2037_24" HREF="terminal_interface-curses__adb.htm#ref_2037_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) <b>return</b> chars_ptr; + <b>function</b> <span class="symbol"><a name="ref_2037_16">Unctrl</a></span> (<span class="symbol"><a name="ref_2037_24">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> chars_ptr; <b>pragma</b> Import (C, Unctrl, "unctrl"); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2037_16">Unctrl</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1798_25">Ch</A>)); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1798_13">Un_Control</A>; + <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_2037_16">Unctrl</a> (<a href="terminal_interface-curses__ads.htm#ref_1798_25">Ch</a>)); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1798_13">Un_Control</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_2043_14" HREF="terminal_interface-curses__ads.htm#ref_1804_14">Delay_Output</A></span> (<span class="symbol"><A NAME="ref_2043_28" HREF="terminal_interface-curses__ads.htm#ref_1804_28">Msecs</A></span> : Natural) + <b>procedure</b> <span class="symbol"><a name="ref_2043_14" href="terminal_interface-curses__ads.htm#ref_1804_14">Delay_Output</a></span> (<span class="symbol"><a name="ref_2043_28" href="terminal_interface-curses__ads.htm#ref_1804_28">Msecs</a></span> : Natural) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2045_16">Delayoutput</A></span> (<span class="symbol"><A NAME="ref_2045_29" HREF="terminal_interface-curses__adb.htm#ref_2045_16">Msecs</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_2045_16">Delayoutput</a></span> (<span class="symbol"><a name="ref_2045_29">Msecs</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Delayoutput, "delay_output"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2045_16">Delayoutput</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1804_28">Msecs</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2045_16">Delayoutput</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1804_28">Msecs</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1804_14">Delay_Output</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1804_14">Delay_Output</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_2053_14" HREF="terminal_interface-curses__ads.htm#ref_1809_14">Flush_Input</A></span> + <b>procedure</b> <span class="symbol"><a name="ref_2053_14" href="terminal_interface-curses__ads.htm#ref_1809_14">Flush_Input</a></span> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2055_16">Flushinp</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_2055_16">Flushinp</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Flushinp, "flushinp"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2055_16">Flushinp</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> <span class="comment"><EM>-- docu says that never happens, but...</EM></span> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2055_16">Flushinp</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> <span class="comment"><em>-- docu says that never happens, but...</em></span> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1809_14">Flush_Input</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_2063_13" HREF="terminal_interface-curses__ads.htm#ref_1818_13">Baudrate</A></span> <b>return</b> Natural + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1809_14">Flush_Input</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>function</b> <span class="symbol"><a name="ref_2063_13" href="terminal_interface-curses__ads.htm#ref_1818_13">Baudrate</a></span> <b>return</b> Natural <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2065_16">Baud</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_2065_16">Baud</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Baud, "baudrate"); <b>begin</b> - <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#ref_2065_16">Baud</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1818_13">Baudrate</A>; + <b>return</b> Natural (<a href="terminal_interface-curses__adb.htm#ref_2065_16">Baud</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1818_13">Baudrate</a>; - <b>function</b> <span class="symbol"><A NAME="ref_2071_13" HREF="terminal_interface-curses__ads.htm#ref_1823_13">Erase_Character</A></span> <b>return</b> Character + <b>function</b> <span class="symbol"><a name="ref_2071_13" href="terminal_interface-curses__ads.htm#ref_1823_13">Erase_Character</a></span> <b>return</b> Character <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2073_16">Erasechar</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_2073_16">Erasechar</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Erasechar, "erasechar"); <b>begin</b> - <b>return</b> Character'Val (<A HREF="terminal_interface-curses__adb.htm#ref_2073_16">Erasechar</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1823_13">Erase_Character</A>; + <b>return</b> Character'Val (<a href="terminal_interface-curses__adb.htm#ref_2073_16">Erasechar</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1823_13">Erase_Character</a>; - <b>function</b> <span class="symbol"><A NAME="ref_2079_13" HREF="terminal_interface-curses__ads.htm#ref_1828_13">Kill_Character</A></span> <b>return</b> Character + <b>function</b> <span class="symbol"><a name="ref_2079_13" href="terminal_interface-curses__ads.htm#ref_1828_13">Kill_Character</a></span> <b>return</b> Character <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2081_16">Killchar</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_2081_16">Killchar</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Killchar, "killchar"); <b>begin</b> - <b>return</b> Character'Val (<A HREF="terminal_interface-curses__adb.htm#ref_2081_16">Killchar</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1828_13">Kill_Character</A>; + <b>return</b> Character'Val (<a href="terminal_interface-curses__adb.htm#ref_2081_16">Killchar</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1828_13">Kill_Character</a>; - <b>function</b> <span class="symbol"><A NAME="ref_2087_13" HREF="terminal_interface-curses__ads.htm#ref_1833_13">Has_Insert_Character</A></span> <b>return</b> Boolean + <b>function</b> <span class="symbol"><a name="ref_2087_13" href="terminal_interface-curses__ads.htm#ref_1833_13">Has_Insert_Character</a></span> <b>return</b> Boolean <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2089_16">Has_Ic</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>; + <b>function</b> <span class="symbol"><a name="ref_2089_16">Has_Ic</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; <b>pragma</b> Import (C, Has_Ic, "has_ic"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2089_16">Has_Ic</A> = <A HREF="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</A> <b>then</b> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2089_16">Has_Ic</a> = <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1833_13">Has_Insert_Character</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1833_13">Has_Insert_Character</a>; - <b>function</b> <span class="symbol"><A NAME="ref_2099_13" HREF="terminal_interface-curses__ads.htm#ref_1838_13">Has_Insert_Line</A></span> <b>return</b> Boolean + <b>function</b> <span class="symbol"><a name="ref_2099_13" href="terminal_interface-curses__ads.htm#ref_1838_13">Has_Insert_Line</a></span> <b>return</b> Boolean <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2101_16">Has_Il</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>; + <b>function</b> <span class="symbol"><a name="ref_2101_16">Has_Il</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; <b>pragma</b> Import (C, Has_Il, "has_il"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2101_16">Has_Il</A> = <A HREF="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</A> <b>then</b> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2101_16">Has_Il</a> = <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1838_13">Has_Insert_Line</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1838_13">Has_Insert_Line</a>; - <b>function</b> <span class="symbol"><A NAME="ref_2111_13" HREF="terminal_interface-curses__ads.htm#ref_1843_13">Supported_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A> + <b>function</b> <span class="symbol"><a name="ref_2111_13" href="terminal_interface-curses__ads.htm#ref_1843_13">Supported_Attributes</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2113_16">Termattrs</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; + <b>function</b> <span class="symbol"><a name="ref_2113_16">Termattrs</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; <b>pragma</b> Import (C, Termattrs, "termattrs"); - <span class="symbol"><A NAME="ref_2116_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2113_16">Termattrs</A>; + <span class="symbol"><a name="ref_2116_7">Ch</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__adb.htm#ref_2113_16">Termattrs</a>; <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_2116_7">Ch</A>.<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1843_13">Supported_Attributes</A>; + <b>return</b> <a href="terminal_interface-curses__adb.htm#ref_2116_7">Ch</a>.<a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1843_13">Supported_Attributes</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_2121_14" HREF="terminal_interface-curses__ads.htm#ref_1848_14">Long_Name</A></span> (<span class="symbol"><A NAME="ref_2121_25" HREF="terminal_interface-curses__ads.htm#ref_1848_25">Name</A></span> : <b>out</b> String) + <b>procedure</b> <span class="symbol"><a name="ref_2121_14" href="terminal_interface-curses__ads.htm#ref_1848_14">Long_Name</a></span> (<span class="symbol"><a name="ref_2121_25" href="terminal_interface-curses__ads.htm#ref_1848_25">Name</a></span> : <b>out</b> String) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2123_16">Longname</A></span> <b>return</b> chars_ptr; + <b>function</b> <span class="symbol"><a name="ref_2123_16">Longname</a></span> <b>return</b> chars_ptr; <b>pragma</b> Import (C, Longname, "longname"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2123_16">Longname</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1848_25">Name</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1848_14">Long_Name</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_2123_16">Longname</a>, <a href="terminal_interface-curses__ads.htm#ref_1848_25">Name</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1848_14">Long_Name</a>; - <b>function</b> <span class="symbol"><A NAME="ref_2129_13" HREF="terminal_interface-curses__ads.htm#ref_1852_13">Long_Name</A></span> <b>return</b> String + <b>function</b> <span class="symbol"><a name="ref_2129_13" href="terminal_interface-curses__ads.htm#ref_1852_13">Long_Name</a></span> <b>return</b> String <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2131_16">Longname</A></span> <b>return</b> chars_ptr; + <b>function</b> <span class="symbol"><a name="ref_2131_16">Longname</a></span> <b>return</b> chars_ptr; <b>pragma</b> Import (C, Longname, "longname"); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2131_16">Longname</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1852_13">Long_Name</A>; + <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_2131_16">Longname</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1852_13">Long_Name</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_2137_14" HREF="terminal_interface-curses__ads.htm#ref_1858_14">Terminal_Name</A></span> (<span class="symbol"><A NAME="ref_2137_29" HREF="terminal_interface-curses__ads.htm#ref_1858_29">Name</A></span> : <b>out</b> String) + <b>procedure</b> <span class="symbol"><a name="ref_2137_14" href="terminal_interface-curses__ads.htm#ref_1858_14">Terminal_Name</a></span> (<span class="symbol"><a name="ref_2137_29" href="terminal_interface-curses__ads.htm#ref_1858_29">Name</a></span> : <b>out</b> String) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2139_16">Termname</A></span> <b>return</b> chars_ptr; + <b>function</b> <span class="symbol"><a name="ref_2139_16">Termname</a></span> <b>return</b> chars_ptr; <b>pragma</b> Import (C, Termname, "termname"); <b>begin</b> - <A HREF="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2139_16">Termname</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1858_29">Name</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1858_14">Terminal_Name</A>; + <a href="terminal_interface-curses-aux__ads.htm#ref_91_14">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_2139_16">Termname</a>, <a href="terminal_interface-curses__ads.htm#ref_1858_29">Name</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1858_14">Terminal_Name</a>; - <b>function</b> <span class="symbol"><A NAME="ref_2145_13" HREF="terminal_interface-curses__ads.htm#ref_1862_13">Terminal_Name</A></span> <b>return</b> String + <b>function</b> <span class="symbol"><a name="ref_2145_13" href="terminal_interface-curses__ads.htm#ref_1862_13">Terminal_Name</a></span> <b>return</b> String <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2147_16">Termname</A></span> <b>return</b> chars_ptr; + <b>function</b> <span class="symbol"><a name="ref_2147_16">Termname</a></span> <b>return</b> chars_ptr; <b>pragma</b> Import (C, Termname, "termname"); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2147_16">Termname</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1862_13">Terminal_Name</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_2153_14" HREF="terminal_interface-curses__ads.htm#ref_1883_14">Init_Pair</A></span> (<span class="symbol"><A NAME="ref_2153_25" HREF="terminal_interface-curses__ads.htm#ref_1883_25">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_412_12">Redefinable_Color_Pair</A>; - <span class="symbol"><A NAME="ref_2154_25" HREF="terminal_interface-curses__ads.htm#ref_1884_25">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</A>; - <span class="symbol"><A NAME="ref_2155_25" HREF="terminal_interface-curses__ads.htm#ref_1885_25">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</A>) + <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_2147_16">Termname</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1862_13">Terminal_Name</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_2153_14" href="terminal_interface-curses__ads.htm#ref_1883_14">Init_Pair</a></span> (<span class="symbol"><a name="ref_2153_25" href="terminal_interface-curses__ads.htm#ref_1883_25">Pair</a></span> : <a href="terminal_interface-curses__ads.htm#ref_412_12">Redefinable_Color_Pair</a>; + <span class="symbol"><a name="ref_2154_25" href="terminal_interface-curses__ads.htm#ref_1884_25">Fore</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>; + <span class="symbol"><a name="ref_2155_25" href="terminal_interface-curses__ads.htm#ref_1885_25">Back</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2157_16">Initpair</A></span> (<span class="symbol"><A NAME="ref_2157_26" HREF="terminal_interface-curses__adb.htm#ref_2157_16">Pair</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A>; - <span class="symbol"><A NAME="ref_2158_26" HREF="terminal_interface-curses__adb.htm#ref_2157_16">Fore</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A>; - <span class="symbol"><A NAME="ref_2159_26" HREF="terminal_interface-curses__adb.htm#ref_2157_16">Back</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_2157_16">Initpair</a></span> (<span class="symbol"><a name="ref_2157_26">Pair</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; + <span class="symbol"><a name="ref_2158_26">Fore</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; + <span class="symbol"><a name="ref_2159_26">Back</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Initpair, "init_pair"); <b>begin</b> - <b>if</b> Integer (<A HREF="terminal_interface-curses__ads.htm#ref_1883_25">Pair</A>) >= <A HREF="terminal_interface-curses__ads.htm#ref_563_13">Number_Of_Color_Pairs</A> <b>then</b> + <b>if</b> Integer (<a href="terminal_interface-curses__ads.htm#ref_1883_25">Pair</a>) >= <a href="terminal_interface-curses__ads.htm#ref_563_13">Number_Of_Color_Pairs</a> <b>then</b> <b>raise</b> Constraint_Error; <b>end</b> <b>if</b>; - <b>if</b> Integer (<A HREF="terminal_interface-curses__ads.htm#ref_1884_25">Fore</A>) >= <A HREF="terminal_interface-curses__ads.htm#ref_560_13">Number_Of_Colors</A> <b>or</b> <b>else</b> - Integer (<A HREF="terminal_interface-curses__ads.htm#ref_1885_25">Back</A>) >= <A HREF="terminal_interface-curses__ads.htm#ref_560_13">Number_Of_Colors</A> + <b>if</b> Integer (<a href="terminal_interface-curses__ads.htm#ref_1884_25">Fore</a>) >= <a href="terminal_interface-curses__ads.htm#ref_560_13">Number_Of_Colors</a> <b>or</b> <b>else</b> + Integer (<a href="terminal_interface-curses__ads.htm#ref_1885_25">Back</a>) >= <a href="terminal_interface-curses__ads.htm#ref_560_13">Number_Of_Colors</a> <b>then</b> <b>raise</b> Constraint_Error; <b>end</b> <b>if</b>; - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2157_16">Initpair</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1883_25">Pair</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1884_25">Fore</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1885_25">Back</A>)) - = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2157_16">Initpair</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1883_25">Pair</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1884_25">Fore</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1885_25">Back</a>)) + = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1883_14">Init_Pair</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1883_14">Init_Pair</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_2177_14" HREF="terminal_interface-curses__ads.htm#ref_1890_14">Pair_Content</A></span> (<span class="symbol"><A NAME="ref_2177_28" HREF="terminal_interface-curses__ads.htm#ref_1890_28">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>; - <span class="symbol"><A NAME="ref_2178_28" HREF="terminal_interface-curses__ads.htm#ref_1891_28">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</A>; - <span class="symbol"><A NAME="ref_2179_28" HREF="terminal_interface-curses__ads.htm#ref_1892_28">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</A>) + <b>procedure</b> <span class="symbol"><a name="ref_2177_14" href="terminal_interface-curses__ads.htm#ref_1890_14">Pair_Content</a></span> (<span class="symbol"><a name="ref_2177_28" href="terminal_interface-curses__ads.htm#ref_1890_28">Pair</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>; + <span class="symbol"><a name="ref_2178_28" href="terminal_interface-curses__ads.htm#ref_1891_28">Fore</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>; + <span class="symbol"><a name="ref_2179_28" href="terminal_interface-curses__ads.htm#ref_1892_28">Back</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>) <b>is</b> - <b>type</b> <span class="symbol"><A NAME="ref_2181_12">C_Short_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A>; - <b>function</b> <span class="symbol"><A NAME="ref_2182_16">Paircontent</A></span> (<span class="symbol"><A NAME="ref_2182_29" HREF="terminal_interface-curses__adb.htm#ref_2182_16">Pair</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A>; - <span class="symbol"><A NAME="ref_2183_29" HREF="terminal_interface-curses__adb.htm#ref_2182_16">Fp</A></span> : <A HREF="terminal_interface-curses__adb.htm#ref_2181_12">C_Short_Access</A>; - <span class="symbol"><A NAME="ref_2184_29" HREF="terminal_interface-curses__adb.htm#ref_2182_16">Bp</A></span> : <A HREF="terminal_interface-curses__adb.htm#ref_2181_12">C_Short_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>type</b> <span class="symbol"><a name="ref_2181_12">C_Short_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; + <b>function</b> <span class="symbol"><a name="ref_2182_16">Paircontent</a></span> (<span class="symbol"><a name="ref_2182_29">Pair</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; + <span class="symbol"><a name="ref_2183_29">Fp</a></span> : <a href="terminal_interface-curses__adb.htm#ref_2181_12">C_Short_Access</a>; + <span class="symbol"><a name="ref_2184_29">Bp</a></span> : <a href="terminal_interface-curses__adb.htm#ref_2181_12">C_Short_Access</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Paircontent, "pair_content"); - <span class="symbol"><A NAME="ref_2187_7">F</A></span>, <span class="symbol"><A NAME="ref_2187_10">B</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A>; + <span class="symbol"><a name="ref_2187_7">F</a></span>, <span class="symbol"><a name="ref_2187_10">B</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2182_16">Paircontent</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1890_28">Pair</A>), <A HREF="terminal_interface-curses__adb.htm#ref_2187_7">F</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2187_10">B</A>'<b>Access</b>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2182_16">Paircontent</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1890_28">Pair</a>), <a href="terminal_interface-curses__adb.htm#ref_2187_7">F</a>'<b>Access</b>, <a href="terminal_interface-curses__adb.htm#ref_2187_10">B</a>'<b>Access</b>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>else</b> - <A HREF="terminal_interface-curses__ads.htm#ref_1891_28">Fore</A> := <A HREF="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2187_7">F</A>); - <A HREF="terminal_interface-curses__ads.htm#ref_1892_28">Back</A> := <A HREF="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2187_10">B</A>); + <a href="terminal_interface-curses__ads.htm#ref_1891_28">Fore</a> := <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> (<a href="terminal_interface-curses__adb.htm#ref_2187_7">F</a>); + <a href="terminal_interface-curses__ads.htm#ref_1892_28">Back</a> := <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> (<a href="terminal_interface-curses__adb.htm#ref_2187_10">B</a>); <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1890_14">Pair_Content</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1890_14">Pair_Content</a>; - <b>function</b> <span class="symbol"><A NAME="ref_2197_13" HREF="terminal_interface-curses__ads.htm#ref_1897_13">Has_Colors</A></span> <b>return</b> Boolean + <b>function</b> <span class="symbol"><a name="ref_2197_13" href="terminal_interface-curses__ads.htm#ref_1897_13">Has_Colors</a></span> <b>return</b> Boolean <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2199_16">Hascolors</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>; + <b>function</b> <span class="symbol"><a name="ref_2199_16">Hascolors</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; <b>pragma</b> Import (C, Hascolors, "has_colors"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2199_16">Hascolors</A> = <A HREF="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</A> <b>then</b> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2199_16">Hascolors</a> = <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1897_13">Has_Colors</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1897_13">Has_Colors</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_2209_14" HREF="terminal_interface-curses__ads.htm#ref_1902_14">Init_Color</A></span> (<span class="symbol"><A NAME="ref_2209_26" HREF="terminal_interface-curses__ads.htm#ref_1902_26">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</A>; - <span class="symbol"><A NAME="ref_2210_26" HREF="terminal_interface-curses__ads.htm#ref_1903_26">Red</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</A>; - <span class="symbol"><A NAME="ref_2211_26" HREF="terminal_interface-curses__ads.htm#ref_1904_26">Green</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</A>; - <span class="symbol"><A NAME="ref_2212_26" HREF="terminal_interface-curses__ads.htm#ref_1905_26">Blue</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</A>) + <b>procedure</b> <span class="symbol"><a name="ref_2209_14" href="terminal_interface-curses__ads.htm#ref_1902_14">Init_Color</a></span> (<span class="symbol"><a name="ref_2209_26" href="terminal_interface-curses__ads.htm#ref_1902_26">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>; + <span class="symbol"><a name="ref_2210_26" href="terminal_interface-curses__ads.htm#ref_1903_26">Red</a></span> : <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>; + <span class="symbol"><a name="ref_2211_26" href="terminal_interface-curses__ads.htm#ref_1904_26">Green</a></span> : <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>; + <span class="symbol"><a name="ref_2212_26" href="terminal_interface-curses__ads.htm#ref_1905_26">Blue</a></span> : <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2214_16">Initcolor</A></span> (<span class="symbol"><A NAME="ref_2214_27" HREF="terminal_interface-curses__adb.htm#ref_2214_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A>; - <span class="symbol"><A NAME="ref_2215_27" HREF="terminal_interface-curses__adb.htm#ref_2214_16">Red</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A>; - <span class="symbol"><A NAME="ref_2216_27" HREF="terminal_interface-curses__adb.htm#ref_2214_16">Green</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A>; - <span class="symbol"><A NAME="ref_2217_27" HREF="terminal_interface-curses__adb.htm#ref_2214_16">Blue</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_2214_16">Initcolor</a></span> (<span class="symbol"><a name="ref_2214_27">Col</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; + <span class="symbol"><a name="ref_2215_27">Red</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; + <span class="symbol"><a name="ref_2216_27">Green</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; + <span class="symbol"><a name="ref_2217_27">Blue</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Initcolor, "init_color"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2214_16">Initcolor</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1902_26">Color</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1903_26">Red</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1904_26">Green</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1905_26">Blue</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2214_16">Initcolor</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1902_26">Color</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1903_26">Red</a>), <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1904_26">Green</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1905_26">Blue</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1902_14">Init_Color</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1902_14">Init_Color</a>; - <b>function</b> <span class="symbol"><A NAME="ref_2227_13" HREF="terminal_interface-curses__ads.htm#ref_1910_13">Can_Change_Color</A></span> <b>return</b> Boolean + <b>function</b> <span class="symbol"><a name="ref_2227_13" href="terminal_interface-curses__ads.htm#ref_1910_13">Can_Change_Color</a></span> <b>return</b> Boolean <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2229_16">Canchangecolor</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>; + <b>function</b> <span class="symbol"><a name="ref_2229_16">Canchangecolor</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>; <b>pragma</b> Import (C, Canchangecolor, "can_change_color"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2229_16">Canchangecolor</A> = <A HREF="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</A> <b>then</b> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2229_16">Canchangecolor</a> = <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1910_13">Can_Change_Color</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1910_13">Can_Change_Color</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_2239_14" HREF="terminal_interface-curses__ads.htm#ref_1915_14">Color_Content</A></span> (<span class="symbol"><A NAME="ref_2239_29" HREF="terminal_interface-curses__ads.htm#ref_1915_29">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</A>; - <span class="symbol"><A NAME="ref_2240_29" HREF="terminal_interface-curses__ads.htm#ref_1916_29">Red</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</A>; - <span class="symbol"><A NAME="ref_2241_29" HREF="terminal_interface-curses__ads.htm#ref_1917_29">Green</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</A>; - <span class="symbol"><A NAME="ref_2242_29" HREF="terminal_interface-curses__ads.htm#ref_1918_29">Blue</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</A>) + <b>procedure</b> <span class="symbol"><a name="ref_2239_14" href="terminal_interface-curses__ads.htm#ref_1915_14">Color_Content</a></span> (<span class="symbol"><a name="ref_2239_29" href="terminal_interface-curses__ads.htm#ref_1915_29">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>; + <span class="symbol"><a name="ref_2240_29" href="terminal_interface-curses__ads.htm#ref_1916_29">Red</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>; + <span class="symbol"><a name="ref_2241_29" href="terminal_interface-curses__ads.htm#ref_1917_29">Green</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>; + <span class="symbol"><a name="ref_2242_29" href="terminal_interface-curses__ads.htm#ref_1918_29">Blue</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>) <b>is</b> - <b>type</b> <span class="symbol"><A NAME="ref_2244_12">C_Short_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A>; + <b>type</b> <span class="symbol"><a name="ref_2244_12">C_Short_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; - <b>function</b> <span class="symbol"><A NAME="ref_2246_16">Colorcontent</A></span> (<span class="symbol"><A NAME="ref_2246_30" HREF="terminal_interface-curses__adb.htm#ref_2246_16">Color</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A>; <span class="symbol"><A NAME="ref_2246_47" HREF="terminal_interface-curses__adb.htm#ref_2246_16">R</A></span>, <span class="symbol"><A NAME="ref_2246_50" HREF="terminal_interface-curses__adb.htm#ref_2246_16">G</A></span>, <span class="symbol"><A NAME="ref_2246_53" HREF="terminal_interface-curses__adb.htm#ref_2246_16">B</A></span> : <A HREF="terminal_interface-curses__adb.htm#ref_2244_12">C_Short_Access</A>) - <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_2246_16">Colorcontent</a></span> (<span class="symbol"><a name="ref_2246_30">Color</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; <span class="symbol"><a name="ref_2246_47">R</a></span>, <span class="symbol"><a name="ref_2246_50">G</a></span>, <span class="symbol"><a name="ref_2246_53">B</a></span> : <a href="terminal_interface-curses__adb.htm#ref_2244_12">C_Short_Access</a>) + <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Colorcontent, "color_content"); - <span class="symbol"><A NAME="ref_2250_7">R</A></span>, <span class="symbol"><A NAME="ref_2250_10">G</A></span>, <span class="symbol"><A NAME="ref_2250_13">B</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A>; + <span class="symbol"><a name="ref_2250_7">R</a></span>, <span class="symbol"><a name="ref_2250_10">G</a></span>, <span class="symbol"><a name="ref_2250_13">B</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a>; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2246_16">Colorcontent</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1915_29">Color</A>), <A HREF="terminal_interface-curses__adb.htm#ref_2250_7">R</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2250_10">G</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2250_13">B</A>'<b>Access</b>) = - <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2246_16">Colorcontent</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Short</a> (<a href="terminal_interface-curses__ads.htm#ref_1915_29">Color</a>), <a href="terminal_interface-curses__adb.htm#ref_2250_7">R</a>'<b>Access</b>, <a href="terminal_interface-curses__adb.htm#ref_2250_10">G</a>'<b>Access</b>, <a href="terminal_interface-curses__adb.htm#ref_2250_13">B</a>'<b>Access</b>) = + <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>else</b> - <A HREF="terminal_interface-curses__ads.htm#ref_1916_29">Red</A> := <A HREF="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2250_7">R</A>); - <A HREF="terminal_interface-curses__ads.htm#ref_1917_29">Green</A> := <A HREF="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2250_10">G</A>); - <A HREF="terminal_interface-curses__ads.htm#ref_1918_29">Blue</A> := <A HREF="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2250_13">B</A>); + <a href="terminal_interface-curses__ads.htm#ref_1916_29">Red</a> := <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a> (<a href="terminal_interface-curses__adb.htm#ref_2250_7">R</a>); + <a href="terminal_interface-curses__ads.htm#ref_1917_29">Green</a> := <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a> (<a href="terminal_interface-curses__adb.htm#ref_2250_10">G</a>); + <a href="terminal_interface-curses__ads.htm#ref_1918_29">Blue</a> := <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a> (<a href="terminal_interface-curses__adb.htm#ref_2250_13">B</a>); <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1915_14">Color_Content</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1915_14">Color_Content</a>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_2264_14" HREF="terminal_interface-curses__ads.htm#ref_1930_14">Save_Curses_Mode</A></span> (<span class="symbol"><A NAME="ref_2264_32" HREF="terminal_interface-curses__ads.htm#ref_1930_32">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1927_9">Curses_Mode</A>) +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_2264_14" href="terminal_interface-curses__ads.htm#ref_1930_14">Save_Curses_Mode</a></span> (<span class="symbol"><a name="ref_2264_32" href="terminal_interface-curses__ads.htm#ref_1930_32">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1927_9">Curses_Mode</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2266_16">Def_Prog_Mode</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_2266_16">Def_Prog_Mode</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Def_Prog_Mode, "def_prog_mode"); - <b>function</b> <span class="symbol"><A NAME="ref_2268_16">Def_Shell_Mode</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_2268_16">Def_Shell_Mode</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Def_Shell_Mode, "def_shell_mode"); - <span class="symbol"><A NAME="ref_2271_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <span class="symbol"><a name="ref_2271_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>begin</b> - <b>case</b> <A HREF="terminal_interface-curses__ads.htm#ref_1930_32">Mode</A> <b>is</b> - <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1927_25">Curses</A> => <A HREF="terminal_interface-curses__adb.htm#ref_2271_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2266_16">Def_Prog_Mode</A>; - <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1927_33">Shell</A> => <A HREF="terminal_interface-curses__adb.htm#ref_2271_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2268_16">Def_Shell_Mode</A>; + <b>case</b> <a href="terminal_interface-curses__ads.htm#ref_1930_32">Mode</a> <b>is</b> + <b>when</b> <a href="terminal_interface-curses__ads.htm#ref_1927_25">Curses</a> => <a href="terminal_interface-curses__adb.htm#ref_2271_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_2266_16">Def_Prog_Mode</a>; + <b>when</b> <a href="terminal_interface-curses__ads.htm#ref_1927_33">Shell</a> => <a href="terminal_interface-curses__adb.htm#ref_2271_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_2268_16">Def_Shell_Mode</a>; <b>end</b> <b>case</b>; - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2271_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2271_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1930_14">Save_Curses_Mode</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1930_14">Save_Curses_Mode</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_2282_14" HREF="terminal_interface-curses__ads.htm#ref_1936_14">Reset_Curses_Mode</A></span> (<span class="symbol"><A NAME="ref_2282_33" HREF="terminal_interface-curses__ads.htm#ref_1936_33">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1927_9">Curses_Mode</A>) + <b>procedure</b> <span class="symbol"><a name="ref_2282_14" href="terminal_interface-curses__ads.htm#ref_1936_14">Reset_Curses_Mode</a></span> (<span class="symbol"><a name="ref_2282_33" href="terminal_interface-curses__ads.htm#ref_1936_33">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1927_9">Curses_Mode</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2284_16">Reset_Prog_Mode</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_2284_16">Reset_Prog_Mode</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Reset_Prog_Mode, "reset_prog_mode"); - <b>function</b> <span class="symbol"><A NAME="ref_2286_16">Reset_Shell_Mode</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_2286_16">Reset_Shell_Mode</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Reset_Shell_Mode, "reset_shell_mode"); - <span class="symbol"><A NAME="ref_2289_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <span class="symbol"><a name="ref_2289_7">Err</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>begin</b> - <b>case</b> <A HREF="terminal_interface-curses__ads.htm#ref_1936_33">Mode</A> <b>is</b> - <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1927_25">Curses</A> => <A HREF="terminal_interface-curses__adb.htm#ref_2289_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2284_16">Reset_Prog_Mode</A>; - <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1927_33">Shell</A> => <A HREF="terminal_interface-curses__adb.htm#ref_2289_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2286_16">Reset_Shell_Mode</A>; + <b>case</b> <a href="terminal_interface-curses__ads.htm#ref_1936_33">Mode</a> <b>is</b> + <b>when</b> <a href="terminal_interface-curses__ads.htm#ref_1927_25">Curses</a> => <a href="terminal_interface-curses__adb.htm#ref_2289_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_2284_16">Reset_Prog_Mode</a>; + <b>when</b> <a href="terminal_interface-curses__ads.htm#ref_1927_33">Shell</a> => <a href="terminal_interface-curses__adb.htm#ref_2289_7">Err</a> := <a href="terminal_interface-curses__adb.htm#ref_2286_16">Reset_Shell_Mode</a>; <b>end</b> <b>case</b>; - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2289_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2289_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1936_14">Reset_Curses_Mode</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1936_14">Reset_Curses_Mode</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_2300_14" HREF="terminal_interface-curses__ads.htm#ref_1942_14">Save_Terminal_State</A></span> + <b>procedure</b> <span class="symbol"><a name="ref_2300_14" href="terminal_interface-curses__ads.htm#ref_1942_14">Save_Terminal_State</a></span> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2302_16">Savetty</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_2302_16">Savetty</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Savetty, "savetty"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2302_16">Savetty</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2302_16">Savetty</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1942_14">Save_Terminal_State</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1942_14">Save_Terminal_State</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_2310_14" HREF="terminal_interface-curses__ads.htm#ref_1947_14">Reset_Terminal_State</A></span> + <b>procedure</b> <span class="symbol"><a name="ref_2310_14" href="terminal_interface-curses__ads.htm#ref_1947_14">Reset_Terminal_State</a></span> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2312_16">Resetty</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_2312_16">Resetty</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Resetty, "resetty"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2312_16">Resetty</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2312_16">Resetty</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1947_14">Reset_Terminal_State</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1947_14">Reset_Terminal_State</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_2320_14" HREF="terminal_interface-curses__ads.htm#ref_1960_14">Rip_Off_Lines</A></span> (<span class="symbol"><A NAME="ref_2320_29" HREF="terminal_interface-curses__ads.htm#ref_1960_29">Lines</A></span> : Integer; - <span class="symbol"><A NAME="ref_2321_29" HREF="terminal_interface-curses__ads.htm#ref_1961_29">Proc</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1951_9">Stdscr_Init_Proc</A>) + <b>procedure</b> <span class="symbol"><a name="ref_2320_14" href="terminal_interface-curses__ads.htm#ref_1960_14">Rip_Off_Lines</a></span> (<span class="symbol"><a name="ref_2320_29" href="terminal_interface-curses__ads.htm#ref_1960_29">Lines</a></span> : Integer; + <span class="symbol"><a name="ref_2321_29" href="terminal_interface-curses__ads.htm#ref_1961_29">Proc</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1951_9">Stdscr_Init_Proc</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2323_16">Ripoffline</A></span> (<span class="symbol"><A NAME="ref_2323_28" HREF="terminal_interface-curses__adb.htm#ref_2323_16">Lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_2324_28" HREF="terminal_interface-curses__adb.htm#ref_2323_16">Proc</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1951_9">Stdscr_Init_Proc</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_2323_16">Ripoffline</a></span> (<span class="symbol"><a name="ref_2323_28">Lines</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_2324_28">Proc</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1951_9">Stdscr_Init_Proc</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Ripoffline, "_nc_ripoffline"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2323_16">Ripoffline</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1960_29">Lines</A>), <A HREF="terminal_interface-curses__ads.htm#ref_1961_29">Proc</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2323_16">Ripoffline</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1960_29">Lines</a>), <a href="terminal_interface-curses__ads.htm#ref_1961_29">Proc</a>) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1960_14">Rip_Off_Lines</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1960_14">Rip_Off_Lines</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_2332_14" HREF="terminal_interface-curses__ads.htm#ref_1972_14">Set_Cursor_Visibility</A></span> (<span class="symbol"><A NAME="ref_2332_37" HREF="terminal_interface-curses__ads.htm#ref_1972_37">Visibility</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_1969_9">Cursor_Visibility</A>) + <b>procedure</b> <span class="symbol"><a name="ref_2332_14" href="terminal_interface-curses__ads.htm#ref_1972_14">Set_Cursor_Visibility</a></span> (<span class="symbol"><a name="ref_2332_37" href="terminal_interface-curses__ads.htm#ref_1972_37">Visibility</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_1969_9">Cursor_Visibility</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2334_16">Curs_Set</A></span> (<span class="symbol"><A NAME="ref_2334_26" HREF="terminal_interface-curses__adb.htm#ref_2334_16">Curs</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_2334_16">Curs_Set</a></span> (<span class="symbol"><a name="ref_2334_26">Curs</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Curs_Set, "curs_set"); - <span class="symbol"><A NAME="ref_2337_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <span class="symbol"><a name="ref_2337_7">Res</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>begin</b> - <A HREF="terminal_interface-curses__adb.htm#ref_2337_7">Res</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2334_16">Curs_Set</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1969_9">Cursor_Visibility</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1972_37">Visibility</A>)); - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2337_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <A HREF="terminal_interface-curses__ads.htm#ref_1972_37">Visibility</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1969_9">Cursor_Visibility</A>'Val (<A HREF="terminal_interface-curses__adb.htm#ref_2337_7">Res</A>); + <a href="terminal_interface-curses__adb.htm#ref_2337_7">Res</a> := <a href="terminal_interface-curses__adb.htm#ref_2334_16">Curs_Set</a> (<a href="terminal_interface-curses__ads.htm#ref_1969_9">Cursor_Visibility</a>'Pos (<a href="terminal_interface-curses__ads.htm#ref_1972_37">Visibility</a>)); + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2337_7">Res</a> /= <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <a href="terminal_interface-curses__ads.htm#ref_1972_37">Visibility</a> := <a href="terminal_interface-curses__ads.htm#ref_1969_9">Cursor_Visibility</a>'Val (<a href="terminal_interface-curses__adb.htm#ref_2337_7">Res</a>); <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1972_14">Set_Cursor_Visibility</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1972_14">Set_Cursor_Visibility</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_2345_14" HREF="terminal_interface-curses__ads.htm#ref_1977_14">Nap_Milli_Seconds</A></span> (<span class="symbol"><A NAME="ref_2345_33" HREF="terminal_interface-curses__ads.htm#ref_1977_33">Ms</A></span> : Natural) + <b>procedure</b> <span class="symbol"><a name="ref_2345_14" href="terminal_interface-curses__ads.htm#ref_1977_14">Nap_Milli_Seconds</a></span> (<span class="symbol"><a name="ref_2345_33" href="terminal_interface-curses__ads.htm#ref_1977_33">Ms</a></span> : Natural) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2347_16">Napms</A></span> (<span class="symbol"><A NAME="ref_2347_23" HREF="terminal_interface-curses__adb.htm#ref_2347_16">Ms</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_2347_16">Napms</a></span> (<span class="symbol"><a name="ref_2347_23">Ms</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Napms, "napms"); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2347_16">Napms</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1977_33">Ms</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2347_16">Napms</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1977_33">Ms</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1977_14">Nap_Milli_Seconds</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_2355_13" HREF="terminal_interface-curses__ads.htm#ref_551_13">Lines</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A> + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1977_14">Nap_Milli_Seconds</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>function</b> <span class="symbol"><a name="ref_2355_13" href="terminal_interface-curses__ads.htm#ref_551_13">Lines</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2357_16">LINES_As_Function</A></span> <b>return</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int; + <b>function</b> <span class="symbol"><a name="ref_2357_16">LINES_As_Function</a></span> <b>return</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int; <b>pragma</b> Import (C, LINES_As_Function, "LINES_as_function"); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2357_16">LINES_As_Function</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_551_13">Lines</A>; + <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a> (<a href="terminal_interface-curses__adb.htm#ref_2357_16">LINES_As_Function</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_551_13">Lines</a>; - <b>function</b> <span class="symbol"><A NAME="ref_2363_13" HREF="terminal_interface-curses__ads.htm#ref_554_13">Columns</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A> + <b>function</b> <span class="symbol"><a name="ref_2363_13" href="terminal_interface-curses__ads.htm#ref_554_13">Columns</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2365_16">COLS_As_Function</A></span> <b>return</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int; + <b>function</b> <span class="symbol"><a name="ref_2365_16">COLS_As_Function</a></span> <b>return</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int; <b>pragma</b> Import (C, COLS_As_Function, "COLS_as_function"); <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2365_16">COLS_As_Function</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_554_13">Columns</A>; + <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a> (<a href="terminal_interface-curses__adb.htm#ref_2365_16">COLS_As_Function</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_554_13">Columns</a>; - <b>function</b> <span class="symbol"><A NAME="ref_2371_13" HREF="terminal_interface-curses__ads.htm#ref_557_13">Tab_Size</A></span> <b>return</b> Natural + <b>function</b> <span class="symbol"><a name="ref_2371_13" href="terminal_interface-curses__ads.htm#ref_557_13">Tab_Size</a></span> <b>return</b> Natural <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2373_16">TABSIZE_As_Function</A></span> <b>return</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int; + <b>function</b> <span class="symbol"><a name="ref_2373_16">TABSIZE_As_Function</a></span> <b>return</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int; <b>pragma</b> Import (C, TABSIZE_As_Function, "TABSIZE_as_function"); <b>begin</b> - <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#ref_2373_16">TABSIZE_As_Function</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_557_13">Tab_Size</A>; + <b>return</b> Natural (<a href="terminal_interface-curses__adb.htm#ref_2373_16">TABSIZE_As_Function</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_557_13">Tab_Size</a>; - <b>function</b> <span class="symbol"><A NAME="ref_2380_13" HREF="terminal_interface-curses__ads.htm#ref_560_13">Number_Of_Colors</A></span> <b>return</b> Natural + <b>function</b> <span class="symbol"><a name="ref_2380_13" href="terminal_interface-curses__ads.htm#ref_560_13">Number_Of_Colors</a></span> <b>return</b> Natural <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2382_16">COLORS_As_Function</A></span> <b>return</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int; + <b>function</b> <span class="symbol"><a name="ref_2382_16">COLORS_As_Function</a></span> <b>return</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int; <b>pragma</b> Import (C, COLORS_As_Function, "COLORS_as_function"); <b>begin</b> - <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#ref_2382_16">COLORS_As_Function</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_560_13">Number_Of_Colors</A>; + <b>return</b> Natural (<a href="terminal_interface-curses__adb.htm#ref_2382_16">COLORS_As_Function</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_560_13">Number_Of_Colors</a>; - <b>function</b> <span class="symbol"><A NAME="ref_2388_13" HREF="terminal_interface-curses__ads.htm#ref_563_13">Number_Of_Color_Pairs</A></span> <b>return</b> Natural + <b>function</b> <span class="symbol"><a name="ref_2388_13" href="terminal_interface-curses__ads.htm#ref_563_13">Number_Of_Color_Pairs</a></span> <b>return</b> Natural <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2390_16">COLOR_PAIRS_As_Function</A></span> <b>return</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int; + <b>function</b> <span class="symbol"><a name="ref_2390_16">COLOR_PAIRS_As_Function</a></span> <b>return</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.int; <b>pragma</b> Import (C, COLOR_PAIRS_As_Function, "COLOR_PAIRS_as_function"); <b>begin</b> - <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#ref_2390_16">COLOR_PAIRS_As_Function</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_563_13">Number_Of_Color_Pairs</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_2396_14" HREF="terminal_interface-curses__ads.htm#ref_1985_14">Transform_Coordinates</A></span> - (<span class="symbol"><A NAME="ref_2397_7" HREF="terminal_interface-curses__ads.htm#ref_1986_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_2398_7" HREF="terminal_interface-curses__ads.htm#ref_1987_7">Line</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_2399_7" HREF="terminal_interface-curses__ads.htm#ref_1988_7">Column</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_2400_7" HREF="terminal_interface-curses__ads.htm#ref_1989_7">Dir</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1984_9">Transform_Direction</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1984_33">From_Screen</A>) - <b>is</b> - <b>type</b> <span class="symbol"><A NAME="ref_2402_12">Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <b>function</b> <span class="symbol"><A NAME="ref_2403_16">Transform</A></span> (<span class="symbol"><A NAME="ref_2403_27" HREF="terminal_interface-curses__adb.htm#ref_2403_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_2404_27" HREF="terminal_interface-curses__adb.htm#ref_2403_16">Y</A></span>, <span class="symbol"><A NAME="ref_2404_30" HREF="terminal_interface-curses__adb.htm#ref_2403_16">X</A></span> : <A HREF="terminal_interface-curses__adb.htm#ref_2402_12">Int_Access</A>; - <span class="symbol"><A NAME="ref_2405_27" HREF="terminal_interface-curses__adb.htm#ref_2403_16">Dir</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>return</b> Natural (<a href="terminal_interface-curses__adb.htm#ref_2390_16">COLOR_PAIRS_As_Function</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_563_13">Number_Of_Color_Pairs</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_2396_14" href="terminal_interface-curses__ads.htm#ref_1985_14">Transform_Coordinates</a></span> + (<span class="symbol"><a name="ref_2397_7" href="terminal_interface-curses__ads.htm#ref_1986_7">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_2398_7" href="terminal_interface-curses__ads.htm#ref_1987_7">Line</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_2399_7" href="terminal_interface-curses__ads.htm#ref_1988_7">Column</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_2400_7" href="terminal_interface-curses__ads.htm#ref_1989_7">Dir</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1984_9">Transform_Direction</a> := <a href="terminal_interface-curses__ads.htm#ref_1984_33">From_Screen</a>) + <b>is</b> + <b>type</b> <span class="symbol"><a name="ref_2402_12">Int_Access</a></span> <b>is</b> <b>access</b> <b>all</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <b>function</b> <span class="symbol"><a name="ref_2403_16">Transform</a></span> (<span class="symbol"><a name="ref_2403_27">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_2404_27">Y</a></span>, <span class="symbol"><a name="ref_2404_30">X</a></span> : <a href="terminal_interface-curses__adb.htm#ref_2402_12">Int_Access</a>; + <span class="symbol"><a name="ref_2405_27">Dir</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, Transform, "wmouse_trafo"); - <span class="symbol"><A NAME="ref_2408_7">X</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1988_7">Column</A>); - <span class="symbol"><A NAME="ref_2409_7">Y</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1987_7">Line</A>); - <span class="symbol"><A NAME="ref_2410_7">D</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> := <A HREF="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</A>; - <span class="symbol"><A NAME="ref_2411_7">R</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <span class="symbol"><a name="ref_2408_7">X</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1988_7">Column</a>); + <span class="symbol"><a name="ref_2409_7">Y</a></span> : <b>aliased</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_1987_7">Line</a>); + <span class="symbol"><a name="ref_2410_7">D</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> := <a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a>; + <span class="symbol"><a name="ref_2411_7">R</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1989_7">Dir</A> = <A HREF="terminal_interface-curses__ads.htm#ref_1984_46">To_Screen</A> <b>then</b> - <A HREF="terminal_interface-curses__adb.htm#ref_2410_7">D</A> := 1; + <b>if</b> <a href="terminal_interface-curses__ads.htm#ref_1989_7">Dir</a> = <a href="terminal_interface-curses__ads.htm#ref_1984_46">To_Screen</a> <b>then</b> + <a href="terminal_interface-curses__adb.htm#ref_2410_7">D</a> := 1; <b>end</b> <b>if</b>; - <A HREF="terminal_interface-curses__adb.htm#ref_2411_7">R</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2403_16">Transform</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1986_7">W</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2409_7">Y</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2408_7">X</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2410_7">D</A>); - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2411_7">R</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <a href="terminal_interface-curses__adb.htm#ref_2411_7">R</a> := <a href="terminal_interface-curses__adb.htm#ref_2403_16">Transform</a> (<a href="terminal_interface-curses__ads.htm#ref_1986_7">W</a>, <a href="terminal_interface-curses__adb.htm#ref_2409_7">Y</a>'<b>Access</b>, <a href="terminal_interface-curses__adb.htm#ref_2408_7">X</a>'<b>Access</b>, <a href="terminal_interface-curses__adb.htm#ref_2410_7">D</a>); + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2411_7">R</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_67_4">Curses_False</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>else</b> - <A HREF="terminal_interface-curses__ads.htm#ref_1987_7">Line</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2409_7">Y</A>); - <A HREF="terminal_interface-curses__ads.htm#ref_1988_7">Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2408_7">X</A>); + <a href="terminal_interface-curses__ads.htm#ref_1987_7">Line</a> := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> (<a href="terminal_interface-curses__adb.htm#ref_2409_7">Y</a>); + <a href="terminal_interface-curses__ads.htm#ref_1988_7">Column</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> (<a href="terminal_interface-curses__adb.htm#ref_2408_7">X</a>); <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1985_14">Transform_Coordinates</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_2425_14" HREF="terminal_interface-curses__ads.htm#ref_2004_14">Use_Default_Colors</A></span> <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2426_16">C_Use_Default_Colors</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_1985_14">Transform_Coordinates</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_2425_14" href="terminal_interface-curses__ads.htm#ref_2004_14">Use_Default_Colors</a></span> <b>is</b> + <b>function</b> <span class="symbol"><a name="ref_2426_16">C_Use_Default_Colors</a></span> <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, C_Use_Default_Colors, "use_default_colors"); - <span class="symbol"><A NAME="ref_2428_7">Err</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2426_16">C_Use_Default_Colors</A>; + <span class="symbol"><a name="ref_2428_7">Err</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses__adb.htm#ref_2426_16">C_Use_Default_Colors</a>; <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2428_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2428_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2004_14">Use_Default_Colors</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2004_14">Use_Default_Colors</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_2435_14" HREF="terminal_interface-curses__ads.htm#ref_2009_14">Assume_Default_Colors</A></span> (<span class="symbol"><A NAME="ref_2435_37" HREF="terminal_interface-curses__ads.htm#ref_2009_37">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</A> := <A HREF="terminal_interface-curses__ads.htm#ref_2001_4">Default_Color</A>; - <span class="symbol"><A NAME="ref_2436_37" HREF="terminal_interface-curses__ads.htm#ref_2010_37">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</A> := <A HREF="terminal_interface-curses__ads.htm#ref_2001_4">Default_Color</A>) + <b>procedure</b> <span class="symbol"><a name="ref_2435_14" href="terminal_interface-curses__ads.htm#ref_2009_14">Assume_Default_Colors</a></span> (<span class="symbol"><a name="ref_2435_37" href="terminal_interface-curses__ads.htm#ref_2009_37">Fore</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> := <a href="terminal_interface-curses__ads.htm#ref_2001_4">Default_Color</a>; + <span class="symbol"><a name="ref_2436_37" href="terminal_interface-curses__ads.htm#ref_2010_37">Back</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> := <a href="terminal_interface-curses__ads.htm#ref_2001_4">Default_Color</a>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2438_16">C_Assume_Default_Colors</A></span> (<span class="symbol"><A NAME="ref_2438_41" HREF="terminal_interface-curses__adb.htm#ref_2438_16">Fore</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_2439_41" HREF="terminal_interface-curses__adb.htm#ref_2438_16">Back</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_2438_16">C_Assume_Default_Colors</a></span> (<span class="symbol"><a name="ref_2438_41">Fore</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_2439_41">Back</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, C_Assume_Default_Colors, "assume_default_colors"); - <span class="symbol"><A NAME="ref_2442_7">Err</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2438_16">C_Assume_Default_Colors</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_2009_37">Fore</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_2010_37">Back</A>)); + <span class="symbol"><a name="ref_2442_7">Err</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := <a href="terminal_interface-curses__adb.htm#ref_2438_16">C_Assume_Default_Colors</a> (<a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_2009_37">Fore</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_2010_37">Back</a>)); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2442_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2442_7">Err</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2009_14">Assume_Default_Colors</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_2450_13" HREF="terminal_interface-curses__ads.htm#ref_2019_13">Curses_Version</A></span> <b>return</b> String + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2009_14">Assume_Default_Colors</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>function</b> <span class="symbol"><a name="ref_2450_13" href="terminal_interface-curses__ads.htm#ref_2019_13">Curses_Version</a></span> <b>return</b> String <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2452_16">curses_versionC</A></span> <b>return</b> chars_ptr; + <b>function</b> <span class="symbol"><a name="ref_2452_16">curses_versionC</a></span> <b>return</b> chars_ptr; <b>pragma</b> Import (C, curses_versionC, "curses_version"); - <span class="symbol"><A NAME="ref_2454_7">Result</A></span> : <b>constant</b> chars_ptr := <A HREF="terminal_interface-curses__adb.htm#ref_2452_16">curses_versionC</A>; + <span class="symbol"><a name="ref_2454_7">Result</a></span> : <b>constant</b> chars_ptr := <a href="terminal_interface-curses__adb.htm#ref_2452_16">curses_versionC</a>; <b>begin</b> - <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2454_7">Result</A>); - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2019_13">Curses_Version</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_2459_14" HREF="terminal_interface-curses__ads.htm#ref_2032_14">Curses_Free_All</A></span> <b>is</b> - <b>procedure</b> <span class="symbol"><A NAME="ref_2460_17">curses_freeall</A></span>; + <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_96_13">Fill_String</a> (<a href="terminal_interface-curses__adb.htm#ref_2454_7">Result</a>); + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2019_13">Curses_Version</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_2459_14" href="terminal_interface-curses__ads.htm#ref_2032_14">Curses_Free_All</a></span> <b>is</b> + <b>procedure</b> <span class="symbol"><a name="ref_2460_17">curses_freeall</a></span>; <b>pragma</b> Import (C, curses_freeall, "_nc_freeall"); <b>begin</b> - <span class="comment"><EM>-- Use this only for testing: you cannot use curses after calling it,</EM></span> - <span class="comment"><EM>-- so it has to be the "last" thing done before exiting the program.</EM></span> - <span class="comment"><EM>-- This will not really free ALL of memory used by curses. That is</EM></span> - <span class="comment"><EM>-- because it cannot free the memory used for stdout's setbuf. The</EM></span> - <span class="comment"><EM>-- _nc_free_and_exit() procedure can do that, but it can be invoked</EM></span> - <span class="comment"><EM>-- safely only from C - and again, that only as the "last" thing done</EM></span> - <span class="comment"><EM>-- before exiting the program.</EM></span> - <A HREF="terminal_interface-curses__adb.htm#ref_2460_17">curses_freeall</A>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2032_14">Curses_Free_All</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_2473_13" HREF="terminal_interface-curses__ads.htm#ref_2024_13">Use_Extended_Names</A></span> (<span class="symbol"><A NAME="ref_2473_33" HREF="terminal_interface-curses__ads.htm#ref_2024_33">Enable</A></span> : Boolean) <b>return</b> Boolean - <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2475_16">use_extended_namesC</A></span> (<span class="symbol"><A NAME="ref_2475_37" HREF="terminal_interface-curses__adb.htm#ref_2475_16">e</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <span class="comment"><em>-- Use this only for testing: you cannot use curses after calling it,</em></span> + <span class="comment"><em>-- so it has to be the "last" thing done before exiting the program.</em></span> + <span class="comment"><em>-- This will not really free ALL of memory used by curses. That is</em></span> + <span class="comment"><em>-- because it cannot free the memory used for stdout's setbuf. The</em></span> + <span class="comment"><em>-- _nc_free_and_exit() procedure can do that, but it can be invoked</em></span> + <span class="comment"><em>-- safely only from C - and again, that only as the "last" thing done</em></span> + <span class="comment"><em>-- before exiting the program.</em></span> + <a href="terminal_interface-curses__adb.htm#ref_2460_17">curses_freeall</a>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2032_14">Curses_Free_All</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>function</b> <span class="symbol"><a name="ref_2473_13" href="terminal_interface-curses__ads.htm#ref_2024_13">Use_Extended_Names</a></span> (<span class="symbol"><a name="ref_2473_33" href="terminal_interface-curses__ads.htm#ref_2024_33">Enable</a></span> : Boolean) <b>return</b> Boolean + <b>is</b> + <b>function</b> <span class="symbol"><a name="ref_2475_16">use_extended_namesC</a></span> (<span class="symbol"><a name="ref_2475_37">e</a></span> : <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, use_extended_namesC, "use_extended_names"); - <span class="symbol"><A NAME="ref_2478_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> := - <A HREF="terminal_interface-curses__adb.htm#ref_2475_16">use_extended_namesC</A> (<A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_2024_33">Enable</A>))); + <span class="symbol"><a name="ref_2478_7">Res</a></span> : <b>constant</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> := + <a href="terminal_interface-curses__adb.htm#ref_2475_16">use_extended_namesC</a> (<a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> (Boolean'Pos (<a href="terminal_interface-curses__ads.htm#ref_2024_33">Enable</a>))); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2478_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</A>) <b>then</b> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2478_7">Res</a> = <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_2101_4">Curses_Bool_False</a>) <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2024_13">Use_Extended_Names</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_2488_14" HREF="terminal_interface-curses__ads.htm#ref_2040_14">Screen_Dump_To_File</A></span> (<span class="symbol"><A NAME="ref_2488_35" HREF="terminal_interface-curses__ads.htm#ref_2040_35">Filename</A></span> : String) + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2024_13">Use_Extended_Names</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_2488_14" href="terminal_interface-curses__ads.htm#ref_2040_14">Screen_Dump_To_File</a></span> (<span class="symbol"><a name="ref_2488_35" href="terminal_interface-curses__ads.htm#ref_2040_35">Filename</a></span> : String) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2490_16">scr_dump</A></span> (<span class="symbol"><A NAME="ref_2490_26" HREF="terminal_interface-curses__adb.htm#ref_2490_16">f</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_2490_16">scr_dump</a></span> (<span class="symbol"><a name="ref_2490_26">f</a></span> : char_array) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, scr_dump, "scr_dump"); - <span class="symbol"><A NAME="ref_2492_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_2040_35">Filename</A>'Length); - <span class="symbol"><A NAME="ref_2493_7">Length</A></span> : size_t; + <span class="symbol"><a name="ref_2492_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_2040_35">Filename</a>'Length); + <span class="symbol"><a name="ref_2493_7">Length</a></span> : size_t; <b>begin</b> - To_C (<A HREF="terminal_interface-curses__ads.htm#ref_2040_35">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2492_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2493_7">Length</A>); - <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#ref_2490_16">scr_dump</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2492_7">Txt</A>) <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + To_C (<a href="terminal_interface-curses__ads.htm#ref_2040_35">Filename</a>, <a href="terminal_interface-curses__adb.htm#ref_2492_7">Txt</a>, <a href="terminal_interface-curses__adb.htm#ref_2493_7">Length</a>); + <b>if</b> <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> = <a href="terminal_interface-curses__adb.htm#ref_2490_16">scr_dump</a> (<a href="terminal_interface-curses__adb.htm#ref_2492_7">Txt</a>) <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2040_14">Screen_Dump_To_File</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2040_14">Screen_Dump_To_File</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_2501_14" HREF="terminal_interface-curses__ads.htm#ref_2044_14">Screen_Restore_From_File</A></span> (<span class="symbol"><A NAME="ref_2501_40" HREF="terminal_interface-curses__ads.htm#ref_2044_40">Filename</A></span> : String) + <b>procedure</b> <span class="symbol"><a name="ref_2501_14" href="terminal_interface-curses__ads.htm#ref_2044_14">Screen_Restore_From_File</a></span> (<span class="symbol"><a name="ref_2501_40" href="terminal_interface-curses__ads.htm#ref_2044_40">Filename</a></span> : String) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2503_16">scr_restore</A></span> (<span class="symbol"><A NAME="ref_2503_29" HREF="terminal_interface-curses__adb.htm#ref_2503_16">f</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_2503_16">scr_restore</a></span> (<span class="symbol"><a name="ref_2503_29">f</a></span> : char_array) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, scr_restore, "scr_restore"); - <span class="symbol"><A NAME="ref_2505_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_2044_40">Filename</A>'Length); - <span class="symbol"><A NAME="ref_2506_7">Length</A></span> : size_t; + <span class="symbol"><a name="ref_2505_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_2044_40">Filename</a>'Length); + <span class="symbol"><a name="ref_2506_7">Length</a></span> : size_t; <b>begin</b> - To_C (<A HREF="terminal_interface-curses__ads.htm#ref_2044_40">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2505_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2506_7">Length</A>); - <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#ref_2503_16">scr_restore</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2505_7">Txt</A>) <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + To_C (<a href="terminal_interface-curses__ads.htm#ref_2044_40">Filename</a>, <a href="terminal_interface-curses__adb.htm#ref_2505_7">Txt</a>, <a href="terminal_interface-curses__adb.htm#ref_2506_7">Length</a>); + <b>if</b> <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> = <a href="terminal_interface-curses__adb.htm#ref_2503_16">scr_restore</a> (<a href="terminal_interface-curses__adb.htm#ref_2505_7">Txt</a>) <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2044_14">Screen_Restore_From_File</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2044_14">Screen_Restore_From_File</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_2514_14" HREF="terminal_interface-curses__ads.htm#ref_2048_14">Screen_Init_From_File</A></span> (<span class="symbol"><A NAME="ref_2514_37" HREF="terminal_interface-curses__ads.htm#ref_2048_37">Filename</A></span> : String) + <b>procedure</b> <span class="symbol"><a name="ref_2514_14" href="terminal_interface-curses__ads.htm#ref_2048_14">Screen_Init_From_File</a></span> (<span class="symbol"><a name="ref_2514_37" href="terminal_interface-curses__ads.htm#ref_2048_37">Filename</a></span> : String) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2516_16">scr_init</A></span> (<span class="symbol"><A NAME="ref_2516_26" HREF="terminal_interface-curses__adb.htm#ref_2516_16">f</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_2516_16">scr_init</a></span> (<span class="symbol"><a name="ref_2516_26">f</a></span> : char_array) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, scr_init, "scr_init"); - <span class="symbol"><A NAME="ref_2518_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_2048_37">Filename</A>'Length); - <span class="symbol"><A NAME="ref_2519_7">Length</A></span> : size_t; + <span class="symbol"><a name="ref_2518_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_2048_37">Filename</a>'Length); + <span class="symbol"><a name="ref_2519_7">Length</a></span> : size_t; <b>begin</b> - To_C (<A HREF="terminal_interface-curses__ads.htm#ref_2048_37">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2518_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2519_7">Length</A>); - <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#ref_2516_16">scr_init</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2518_7">Txt</A>) <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + To_C (<a href="terminal_interface-curses__ads.htm#ref_2048_37">Filename</a>, <a href="terminal_interface-curses__adb.htm#ref_2518_7">Txt</a>, <a href="terminal_interface-curses__adb.htm#ref_2519_7">Length</a>); + <b>if</b> <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> = <a href="terminal_interface-curses__adb.htm#ref_2516_16">scr_init</a> (<a href="terminal_interface-curses__adb.htm#ref_2518_7">Txt</a>) <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2048_14">Screen_Init_From_File</A>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2048_14">Screen_Init_From_File</a>; - <b>procedure</b> <span class="symbol"><A NAME="ref_2527_14" HREF="terminal_interface-curses__ads.htm#ref_2052_14">Screen_Set_File</A></span> (<span class="symbol"><A NAME="ref_2527_31" HREF="terminal_interface-curses__ads.htm#ref_2052_31">Filename</A></span> : String) + <b>procedure</b> <span class="symbol"><a name="ref_2527_14" href="terminal_interface-curses__ads.htm#ref_2052_14">Screen_Set_File</a></span> (<span class="symbol"><a name="ref_2527_31" href="terminal_interface-curses__ads.htm#ref_2052_31">Filename</a></span> : String) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2529_16">scr_set</A></span> (<span class="symbol"><A NAME="ref_2529_25" HREF="terminal_interface-curses__adb.htm#ref_2529_16">f</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <b>function</b> <span class="symbol"><a name="ref_2529_16">scr_set</a></span> (<span class="symbol"><a name="ref_2529_25">f</a></span> : char_array) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, scr_set, "scr_set"); - <span class="symbol"><A NAME="ref_2531_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_2052_31">Filename</A>'Length); - <span class="symbol"><A NAME="ref_2532_7">Length</A></span> : size_t; - <b>begin</b> - To_C (<A HREF="terminal_interface-curses__ads.htm#ref_2052_31">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2531_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2532_7">Length</A>); - <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#ref_2529_16">scr_set</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2531_7">Txt</A>) <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; - <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2052_14">Screen_Set_File</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_2540_14" HREF="terminal_interface-curses__ads.htm#ref_2084_14">Resize</A></span> (<span class="symbol"><A NAME="ref_2540_22" HREF="terminal_interface-curses__ads.htm#ref_2084_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_2541_22" HREF="terminal_interface-curses__ads.htm#ref_2085_22">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_2542_22" HREF="terminal_interface-curses__ads.htm#ref_2086_22">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>) <b>is</b> - <b>function</b> <span class="symbol"><A NAME="ref_2543_16">wresize</A></span> (<span class="symbol"><A NAME="ref_2543_25" HREF="terminal_interface-curses__adb.htm#ref_2543_16">win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_2544_25" HREF="terminal_interface-curses__adb.htm#ref_2543_16">lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; - <span class="symbol"><A NAME="ref_2545_25" HREF="terminal_interface-curses__adb.htm#ref_2543_16">columns</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A>; + <span class="symbol"><a name="ref_2531_7">Txt</a></span> : char_array (0 .. <a href="terminal_interface-curses__ads.htm#ref_2052_31">Filename</a>'Length); + <span class="symbol"><a name="ref_2532_7">Length</a></span> : size_t; + <b>begin</b> + To_C (<a href="terminal_interface-curses__ads.htm#ref_2052_31">Filename</a>, <a href="terminal_interface-curses__adb.htm#ref_2531_7">Txt</a>, <a href="terminal_interface-curses__adb.htm#ref_2532_7">Length</a>); + <b>if</b> <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> = <a href="terminal_interface-curses__adb.htm#ref_2529_16">scr_set</a> (<a href="terminal_interface-curses__adb.htm#ref_2531_7">Txt</a>) <b>then</b> + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; + <b>end</b> <b>if</b>; + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2052_14">Screen_Set_File</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_2540_14" href="terminal_interface-curses__ads.htm#ref_2084_14">Resize</a></span> (<span class="symbol"><a name="ref_2540_22" href="terminal_interface-curses__ads.htm#ref_2084_22">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_2541_22" href="terminal_interface-curses__ads.htm#ref_2085_22">Number_Of_Lines</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_2542_22" href="terminal_interface-curses__ads.htm#ref_2086_22">Number_Of_Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>) <b>is</b> + <b>function</b> <span class="symbol"><a name="ref_2543_16">wresize</a></span> (<span class="symbol"><a name="ref_2543_25">win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_2544_25">lines</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; + <span class="symbol"><a name="ref_2545_25">columns</a></span> : <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>) <b>return</b> <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a>; <b>pragma</b> Import (C, wresize); <b>begin</b> - <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2543_16">wresize</A> (<A HREF="terminal_interface-curses__ads.htm#ref_2084_22">Win</A>, - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_2085_22">Number_Of_Lines</A>), - <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_2086_22">Number_Of_Columns</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</A> + <b>if</b> <a href="terminal_interface-curses__adb.htm#ref_2543_16">wresize</a> (<a href="terminal_interface-curses__ads.htm#ref_2084_22">Win</a>, + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_2085_22">Number_Of_Lines</a>), + <a href="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Int</a> (<a href="terminal_interface-curses__ads.htm#ref_2086_22">Number_Of_Columns</a>)) = <a href="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Err</a> <b>then</b> - <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</A>; + <b>raise</b> <a href="terminal_interface-curses__ads.htm#ref_522_4">Curses_Exception</a>; <b>end</b> <b>if</b>; - <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2084_14">Resize</A>; -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> + <b>end</b> <a href="terminal_interface-curses__ads.htm#ref_2084_14">Resize</a>; +<span class="comment"><em>------------------------------------------------------------------------------</em></span> -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses__ads.htm b/doc/html/ada/terminal_interface-curses__ads.htm index 83978473efb7..c506fdd5ddfe 100644 --- a/doc/html/ada/terminal_interface-curses__ads.htm +++ b/doc/html/ada/terminal_interface-curses__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,2111 +11,2111 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface.Curses --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1998-2011,2014 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.48 @</EM></span> -<span class="comment"><EM>-- @Date: 2020/02/02 23:34:34 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface.Curses --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020,2024 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1998-2011,2014 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.49 @</em></span> +<span class="comment"><em>-- @Date: 2024/01/19 16:51:30 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> <b>with</b> System.Storage_Elements; -<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; <span class="comment"><EM>-- We need this for some assertions.</EM></span> +<b>with</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C; <span class="comment"><em>-- We need this for some assertions.</em></span> -<b>with</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>; +<b>with</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>; -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<span class="symbol"><A NAME="ref_48_28" HREF="terminal_interface-curses__adb.htm#ref_51_33">Curses</A></span> <b>is</b> - <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>); - <b>pragma</b> Linker_Options ("-lncurses" & <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_9_4">DFT_ARG_SUFFIX</A>); +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<span class="symbol"><a name="ref_48_28" href="terminal_interface-curses__adb.htm#ref_51_33">Curses</a></span> <b>is</b> + <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>); + <b>pragma</b> Linker_Options ("-lncurses" & <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_9_4">DFT_ARG_SUFFIX</a>); - <span class="symbol"><A NAME="ref_52_4">Major_Version</A></span> : <b>constant</b> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_21_4">NCURSES_VERSION_MAJOR</A>; - <span class="symbol"><A NAME="ref_53_4">Minor_Version</A></span> : <b>constant</b> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_22_4">NCURSES_VERSION_MINOR</A>; - NC_Version : String <b>renames</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_23_4">Version</A>; + <span class="symbol"><a name="ref_52_4">Major_Version</a></span> : <b>constant</b> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_21_4">NCURSES_VERSION_MAJOR</a>; + <span class="symbol"><a name="ref_53_4">Minor_Version</a></span> : <b>constant</b> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_22_4">NCURSES_VERSION_MINOR</a>; + NC_Version : String <b>renames</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_23_4">Version</a>; - <b>type</b> <span class="symbol"><A NAME="ref_56_9">Window</A></span> <b>is</b> <b>private</b>; - <span class="symbol"><A NAME="ref_57_4">Null_Window</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; + <b>type</b> <span class="symbol"><a name="ref_56_9">Window</a></span> <b>is</b> <b>private</b>; + <span class="symbol"><a name="ref_57_4">Null_Window</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; - <b>type</b> <span class="symbol"><A NAME="ref_59_9">Line_Position</A></span> <b>is</b> <b>new</b> Integer; <span class="comment"><EM>-- line coordinate</EM></span> - <b>type</b> <span class="symbol"><A NAME="ref_60_9">Column_Position</A></span> <b>is</b> <b>new</b> Integer; <span class="comment"><EM>-- column coordinate</EM></span> + <b>type</b> <span class="symbol"><a name="ref_59_9">Line_Position</a></span> <b>is</b> <b>new</b> Integer; <span class="comment"><em>-- line coordinate</em></span> + <b>type</b> <span class="symbol"><a name="ref_60_9">Column_Position</a></span> <b>is</b> <b>new</b> Integer; <span class="comment"><em>-- column coordinate</em></span> - <b>subtype</b> <span class="symbol"><A NAME="ref_62_12">Line_Count</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A> <b>range</b> 1 .. <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>'Last; - <span class="comment"><EM>-- Type to count lines. We do not allow null windows, so must be positive</EM></span> - <b>subtype</b> <span class="symbol"><A NAME="ref_64_12">Column_Count</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A> <b>range</b> 1 .. <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>'Last; - <span class="comment"><EM>-- Type to count columns. We do not allow null windows, so must be positive</EM></span> + <b>subtype</b> <span class="symbol"><a name="ref_62_12">Line_Count</a></span> <b>is</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> <b>range</b> 1 .. <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>'Last; + <span class="comment"><em>-- Type to count lines. We do not allow null windows, so must be positive</em></span> + <b>subtype</b> <span class="symbol"><a name="ref_64_12">Column_Count</a></span> <b>is</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> <b>range</b> 1 .. <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>'Last; + <span class="comment"><em>-- Type to count columns. We do not allow null windows, so must be positive</em></span> - <b>type</b> <span class="symbol"><A NAME="ref_67_9">Key_Code</A></span> <b>is</b> <b>new</b> Integer; - <span class="comment"><EM>-- That is anything including real characters, special keys and logical</EM></span> - <span class="comment"><EM>-- request codes.</EM></span> + <b>type</b> <span class="symbol"><a name="ref_67_9">Key_Code</a></span> <b>is</b> <b>new</b> Integer; + <span class="comment"><em>-- That is anything including real characters, special keys and logical</em></span> + <span class="comment"><em>-- request codes.</em></span> - <span class="comment"><EM>-- FIXME: The "-1" should be Curses_Err</EM></span> - <b>subtype</b> <span class="symbol"><A NAME="ref_72_12">Real_Key_Code</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</A> <b>range</b> -1 .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_99_4">KEY_MAX</A>; - <span class="comment"><EM>-- This are the codes that potentially represent a real keystroke.</EM></span> - <span class="comment"><EM>-- Not all codes may be possible on a specific terminal. To check the</EM></span> - <span class="comment"><EM>-- availability of a special key, the Has_Key function is provided.</EM></span> + <span class="comment"><em>-- FIXME: The "-1" should be Curses_Err</em></span> + <b>subtype</b> <span class="symbol"><a name="ref_72_12">Real_Key_Code</a></span> <b>is</b> <a href="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</a> <b>range</b> -1 .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_99_4">KEY_MAX</a>; + <span class="comment"><em>-- This are the codes that potentially represent a real keystroke.</em></span> + <span class="comment"><em>-- Not all codes may be possible on a specific terminal. To check the</em></span> + <span class="comment"><em>-- availability of a special key, the Has_Key function is provided.</em></span> - <b>subtype</b> <span class="symbol"><A NAME="ref_77_12">Special_Key_Code</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</A> - <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>. <A HREF="terminal_interface-curses_constants__ads.htm#ref_98_4">KEY_MIN</A> - 1 .. <A HREF="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</A>'Last; - <span class="comment"><EM>-- Type for a function- or special key number</EM></span> + <b>subtype</b> <span class="symbol"><a name="ref_77_12">Special_Key_Code</a></span> <b>is</b> <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a> + <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>. <a href="terminal_interface-curses_constants__ads.htm#ref_98_4">KEY_MIN</a> - 1 .. <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>'Last; + <span class="comment"><em>-- Type for a function- or special key number</em></span> - <b>subtype</b> <span class="symbol"><A NAME="ref_81_12">Normal_Key_Code</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</A> <b>range</b> + <b>subtype</b> <span class="symbol"><a name="ref_81_12">Normal_Key_Code</a></span> <b>is</b> <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a> <b>range</b> Character'Pos (Character'First) .. Character'Pos (Character'Last); - <span class="comment"><EM>-- This are the codes for regular (incl. non-graphical) characters.</EM></span> - - <span class="comment"><EM>-- For those who like to use the original key names we produce them were</EM></span> - <span class="comment"><EM>-- they differ from the original.</EM></span> - - <span class="comment"><EM>-- Constants for function- and special keys</EM></span> - <span class="symbol"><A NAME="ref_89_4">Key_None</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_98_4">KEY_MIN</A> - 1; - <span class="symbol"><A NAME="ref_91_4">Key_Min</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_98_4">KEY_MIN</A>; - <span class="symbol"><A NAME="ref_93_4">Key_Break</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_104_4">KEY_BREAK</A>; - <span class="symbol"><A NAME="ref_95_4">KEY_DOWN</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_105_4">KEY_DOWN</A>; - Key_Cursor_Down : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_95_4">KEY_DOWN</A>; - <span class="symbol"><A NAME="ref_98_4">KEY_UP</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_106_4">KEY_UP</A>; - Key_Cursor_Up : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_98_4">KEY_UP</A>; - <span class="symbol"><A NAME="ref_101_4">KEY_LEFT</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_107_4">KEY_LEFT</A>; - Key_Cursor_Left : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_101_4">KEY_LEFT</A>; - <span class="symbol"><A NAME="ref_104_4">KEY_RIGHT</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_108_4">KEY_RIGHT</A>; - Key_Cursor_Right : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_104_4">KEY_RIGHT</A>; - <span class="symbol"><A NAME="ref_107_4">Key_Home</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_109_4">KEY_HOME</A>; - <span class="symbol"><A NAME="ref_109_4">Key_Backspace</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_110_4">KEY_BACKSPACE</A>; - <span class="symbol"><A NAME="ref_111_4">Key_F0</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_111_4">KEY_F0</A>; - <span class="symbol"><A NAME="ref_113_4">Key_F1</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_112_4">KEY_F1</A>; - <span class="symbol"><A NAME="ref_115_4">Key_F2</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_113_4">KEY_F2</A>; - <span class="symbol"><A NAME="ref_117_4">Key_F3</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_114_4">KEY_F3</A>; - <span class="symbol"><A NAME="ref_119_4">Key_F4</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_115_4">KEY_F4</A>; - <span class="symbol"><A NAME="ref_121_4">Key_F5</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_116_4">KEY_F5</A>; - <span class="symbol"><A NAME="ref_123_4">Key_F6</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_117_4">KEY_F6</A>; - <span class="symbol"><A NAME="ref_125_4">Key_F7</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_118_4">KEY_F7</A>; - <span class="symbol"><A NAME="ref_127_4">Key_F8</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_119_4">KEY_F8</A>; - <span class="symbol"><A NAME="ref_129_4">Key_F9</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_120_4">KEY_F9</A>; - <span class="symbol"><A NAME="ref_131_4">Key_F10</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_121_4">KEY_F10</A>; - <span class="symbol"><A NAME="ref_133_4">Key_F11</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_122_4">KEY_F11</A>; - <span class="symbol"><A NAME="ref_135_4">Key_F12</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_123_4">KEY_F12</A>; - <span class="symbol"><A NAME="ref_137_4">Key_F13</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_124_4">KEY_F13</A>; - <span class="symbol"><A NAME="ref_139_4">Key_F14</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_125_4">KEY_F14</A>; - <span class="symbol"><A NAME="ref_141_4">Key_F15</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_126_4">KEY_F15</A>; - <span class="symbol"><A NAME="ref_143_4">Key_F16</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_127_4">KEY_F16</A>; - <span class="symbol"><A NAME="ref_145_4">Key_F17</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_128_4">KEY_F17</A>; - <span class="symbol"><A NAME="ref_147_4">Key_F18</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_129_4">KEY_F18</A>; - <span class="symbol"><A NAME="ref_149_4">Key_F19</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_130_4">KEY_F19</A>; - <span class="symbol"><A NAME="ref_151_4">Key_F20</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_131_4">KEY_F20</A>; - <span class="symbol"><A NAME="ref_153_4">Key_F21</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_132_4">KEY_F21</A>; - <span class="symbol"><A NAME="ref_155_4">Key_F22</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_133_4">KEY_F22</A>; - <span class="symbol"><A NAME="ref_157_4">Key_F23</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_134_4">KEY_F23</A>; - <span class="symbol"><A NAME="ref_159_4">Key_F24</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_135_4">KEY_F24</A>; - <span class="symbol"><A NAME="ref_161_4">KEY_DL</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_136_4">KEY_DL</A>; - Key_Delete_Line : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_161_4">KEY_DL</A>; - <span class="symbol"><A NAME="ref_164_4">KEY_IL</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_137_4">KEY_IL</A>; - Key_Insert_Line : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_164_4">KEY_IL</A>; - <span class="symbol"><A NAME="ref_167_4">KEY_DC</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_138_4">KEY_DC</A>; - Key_Delete_Char : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_167_4">KEY_DC</A>; - <span class="symbol"><A NAME="ref_170_4">KEY_IC</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_139_4">KEY_IC</A>; - Key_Insert_Char : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_170_4">KEY_IC</A>; - <span class="symbol"><A NAME="ref_173_4">KEY_EIC</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_140_4">KEY_EIC</A>; - Key_Exit_Insert_Mode : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_173_4">KEY_EIC</A>; - <span class="symbol"><A NAME="ref_176_4">KEY_CLEAR</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_141_4">KEY_CLEAR</A>; - Key_Clear_Screen : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_176_4">KEY_CLEAR</A>; - <span class="symbol"><A NAME="ref_179_4">KEY_EOS</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_142_4">KEY_EOS</A>; - Key_Clear_End_Of_Screen : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_179_4">KEY_EOS</A>; - <span class="symbol"><A NAME="ref_182_4">KEY_EOL</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_143_4">KEY_EOL</A>; - Key_Clear_End_Of_Line : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_182_4">KEY_EOL</A>; - <span class="symbol"><A NAME="ref_185_4">KEY_SF</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_144_4">KEY_SF</A>; - Key_Scroll_1_Forward : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_185_4">KEY_SF</A>; - <span class="symbol"><A NAME="ref_188_4">KEY_SR</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_145_4">KEY_SR</A>; - Key_Scroll_1_Backward : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_188_4">KEY_SR</A>; - <span class="symbol"><A NAME="ref_191_4">KEY_NPAGE</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_146_4">KEY_NPAGE</A>; - Key_Next_Page : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_191_4">KEY_NPAGE</A>; - <span class="symbol"><A NAME="ref_194_4">KEY_PPAGE</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_147_4">KEY_PPAGE</A>; - Key_Previous_Page : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_194_4">KEY_PPAGE</A>; - <span class="symbol"><A NAME="ref_197_4">KEY_STAB</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_148_4">KEY_STAB</A>; - Key_Set_Tab : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_197_4">KEY_STAB</A>; - <span class="symbol"><A NAME="ref_200_4">KEY_CTAB</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_149_4">KEY_CTAB</A>; - Key_Clear_Tab : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_200_4">KEY_CTAB</A>; - <span class="symbol"><A NAME="ref_203_4">KEY_CATAB</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_150_4">KEY_CATAB</A>; - Key_Clear_All_Tabs : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_203_4">KEY_CATAB</A>; - <span class="symbol"><A NAME="ref_206_4">KEY_ENTER</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_151_4">KEY_ENTER</A>; - Key_Enter_Or_Send : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_206_4">KEY_ENTER</A>; - <span class="symbol"><A NAME="ref_209_4">KEY_SRESET</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_152_4">KEY_SRESET</A>; - Key_Soft_Reset : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_209_4">KEY_SRESET</A>; - <span class="symbol"><A NAME="ref_212_4">Key_Reset</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_153_4">KEY_RESET</A>; - <span class="symbol"><A NAME="ref_214_4">Key_Print</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_154_4">KEY_PRINT</A>; - <span class="symbol"><A NAME="ref_216_4">KEY_LL</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_155_4">KEY_LL</A>; - Key_Bottom : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_216_4">KEY_LL</A>; - <span class="symbol"><A NAME="ref_219_4">KEY_A1</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_156_4">KEY_A1</A>; - Key_Upper_Left_Of_Keypad : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_219_4">KEY_A1</A>; - <span class="symbol"><A NAME="ref_222_4">KEY_A3</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_157_4">KEY_A3</A>; - Key_Upper_Right_Of_Keypad : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_222_4">KEY_A3</A>; - <span class="symbol"><A NAME="ref_225_4">KEY_B2</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_158_4">KEY_B2</A>; - Key_Center_Of_Keypad : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_225_4">KEY_B2</A>; - <span class="symbol"><A NAME="ref_228_4">KEY_C1</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_159_4">KEY_C1</A>; - Key_Lower_Left_Of_Keypad : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_228_4">KEY_C1</A>; - <span class="symbol"><A NAME="ref_231_4">KEY_C3</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_160_4">KEY_C3</A>; - Key_Lower_Right_Of_Keypad : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_231_4">KEY_C3</A>; - <span class="symbol"><A NAME="ref_234_4">KEY_BTAB</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_161_4">KEY_BTAB</A>; - Key_Back_Tab : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_234_4">KEY_BTAB</A>; - <span class="symbol"><A NAME="ref_237_4">KEY_BEG</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_162_4">KEY_BEG</A>; - Key_Beginning : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_237_4">KEY_BEG</A>; - <span class="symbol"><A NAME="ref_240_4">Key_Cancel</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_163_4">KEY_CANCEL</A>; - <span class="symbol"><A NAME="ref_242_4">Key_Close</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_164_4">KEY_CLOSE</A>; - <span class="symbol"><A NAME="ref_244_4">Key_Command</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_165_4">KEY_COMMAND</A>; - <span class="symbol"><A NAME="ref_246_4">Key_Copy</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_166_4">KEY_COPY</A>; - <span class="symbol"><A NAME="ref_248_4">Key_Create</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_167_4">KEY_CREATE</A>; - <span class="symbol"><A NAME="ref_250_4">Key_End</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_168_4">KEY_END</A>; - <span class="symbol"><A NAME="ref_252_4">Key_Exit</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_169_4">KEY_EXIT</A>; - <span class="symbol"><A NAME="ref_254_4">Key_Find</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_170_4">KEY_FIND</A>; - <span class="symbol"><A NAME="ref_256_4">Key_Help</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_171_4">KEY_HELP</A>; - <span class="symbol"><A NAME="ref_258_4">Key_Mark</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_172_4">KEY_MARK</A>; - <span class="symbol"><A NAME="ref_260_4">Key_Message</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_173_4">KEY_MESSAGE</A>; - <span class="symbol"><A NAME="ref_262_4">Key_Move</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_174_4">KEY_MOVE</A>; - <span class="symbol"><A NAME="ref_264_4">Key_Next</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_175_4">KEY_NEXT</A>; - <span class="symbol"><A NAME="ref_266_4">Key_Open</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_176_4">KEY_OPEN</A>; - <span class="symbol"><A NAME="ref_268_4">Key_Options</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_177_4">KEY_OPTIONS</A>; - <span class="symbol"><A NAME="ref_270_4">Key_Previous</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_178_4">KEY_PREVIOUS</A>; - <span class="symbol"><A NAME="ref_272_4">Key_Redo</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_179_4">KEY_REDO</A>; - <span class="symbol"><A NAME="ref_274_4">Key_Reference</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_180_4">KEY_REFERENCE</A>; - <span class="symbol"><A NAME="ref_276_4">Key_Refresh</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_181_4">KEY_REFRESH</A>; - <span class="symbol"><A NAME="ref_278_4">Key_Replace</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_182_4">KEY_REPLACE</A>; - <span class="symbol"><A NAME="ref_280_4">Key_Restart</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_183_4">KEY_RESTART</A>; - <span class="symbol"><A NAME="ref_282_4">Key_Resume</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_184_4">KEY_RESUME</A>; - <span class="symbol"><A NAME="ref_284_4">Key_Save</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_185_4">KEY_SAVE</A>; - <span class="symbol"><A NAME="ref_286_4">KEY_SBEG</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_186_4">KEY_SBEG</A>; - Key_Shift_Begin : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_286_4">KEY_SBEG</A>; - <span class="symbol"><A NAME="ref_289_4">KEY_SCANCEL</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_187_4">KEY_SCANCEL</A>; - Key_Shift_Cancel : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_289_4">KEY_SCANCEL</A>; - <span class="symbol"><A NAME="ref_292_4">KEY_SCOMMAND</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_188_4">KEY_SCOMMAND</A>; - Key_Shift_Command : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_292_4">KEY_SCOMMAND</A>; - <span class="symbol"><A NAME="ref_295_4">KEY_SCOPY</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_189_4">KEY_SCOPY</A>; - Key_Shift_Copy : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_295_4">KEY_SCOPY</A>; - <span class="symbol"><A NAME="ref_298_4">KEY_SCREATE</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_190_4">KEY_SCREATE</A>; - Key_Shift_Create : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_298_4">KEY_SCREATE</A>; - <span class="symbol"><A NAME="ref_301_4">KEY_SDC</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_191_4">KEY_SDC</A>; - Key_Shift_Delete_Char : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_301_4">KEY_SDC</A>; - <span class="symbol"><A NAME="ref_304_4">KEY_SDL</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_192_4">KEY_SDL</A>; - Key_Shift_Delete_Line : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_304_4">KEY_SDL</A>; - <span class="symbol"><A NAME="ref_307_4">Key_Select</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_193_4">KEY_SELECT</A>; - <span class="symbol"><A NAME="ref_309_4">KEY_SEND</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_194_4">KEY_SEND</A>; - Key_Shift_End : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_309_4">KEY_SEND</A>; - <span class="symbol"><A NAME="ref_312_4">KEY_SEOL</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_195_4">KEY_SEOL</A>; - Key_Shift_Clear_End_Of_Line : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_312_4">KEY_SEOL</A>; - <span class="symbol"><A NAME="ref_315_4">KEY_SEXIT</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_196_4">KEY_SEXIT</A>; - Key_Shift_Exit : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_315_4">KEY_SEXIT</A>; - <span class="symbol"><A NAME="ref_318_4">KEY_SFIND</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_197_4">KEY_SFIND</A>; - Key_Shift_Find : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_318_4">KEY_SFIND</A>; - <span class="symbol"><A NAME="ref_321_4">KEY_SHELP</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_198_4">KEY_SHELP</A>; - Key_Shift_Help : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_321_4">KEY_SHELP</A>; - <span class="symbol"><A NAME="ref_324_4">KEY_SHOME</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_199_4">KEY_SHOME</A>; - Key_Shift_Home : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_324_4">KEY_SHOME</A>; - <span class="symbol"><A NAME="ref_327_4">KEY_SIC</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_200_4">KEY_SIC</A>; - Key_Shift_Insert_Char : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_327_4">KEY_SIC</A>; - <span class="symbol"><A NAME="ref_330_4">KEY_SLEFT</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_201_4">KEY_SLEFT</A>; - Key_Shift_Cursor_Left : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_330_4">KEY_SLEFT</A>; - <span class="symbol"><A NAME="ref_333_4">KEY_SMESSAGE</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_202_4">KEY_SMESSAGE</A>; - Key_Shift_Message : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_333_4">KEY_SMESSAGE</A>; - <span class="symbol"><A NAME="ref_336_4">KEY_SMOVE</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_203_4">KEY_SMOVE</A>; - Key_Shift_Move : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_336_4">KEY_SMOVE</A>; - <span class="symbol"><A NAME="ref_339_4">KEY_SNEXT</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_204_4">KEY_SNEXT</A>; - Key_Shift_Next_Page : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_339_4">KEY_SNEXT</A>; - <span class="symbol"><A NAME="ref_342_4">KEY_SOPTIONS</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_205_4">KEY_SOPTIONS</A>; - Key_Shift_Options : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_342_4">KEY_SOPTIONS</A>; - <span class="symbol"><A NAME="ref_345_4">KEY_SPREVIOUS</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_206_4">KEY_SPREVIOUS</A>; - Key_Shift_Previous_Page : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_345_4">KEY_SPREVIOUS</A>; - <span class="symbol"><A NAME="ref_348_4">KEY_SPRINT</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_207_4">KEY_SPRINT</A>; - Key_Shift_Print : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_348_4">KEY_SPRINT</A>; - <span class="symbol"><A NAME="ref_351_4">KEY_SREDO</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_208_4">KEY_SREDO</A>; - Key_Shift_Redo : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_351_4">KEY_SREDO</A>; - <span class="symbol"><A NAME="ref_354_4">KEY_SREPLACE</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_209_4">KEY_SREPLACE</A>; - Key_Shift_Replace : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_354_4">KEY_SREPLACE</A>; - <span class="symbol"><A NAME="ref_357_4">KEY_SRIGHT</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_210_4">KEY_SRIGHT</A>; - Key_Shift_Cursor_Right : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_357_4">KEY_SRIGHT</A>; - <span class="symbol"><A NAME="ref_360_4">KEY_SRSUME</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_211_4">KEY_SRSUME</A>; - Key_Shift_Resume : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_360_4">KEY_SRSUME</A>; - <span class="symbol"><A NAME="ref_363_4">KEY_SSAVE</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_212_4">KEY_SSAVE</A>; - Key_Shift_Save : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_363_4">KEY_SSAVE</A>; - <span class="symbol"><A NAME="ref_366_4">KEY_SSUSPEND</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_213_4">KEY_SSUSPEND</A>; - Key_Shift_Suspend : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_366_4">KEY_SSUSPEND</A>; - <span class="symbol"><A NAME="ref_369_4">KEY_SUNDO</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_214_4">KEY_SUNDO</A>; - Key_Shift_Undo : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_369_4">KEY_SUNDO</A>; - <span class="symbol"><A NAME="ref_372_4">Key_Suspend</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_215_4">KEY_SUSPEND</A>; - <span class="symbol"><A NAME="ref_374_4">Key_Undo</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_216_4">KEY_UNDO</A>; - <span class="symbol"><A NAME="ref_376_4">Key_Mouse</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_217_4">KEY_MOUSE</A>; - <span class="symbol"><A NAME="ref_378_4">Key_Resize</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_218_4">KEY_RESIZE</A>; - <span class="symbol"><A NAME="ref_380_4">Key_Max</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A> - := <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A>'Last; - - <b>subtype</b> <span class="symbol"><A NAME="ref_383_12">User_Key_Code</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</A> - <b>range</b> (<A HREF="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</A> + 129) .. <A HREF="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</A>'Last; - <span class="comment"><EM>-- This is reserved for user defined key codes. The range between Key_Max</EM></span> - <span class="comment"><EM>-- and the first user code is reserved for subsystems like menu and forms.</EM></span> - - <span class="comment"><EM>--------------------------------------------------------------------------</EM></span> - - <b>type</b> <span class="symbol"><A NAME="ref_390_9">Color_Number</A></span> <b>is</b> <b>range</b> -1 .. Integer (<A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.short'Last); - <b>for</b> <A HREF="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</A>'Size <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.short'Size; - <span class="comment"><EM>-- (n)curses uses a short for the color index</EM></span> - <span class="comment"><EM>-- The model is, that a Color_Number is an index into an array of</EM></span> - <span class="comment"><EM>-- (potentially) definable colors. Some of those indices are</EM></span> - <span class="comment"><EM>-- predefined (see below), although they may not really exist.</EM></span> - - <span class="symbol"><A NAME="ref_397_4">Black</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_69_4">COLOR_BLACK</A>; - <span class="symbol"><A NAME="ref_398_4">Red</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_70_4">COLOR_RED</A>; - <span class="symbol"><A NAME="ref_399_4">Green</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_71_4">COLOR_GREEN</A>; - <span class="symbol"><A NAME="ref_400_4">Yellow</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_72_4">COLOR_YELLOW</A>; - <span class="symbol"><A NAME="ref_401_4">Blue</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_73_4">COLOR_BLUE</A>; - <span class="symbol"><A NAME="ref_402_4">Magenta</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_74_4">COLOR_MAGENTA</A>; - <span class="symbol"><A NAME="ref_403_4">Cyan</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_75_4">COLOR_CYAN</A>; - <span class="symbol"><A NAME="ref_404_4">White</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_76_4">COLOR_WHITE</A>; - - <b>type</b> <span class="symbol"><A NAME="ref_406_9">RGB_Value</A></span> <b>is</b> <b>range</b> 0 .. Integer (<A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.short'Last); - <b>for</b> <A HREF="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</A>'Size <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.short'Size; - <span class="comment"><EM>-- Some system may allow to redefine a color by setting RGB values.</EM></span> - - <b>type</b> <span class="symbol"><A NAME="ref_410_9">Color_Pair</A></span> <b>is</b> <b>range</b> 0 .. 255; - <b>for</b> <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'Size <b>use</b> 8; - <b>subtype</b> <span class="symbol"><A NAME="ref_412_12">Redefinable_Color_Pair</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A> <b>range</b> 1 .. 255; - <span class="comment"><EM>-- (n)curses reserves 1 Byte for the color-pair number. Color Pair 0</EM></span> - <span class="comment"><EM>-- is fixed (Black & White). A color pair is simply a combination of</EM></span> - <span class="comment"><EM>-- two colors described by Color_Numbers, one for the foreground and</EM></span> - <span class="comment"><EM>-- the other for the background</EM></span> - - <b>type</b> <span class="symbol"><A NAME="ref_418_9">Character_Attribute_Set</A></span> <b>is</b> + <span class="comment"><em>-- This are the codes for regular (incl. non-graphical) characters.</em></span> + + <span class="comment"><em>-- For those who like to use the original key names we produce them were</em></span> + <span class="comment"><em>-- they differ from the original.</em></span> + + <span class="comment"><em>-- Constants for function- and special keys</em></span> + <span class="symbol"><a name="ref_89_4">Key_None</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_98_4">KEY_MIN</a> - 1; + <span class="symbol"><a name="ref_91_4">Key_Min</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_98_4">KEY_MIN</a>; + <span class="symbol"><a name="ref_93_4">Key_Break</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_104_4">KEY_BREAK</a>; + <span class="symbol"><a name="ref_95_4">KEY_DOWN</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_105_4">KEY_DOWN</a>; + Key_Cursor_Down : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_95_4">KEY_DOWN</a>; + <span class="symbol"><a name="ref_98_4">KEY_UP</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_106_4">KEY_UP</a>; + Key_Cursor_Up : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_98_4">KEY_UP</a>; + <span class="symbol"><a name="ref_101_4">KEY_LEFT</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_107_4">KEY_LEFT</a>; + Key_Cursor_Left : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_101_4">KEY_LEFT</a>; + <span class="symbol"><a name="ref_104_4">KEY_RIGHT</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_108_4">KEY_RIGHT</a>; + Key_Cursor_Right : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_104_4">KEY_RIGHT</a>; + <span class="symbol"><a name="ref_107_4">Key_Home</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_109_4">KEY_HOME</a>; + <span class="symbol"><a name="ref_109_4">Key_Backspace</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_110_4">KEY_BACKSPACE</a>; + <span class="symbol"><a name="ref_111_4">Key_F0</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_111_4">KEY_F0</a>; + <span class="symbol"><a name="ref_113_4">Key_F1</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_112_4">KEY_F1</a>; + <span class="symbol"><a name="ref_115_4">Key_F2</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_113_4">KEY_F2</a>; + <span class="symbol"><a name="ref_117_4">Key_F3</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_114_4">KEY_F3</a>; + <span class="symbol"><a name="ref_119_4">Key_F4</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_115_4">KEY_F4</a>; + <span class="symbol"><a name="ref_121_4">Key_F5</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_116_4">KEY_F5</a>; + <span class="symbol"><a name="ref_123_4">Key_F6</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_117_4">KEY_F6</a>; + <span class="symbol"><a name="ref_125_4">Key_F7</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_118_4">KEY_F7</a>; + <span class="symbol"><a name="ref_127_4">Key_F8</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_119_4">KEY_F8</a>; + <span class="symbol"><a name="ref_129_4">Key_F9</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_120_4">KEY_F9</a>; + <span class="symbol"><a name="ref_131_4">Key_F10</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_121_4">KEY_F10</a>; + <span class="symbol"><a name="ref_133_4">Key_F11</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_122_4">KEY_F11</a>; + <span class="symbol"><a name="ref_135_4">Key_F12</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_123_4">KEY_F12</a>; + <span class="symbol"><a name="ref_137_4">Key_F13</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_124_4">KEY_F13</a>; + <span class="symbol"><a name="ref_139_4">Key_F14</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_125_4">KEY_F14</a>; + <span class="symbol"><a name="ref_141_4">Key_F15</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_126_4">KEY_F15</a>; + <span class="symbol"><a name="ref_143_4">Key_F16</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_127_4">KEY_F16</a>; + <span class="symbol"><a name="ref_145_4">Key_F17</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_128_4">KEY_F17</a>; + <span class="symbol"><a name="ref_147_4">Key_F18</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_129_4">KEY_F18</a>; + <span class="symbol"><a name="ref_149_4">Key_F19</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_130_4">KEY_F19</a>; + <span class="symbol"><a name="ref_151_4">Key_F20</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_131_4">KEY_F20</a>; + <span class="symbol"><a name="ref_153_4">Key_F21</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_132_4">KEY_F21</a>; + <span class="symbol"><a name="ref_155_4">Key_F22</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_133_4">KEY_F22</a>; + <span class="symbol"><a name="ref_157_4">Key_F23</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_134_4">KEY_F23</a>; + <span class="symbol"><a name="ref_159_4">Key_F24</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_135_4">KEY_F24</a>; + <span class="symbol"><a name="ref_161_4">KEY_DL</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_136_4">KEY_DL</a>; + Key_Delete_Line : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_161_4">KEY_DL</a>; + <span class="symbol"><a name="ref_164_4">KEY_IL</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_137_4">KEY_IL</a>; + Key_Insert_Line : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_164_4">KEY_IL</a>; + <span class="symbol"><a name="ref_167_4">KEY_DC</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_138_4">KEY_DC</a>; + Key_Delete_Char : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_167_4">KEY_DC</a>; + <span class="symbol"><a name="ref_170_4">KEY_IC</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_139_4">KEY_IC</a>; + Key_Insert_Char : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_170_4">KEY_IC</a>; + <span class="symbol"><a name="ref_173_4">KEY_EIC</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_140_4">KEY_EIC</a>; + Key_Exit_Insert_Mode : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_173_4">KEY_EIC</a>; + <span class="symbol"><a name="ref_176_4">KEY_CLEAR</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_141_4">KEY_CLEAR</a>; + Key_Clear_Screen : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_176_4">KEY_CLEAR</a>; + <span class="symbol"><a name="ref_179_4">KEY_EOS</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_142_4">KEY_EOS</a>; + Key_Clear_End_Of_Screen : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_179_4">KEY_EOS</a>; + <span class="symbol"><a name="ref_182_4">KEY_EOL</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_143_4">KEY_EOL</a>; + Key_Clear_End_Of_Line : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_182_4">KEY_EOL</a>; + <span class="symbol"><a name="ref_185_4">KEY_SF</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_144_4">KEY_SF</a>; + Key_Scroll_1_Forward : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_185_4">KEY_SF</a>; + <span class="symbol"><a name="ref_188_4">KEY_SR</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_145_4">KEY_SR</a>; + Key_Scroll_1_Backward : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_188_4">KEY_SR</a>; + <span class="symbol"><a name="ref_191_4">KEY_NPAGE</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_146_4">KEY_NPAGE</a>; + Key_Next_Page : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_191_4">KEY_NPAGE</a>; + <span class="symbol"><a name="ref_194_4">KEY_PPAGE</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_147_4">KEY_PPAGE</a>; + Key_Previous_Page : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_194_4">KEY_PPAGE</a>; + <span class="symbol"><a name="ref_197_4">KEY_STAB</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_148_4">KEY_STAB</a>; + Key_Set_Tab : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_197_4">KEY_STAB</a>; + <span class="symbol"><a name="ref_200_4">KEY_CTAB</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_149_4">KEY_CTAB</a>; + Key_Clear_Tab : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_200_4">KEY_CTAB</a>; + <span class="symbol"><a name="ref_203_4">KEY_CATAB</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_150_4">KEY_CATAB</a>; + Key_Clear_All_Tabs : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_203_4">KEY_CATAB</a>; + <span class="symbol"><a name="ref_206_4">KEY_ENTER</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_151_4">KEY_ENTER</a>; + Key_Enter_Or_Send : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_206_4">KEY_ENTER</a>; + <span class="symbol"><a name="ref_209_4">KEY_SRESET</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_152_4">KEY_SRESET</a>; + Key_Soft_Reset : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_209_4">KEY_SRESET</a>; + <span class="symbol"><a name="ref_212_4">Key_Reset</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_153_4">KEY_RESET</a>; + <span class="symbol"><a name="ref_214_4">Key_Print</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_154_4">KEY_PRINT</a>; + <span class="symbol"><a name="ref_216_4">KEY_LL</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_155_4">KEY_LL</a>; + Key_Bottom : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_216_4">KEY_LL</a>; + <span class="symbol"><a name="ref_219_4">KEY_A1</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_156_4">KEY_A1</a>; + Key_Upper_Left_Of_Keypad : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_219_4">KEY_A1</a>; + <span class="symbol"><a name="ref_222_4">KEY_A3</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_157_4">KEY_A3</a>; + Key_Upper_Right_Of_Keypad : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_222_4">KEY_A3</a>; + <span class="symbol"><a name="ref_225_4">KEY_B2</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_158_4">KEY_B2</a>; + Key_Center_Of_Keypad : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_225_4">KEY_B2</a>; + <span class="symbol"><a name="ref_228_4">KEY_C1</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_159_4">KEY_C1</a>; + Key_Lower_Left_Of_Keypad : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_228_4">KEY_C1</a>; + <span class="symbol"><a name="ref_231_4">KEY_C3</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_160_4">KEY_C3</a>; + Key_Lower_Right_Of_Keypad : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_231_4">KEY_C3</a>; + <span class="symbol"><a name="ref_234_4">KEY_BTAB</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_161_4">KEY_BTAB</a>; + Key_Back_Tab : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_234_4">KEY_BTAB</a>; + <span class="symbol"><a name="ref_237_4">KEY_BEG</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_162_4">KEY_BEG</a>; + Key_Beginning : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_237_4">KEY_BEG</a>; + <span class="symbol"><a name="ref_240_4">Key_Cancel</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_163_4">KEY_CANCEL</a>; + <span class="symbol"><a name="ref_242_4">Key_Close</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_164_4">KEY_CLOSE</a>; + <span class="symbol"><a name="ref_244_4">Key_Command</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_165_4">KEY_COMMAND</a>; + <span class="symbol"><a name="ref_246_4">Key_Copy</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_166_4">KEY_COPY</a>; + <span class="symbol"><a name="ref_248_4">Key_Create</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_167_4">KEY_CREATE</a>; + <span class="symbol"><a name="ref_250_4">Key_End</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_168_4">KEY_END</a>; + <span class="symbol"><a name="ref_252_4">Key_Exit</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_169_4">KEY_EXIT</a>; + <span class="symbol"><a name="ref_254_4">Key_Find</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_170_4">KEY_FIND</a>; + <span class="symbol"><a name="ref_256_4">Key_Help</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_171_4">KEY_HELP</a>; + <span class="symbol"><a name="ref_258_4">Key_Mark</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_172_4">KEY_MARK</a>; + <span class="symbol"><a name="ref_260_4">Key_Message</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_173_4">KEY_MESSAGE</a>; + <span class="symbol"><a name="ref_262_4">Key_Move</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_174_4">KEY_MOVE</a>; + <span class="symbol"><a name="ref_264_4">Key_Next</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_175_4">KEY_NEXT</a>; + <span class="symbol"><a name="ref_266_4">Key_Open</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_176_4">KEY_OPEN</a>; + <span class="symbol"><a name="ref_268_4">Key_Options</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_177_4">KEY_OPTIONS</a>; + <span class="symbol"><a name="ref_270_4">Key_Previous</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_178_4">KEY_PREVIOUS</a>; + <span class="symbol"><a name="ref_272_4">Key_Redo</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_179_4">KEY_REDO</a>; + <span class="symbol"><a name="ref_274_4">Key_Reference</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_180_4">KEY_REFERENCE</a>; + <span class="symbol"><a name="ref_276_4">Key_Refresh</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_181_4">KEY_REFRESH</a>; + <span class="symbol"><a name="ref_278_4">Key_Replace</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_182_4">KEY_REPLACE</a>; + <span class="symbol"><a name="ref_280_4">Key_Restart</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_183_4">KEY_RESTART</a>; + <span class="symbol"><a name="ref_282_4">Key_Resume</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_184_4">KEY_RESUME</a>; + <span class="symbol"><a name="ref_284_4">Key_Save</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_185_4">KEY_SAVE</a>; + <span class="symbol"><a name="ref_286_4">KEY_SBEG</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_186_4">KEY_SBEG</a>; + Key_Shift_Begin : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_286_4">KEY_SBEG</a>; + <span class="symbol"><a name="ref_289_4">KEY_SCANCEL</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_187_4">KEY_SCANCEL</a>; + Key_Shift_Cancel : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_289_4">KEY_SCANCEL</a>; + <span class="symbol"><a name="ref_292_4">KEY_SCOMMAND</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_188_4">KEY_SCOMMAND</a>; + Key_Shift_Command : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_292_4">KEY_SCOMMAND</a>; + <span class="symbol"><a name="ref_295_4">KEY_SCOPY</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_189_4">KEY_SCOPY</a>; + Key_Shift_Copy : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_295_4">KEY_SCOPY</a>; + <span class="symbol"><a name="ref_298_4">KEY_SCREATE</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_190_4">KEY_SCREATE</a>; + Key_Shift_Create : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_298_4">KEY_SCREATE</a>; + <span class="symbol"><a name="ref_301_4">KEY_SDC</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_191_4">KEY_SDC</a>; + Key_Shift_Delete_Char : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_301_4">KEY_SDC</a>; + <span class="symbol"><a name="ref_304_4">KEY_SDL</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_192_4">KEY_SDL</a>; + Key_Shift_Delete_Line : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_304_4">KEY_SDL</a>; + <span class="symbol"><a name="ref_307_4">Key_Select</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_193_4">KEY_SELECT</a>; + <span class="symbol"><a name="ref_309_4">KEY_SEND</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_194_4">KEY_SEND</a>; + Key_Shift_End : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_309_4">KEY_SEND</a>; + <span class="symbol"><a name="ref_312_4">KEY_SEOL</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_195_4">KEY_SEOL</a>; + Key_Shift_Clear_End_Of_Line : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_312_4">KEY_SEOL</a>; + <span class="symbol"><a name="ref_315_4">KEY_SEXIT</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_196_4">KEY_SEXIT</a>; + Key_Shift_Exit : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_315_4">KEY_SEXIT</a>; + <span class="symbol"><a name="ref_318_4">KEY_SFIND</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_197_4">KEY_SFIND</a>; + Key_Shift_Find : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_318_4">KEY_SFIND</a>; + <span class="symbol"><a name="ref_321_4">KEY_SHELP</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_198_4">KEY_SHELP</a>; + Key_Shift_Help : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_321_4">KEY_SHELP</a>; + <span class="symbol"><a name="ref_324_4">KEY_SHOME</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_199_4">KEY_SHOME</a>; + Key_Shift_Home : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_324_4">KEY_SHOME</a>; + <span class="symbol"><a name="ref_327_4">KEY_SIC</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_200_4">KEY_SIC</a>; + Key_Shift_Insert_Char : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_327_4">KEY_SIC</a>; + <span class="symbol"><a name="ref_330_4">KEY_SLEFT</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_201_4">KEY_SLEFT</a>; + Key_Shift_Cursor_Left : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_330_4">KEY_SLEFT</a>; + <span class="symbol"><a name="ref_333_4">KEY_SMESSAGE</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_202_4">KEY_SMESSAGE</a>; + Key_Shift_Message : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_333_4">KEY_SMESSAGE</a>; + <span class="symbol"><a name="ref_336_4">KEY_SMOVE</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_203_4">KEY_SMOVE</a>; + Key_Shift_Move : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_336_4">KEY_SMOVE</a>; + <span class="symbol"><a name="ref_339_4">KEY_SNEXT</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_204_4">KEY_SNEXT</a>; + Key_Shift_Next_Page : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_339_4">KEY_SNEXT</a>; + <span class="symbol"><a name="ref_342_4">KEY_SOPTIONS</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_205_4">KEY_SOPTIONS</a>; + Key_Shift_Options : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_342_4">KEY_SOPTIONS</a>; + <span class="symbol"><a name="ref_345_4">KEY_SPREVIOUS</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_206_4">KEY_SPREVIOUS</a>; + Key_Shift_Previous_Page : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_345_4">KEY_SPREVIOUS</a>; + <span class="symbol"><a name="ref_348_4">KEY_SPRINT</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_207_4">KEY_SPRINT</a>; + Key_Shift_Print : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_348_4">KEY_SPRINT</a>; + <span class="symbol"><a name="ref_351_4">KEY_SREDO</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_208_4">KEY_SREDO</a>; + Key_Shift_Redo : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_351_4">KEY_SREDO</a>; + <span class="symbol"><a name="ref_354_4">KEY_SREPLACE</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_209_4">KEY_SREPLACE</a>; + Key_Shift_Replace : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_354_4">KEY_SREPLACE</a>; + <span class="symbol"><a name="ref_357_4">KEY_SRIGHT</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_210_4">KEY_SRIGHT</a>; + Key_Shift_Cursor_Right : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_357_4">KEY_SRIGHT</a>; + <span class="symbol"><a name="ref_360_4">KEY_SRSUME</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_211_4">KEY_SRSUME</a>; + Key_Shift_Resume : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_360_4">KEY_SRSUME</a>; + <span class="symbol"><a name="ref_363_4">KEY_SSAVE</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_212_4">KEY_SSAVE</a>; + Key_Shift_Save : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_363_4">KEY_SSAVE</a>; + <span class="symbol"><a name="ref_366_4">KEY_SSUSPEND</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_213_4">KEY_SSUSPEND</a>; + Key_Shift_Suspend : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_366_4">KEY_SSUSPEND</a>; + <span class="symbol"><a name="ref_369_4">KEY_SUNDO</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_214_4">KEY_SUNDO</a>; + Key_Shift_Undo : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_369_4">KEY_SUNDO</a>; + <span class="symbol"><a name="ref_372_4">Key_Suspend</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_215_4">KEY_SUSPEND</a>; + <span class="symbol"><a name="ref_374_4">Key_Undo</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_216_4">KEY_UNDO</a>; + <span class="symbol"><a name="ref_376_4">Key_Mouse</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_217_4">KEY_MOUSE</a>; + <span class="symbol"><a name="ref_378_4">Key_Resize</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_218_4">KEY_RESIZE</a>; + <span class="symbol"><a name="ref_380_4">Key_Max</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a> + := <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>'Last; + + <b>subtype</b> <span class="symbol"><a name="ref_383_12">User_Key_Code</a></span> <b>is</b> <a href="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</a> + <b>range</b> (<a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 129) .. <a href="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</a>'Last; + <span class="comment"><em>-- This is reserved for user defined key codes. The range between Key_Max</em></span> + <span class="comment"><em>-- and the first user code is reserved for subsystems like menu and forms.</em></span> + + <span class="comment"><em>--------------------------------------------------------------------------</em></span> + + <b>type</b> <span class="symbol"><a name="ref_390_9">Color_Number</a></span> <b>is</b> <b>range</b> -1 .. Integer (<a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.short'Last); + <b>for</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>'Size <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.short'Size; + <span class="comment"><em>-- (n)curses uses a short for the color index</em></span> + <span class="comment"><em>-- The model is, that a Color_Number is an index into an array of</em></span> + <span class="comment"><em>-- (potentially) definable colors. Some of those indices are</em></span> + <span class="comment"><em>-- predefined (see below), although they may not really exist.</em></span> + + <span class="symbol"><a name="ref_397_4">Black</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_69_4">COLOR_BLACK</a>; + <span class="symbol"><a name="ref_398_4">Red</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_70_4">COLOR_RED</a>; + <span class="symbol"><a name="ref_399_4">Green</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_71_4">COLOR_GREEN</a>; + <span class="symbol"><a name="ref_400_4">Yellow</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_72_4">COLOR_YELLOW</a>; + <span class="symbol"><a name="ref_401_4">Blue</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_73_4">COLOR_BLUE</a>; + <span class="symbol"><a name="ref_402_4">Magenta</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_74_4">COLOR_MAGENTA</a>; + <span class="symbol"><a name="ref_403_4">Cyan</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_75_4">COLOR_CYAN</a>; + <span class="symbol"><a name="ref_404_4">White</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_76_4">COLOR_WHITE</a>; + + <b>type</b> <span class="symbol"><a name="ref_406_9">RGB_Value</a></span> <b>is</b> <b>range</b> 0 .. Integer (<a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.short'Last); + <b>for</b> <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>'Size <b>use</b> <a href="interfac__ads.htm#ref_38_9">Interfaces</a>.C.short'Size; + <span class="comment"><em>-- Some system may allow to redefine a color by setting RGB values.</em></span> + + <b>type</b> <span class="symbol"><a name="ref_410_9">Color_Pair</a></span> <b>is</b> <b>range</b> 0 .. 255; + <b>for</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'Size <b>use</b> 8; + <b>subtype</b> <span class="symbol"><a name="ref_412_12">Redefinable_Color_Pair</a></span> <b>is</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> <b>range</b> 1 .. 255; + <span class="comment"><em>-- (n)curses reserves 1 Byte for the color-pair number. Color Pair 0</em></span> + <span class="comment"><em>-- is fixed (Black & White). A color pair is simply a combination of</em></span> + <span class="comment"><em>-- two colors described by Color_Numbers, one for the foreground and</em></span> + <span class="comment"><em>-- the other for the background</em></span> + + <b>type</b> <span class="symbol"><a name="ref_418_9">Character_Attribute_Set</a></span> <b>is</b> <b>record</b> - <span class="symbol"><A NAME="ref_420_10">Stand_Out</A></span> : Boolean; - <span class="symbol"><A NAME="ref_421_10">Under_Line</A></span> : Boolean; - <span class="symbol"><A NAME="ref_422_10">Reverse_Video</A></span> : Boolean; - <span class="symbol"><A NAME="ref_423_10">Blink</A></span> : Boolean; - <span class="symbol"><A NAME="ref_424_10">Dim_Character</A></span> : Boolean; - <span class="symbol"><A NAME="ref_425_10">Bold_Character</A></span> : Boolean; - <span class="symbol"><A NAME="ref_426_10">Protected_Character</A></span> : Boolean; - <span class="symbol"><A NAME="ref_427_10">Invisible_Character</A></span> : Boolean; - <span class="symbol"><A NAME="ref_428_10">Alternate_Character_Set</A></span> : Boolean; - <span class="symbol"><A NAME="ref_429_10">Horizontal</A></span> : Boolean; - <span class="symbol"><A NAME="ref_430_10">Left</A></span> : Boolean; - <span class="symbol"><A NAME="ref_431_10">Low</A></span> : Boolean; - <span class="symbol"><A NAME="ref_432_10">Right</A></span> : Boolean; - <span class="symbol"><A NAME="ref_433_10">Top</A></span> : Boolean; - <span class="symbol"><A NAME="ref_434_10">Vertical</A></span> : Boolean; + <span class="symbol"><a name="ref_420_10">Stand_Out</a></span> : Boolean; + <span class="symbol"><a name="ref_421_10">Under_Line</a></span> : Boolean; + <span class="symbol"><a name="ref_422_10">Reverse_Video</a></span> : Boolean; + <span class="symbol"><a name="ref_423_10">Blink</a></span> : Boolean; + <span class="symbol"><a name="ref_424_10">Dim_Character</a></span> : Boolean; + <span class="symbol"><a name="ref_425_10">Bold_Character</a></span> : Boolean; + <span class="symbol"><a name="ref_426_10">Protected_Character</a></span> : Boolean; + <span class="symbol"><a name="ref_427_10">Invisible_Character</a></span> : Boolean; + <span class="symbol"><a name="ref_428_10">Alternate_Character_Set</a></span> : Boolean; + <span class="symbol"><a name="ref_429_10">Horizontal</a></span> : Boolean; + <span class="symbol"><a name="ref_430_10">Left</a></span> : Boolean; + <span class="symbol"><a name="ref_431_10">Low</a></span> : Boolean; + <span class="symbol"><a name="ref_432_10">Right</a></span> : Boolean; + <span class="symbol"><a name="ref_433_10">Top</a></span> : Boolean; + <span class="symbol"><a name="ref_434_10">Vertical</a></span> : Boolean; <b>end</b> <b>record</b>; - <b>for</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A> <b>use</b> + <b>for</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> <b>use</b> <b>record</b> - <A HREF="terminal_interface-curses__ads.htm#ref_420_10">Stand_Out</A> <b>at</b> 0 <b>range</b> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_35_4">A_STANDOUT_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_36_4">A_STANDOUT_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>; - <A HREF="terminal_interface-curses__ads.htm#ref_421_10">Under_Line</A> <b>at</b> 0 <b>range</b> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_37_4">A_UNDERLINE_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_38_4">A_UNDERLINE_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>; - <A HREF="terminal_interface-curses__ads.htm#ref_422_10">Reverse_Video</A> <b>at</b> 0 <b>range</b> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_39_4">A_REVERSE_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_40_4">A_REVERSE_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>; - <A HREF="terminal_interface-curses__ads.htm#ref_423_10">Blink</A> <b>at</b> 0 <b>range</b> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_41_4">A_BLINK_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_42_4">A_BLINK_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>; - <A HREF="terminal_interface-curses__ads.htm#ref_424_10">Dim_Character</A> <b>at</b> 0 <b>range</b> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_43_4">A_DIM_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_44_4">A_DIM_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>; - <A HREF="terminal_interface-curses__ads.htm#ref_425_10">Bold_Character</A> <b>at</b> 0 <b>range</b> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_45_4">A_BOLD_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_46_4">A_BOLD_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>; - <A HREF="terminal_interface-curses__ads.htm#ref_426_10">Protected_Character</A> <b>at</b> 0 <b>range</b> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_47_4">A_PROTECT_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_48_4">A_PROTECT_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>; - <A HREF="terminal_interface-curses__ads.htm#ref_427_10">Invisible_Character</A> <b>at</b> 0 <b>range</b> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_49_4">A_INVIS_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_50_4">A_INVIS_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>; - <A HREF="terminal_interface-curses__ads.htm#ref_428_10">Alternate_Character_Set</A> <b>at</b> 0 <b>range</b> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_51_4">A_ALTCHARSET_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_52_4">A_ALTCHARSET_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>; - <A HREF="terminal_interface-curses__ads.htm#ref_429_10">Horizontal</A> <b>at</b> 0 <b>range</b> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_53_4">A_HORIZONTAL_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_54_4">A_HORIZONTAL_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>; - <A HREF="terminal_interface-curses__ads.htm#ref_430_10">Left</A> <b>at</b> 0 <b>range</b> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_55_4">A_LEFT_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_56_4">A_LEFT_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>; - <A HREF="terminal_interface-curses__ads.htm#ref_431_10">Low</A> <b>at</b> 0 <b>range</b> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_57_4">A_LOW_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_58_4">A_LOW_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>; - <A HREF="terminal_interface-curses__ads.htm#ref_432_10">Right</A> <b>at</b> 0 <b>range</b> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_59_4">A_RIGHT_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_60_4">A_RIGHT_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>; - <A HREF="terminal_interface-curses__ads.htm#ref_433_10">Top</A> <b>at</b> 0 <b>range</b> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_61_4">A_TOP_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_62_4">A_TOP_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>; - <A HREF="terminal_interface-curses__ads.htm#ref_434_10">Vertical</A> <b>at</b> 0 <b>range</b> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_63_4">A_VERTICAL_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_64_4">A_VERTICAL_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>; + <a href="terminal_interface-curses__ads.htm#ref_420_10">Stand_Out</a> <b>at</b> 0 <b>range</b> + <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_35_4">A_STANDOUT_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_36_4">A_STANDOUT_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>; + <a href="terminal_interface-curses__ads.htm#ref_421_10">Under_Line</a> <b>at</b> 0 <b>range</b> + <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_37_4">A_UNDERLINE_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_38_4">A_UNDERLINE_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>; + <a href="terminal_interface-curses__ads.htm#ref_422_10">Reverse_Video</a> <b>at</b> 0 <b>range</b> + <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_39_4">A_REVERSE_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_40_4">A_REVERSE_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>; + <a href="terminal_interface-curses__ads.htm#ref_423_10">Blink</a> <b>at</b> 0 <b>range</b> + <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_41_4">A_BLINK_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_42_4">A_BLINK_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>; + <a href="terminal_interface-curses__ads.htm#ref_424_10">Dim_Character</a> <b>at</b> 0 <b>range</b> + <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_43_4">A_DIM_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_44_4">A_DIM_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>; + <a href="terminal_interface-curses__ads.htm#ref_425_10">Bold_Character</a> <b>at</b> 0 <b>range</b> + <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_45_4">A_BOLD_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_46_4">A_BOLD_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>; + <a href="terminal_interface-curses__ads.htm#ref_426_10">Protected_Character</a> <b>at</b> 0 <b>range</b> + <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_47_4">A_PROTECT_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_48_4">A_PROTECT_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>; + <a href="terminal_interface-curses__ads.htm#ref_427_10">Invisible_Character</a> <b>at</b> 0 <b>range</b> + <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_49_4">A_INVIS_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_50_4">A_INVIS_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>; + <a href="terminal_interface-curses__ads.htm#ref_428_10">Alternate_Character_Set</a> <b>at</b> 0 <b>range</b> + <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_51_4">A_ALTCHARSET_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_52_4">A_ALTCHARSET_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>; + <a href="terminal_interface-curses__ads.htm#ref_429_10">Horizontal</a> <b>at</b> 0 <b>range</b> + <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_53_4">A_HORIZONTAL_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_54_4">A_HORIZONTAL_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>; + <a href="terminal_interface-curses__ads.htm#ref_430_10">Left</a> <b>at</b> 0 <b>range</b> + <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_55_4">A_LEFT_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_56_4">A_LEFT_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>; + <a href="terminal_interface-curses__ads.htm#ref_431_10">Low</a> <b>at</b> 0 <b>range</b> + <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_57_4">A_LOW_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_58_4">A_LOW_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>; + <a href="terminal_interface-curses__ads.htm#ref_432_10">Right</a> <b>at</b> 0 <b>range</b> + <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_59_4">A_RIGHT_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_60_4">A_RIGHT_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>; + <a href="terminal_interface-curses__ads.htm#ref_433_10">Top</a> <b>at</b> 0 <b>range</b> + <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_61_4">A_TOP_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_62_4">A_TOP_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>; + <a href="terminal_interface-curses__ads.htm#ref_434_10">Vertical</a> <b>at</b> 0 <b>range</b> + <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_63_4">A_VERTICAL_First</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_64_4">A_VERTICAL_Last</a> - <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a>; <b>end</b> <b>record</b>; - <span class="symbol"><A NAME="ref_486_4">Normal_Video</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A> := (<b>others</b> => False); + <span class="symbol"><a name="ref_486_4">Normal_Video</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := (<b>others</b> => False); - <b>type</b> <span class="symbol"><A NAME="ref_488_9">Attributed_Character</A></span> <b>is</b> + <b>type</b> <span class="symbol"><a name="ref_488_9">Attributed_Character</a></span> <b>is</b> <b>record</b> - <span class="symbol"><A NAME="ref_490_10">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A>; - <span class="symbol"><A NAME="ref_491_10">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>; - <span class="symbol"><A NAME="ref_492_10">Ch</A></span> : Character; + <span class="symbol"><a name="ref_490_10">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>; + <span class="symbol"><a name="ref_491_10">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>; + <span class="symbol"><a name="ref_492_10">Ch</a></span> : Character; <b>end</b> <b>record</b>; - <b>pragma</b> Convention (C_Pass_By_Copy, <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>); - <span class="comment"><EM>-- This is the counterpart for the chtype in C.</EM></span> + <b>pragma</b> Convention (C_Pass_By_Copy, <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>); + <span class="comment"><em>-- This is the counterpart for the chtype in C.</em></span> - <b>for</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> <b>use</b> + <b>for</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> <b>use</b> <b>record</b> - <A HREF="terminal_interface-curses__ads.htm#ref_492_10">Ch</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_29_4">A_CHARTEXT_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_30_4">A_CHARTEXT_Last</A>; - <A HREF="terminal_interface-curses__ads.htm#ref_491_10">Color</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_31_4">A_COLOR_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_32_4">A_COLOR_Last</A>; + <a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_29_4">A_CHARTEXT_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_30_4">A_CHARTEXT_Last</a>; + <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_31_4">A_COLOR_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_32_4">A_COLOR_Last</a>; <b>pragma</b> Warnings (Off); - <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A> - .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_34_4">Attr_Last</A>; + <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</a> + .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_34_4">Attr_Last</a>; <b>pragma</b> Warnings (On); <b>end</b> <b>record</b>; - <b>for</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>'Size <b>use</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_65_4">chtype_Size</A>; + <b>for</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>'Size <b>use</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_65_4">chtype_Size</a>; - <span class="symbol"><A NAME="ref_510_4">Default_Character</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> - := (<A HREF="terminal_interface-curses__ads.htm#ref_492_10">Ch</A> => Character'First, - <A HREF="terminal_interface-curses__ads.htm#ref_491_10">Color</A> => <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'First, - <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Attr</A> => (<b>others</b> => False)); <span class="comment"><EM>-- preelaboratable Normal_Video</EM></span> + <span class="symbol"><a name="ref_510_4">Default_Character</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> + := (<a href="terminal_interface-curses__ads.htm#ref_492_10">Ch</a> => Character'First, + <a href="terminal_interface-curses__ads.htm#ref_491_10">Color</a> => <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First, + <a href="terminal_interface-curses__ads.htm#ref_490_10">Attr</a> => (<b>others</b> => False)); <span class="comment"><em>-- preelaboratable Normal_Video</em></span> - <b>type</b> Attributed_String <b>is</b> <b>array</b> (Positive <b>range</b> <>) <b>of</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; + <b>type</b> Attributed_String <b>is</b> <b>array</b> (Positive <b>range</b> <>) <b>of</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; <b>pragma</b> Convention (C, Attributed_String); - <span class="comment"><EM>-- In this binding we allow strings of attributed characters.</EM></span> - - <span class="comment"><EM>------------------</EM></span> - <span class="comment"><EM>-- Exceptions --</EM></span> - <span class="comment"><EM>------------------</EM></span> - <span class="symbol"><A NAME="ref_522_4">Curses_Exception</A></span> : <b>exception</b>; - <span class="symbol"><A NAME="ref_523_4">Wrong_Curses_Version</A></span> : <b>exception</b>; - - <span class="comment"><EM>-- Those exceptions are raised by the ETI (Extended Terminal Interface)</EM></span> - <span class="comment"><EM>-- subpackets for Menu and Forms handling.</EM></span> - <span class="comment"><EM>--</EM></span> - <span class="symbol"><A NAME="ref_528_4">Eti_System_Error</A></span> : <b>exception</b>; - <span class="symbol"><A NAME="ref_529_4">Eti_Bad_Argument</A></span> : <b>exception</b>; - <span class="symbol"><A NAME="ref_530_4">Eti_Posted</A></span> : <b>exception</b>; - <span class="symbol"><A NAME="ref_531_4">Eti_Connected</A></span> : <b>exception</b>; - <span class="symbol"><A NAME="ref_532_4">Eti_Bad_State</A></span> : <b>exception</b>; - <span class="symbol"><A NAME="ref_533_4">Eti_No_Room</A></span> : <b>exception</b>; - <span class="symbol"><A NAME="ref_534_4">Eti_Not_Posted</A></span> : <b>exception</b>; - <span class="symbol"><A NAME="ref_535_4">Eti_Unknown_Command</A></span> : <b>exception</b>; - <span class="symbol"><A NAME="ref_536_4">Eti_No_Match</A></span> : <b>exception</b>; - <span class="symbol"><A NAME="ref_537_4">Eti_Not_Selectable</A></span> : <b>exception</b>; - <span class="symbol"><A NAME="ref_538_4">Eti_Not_Connected</A></span> : <b>exception</b>; - <span class="symbol"><A NAME="ref_539_4">Eti_Request_Denied</A></span> : <b>exception</b>; - <span class="symbol"><A NAME="ref_540_4">Eti_Invalid_Field</A></span> : <b>exception</b>; - <span class="symbol"><A NAME="ref_541_4">Eti_Current</A></span> : <b>exception</b>; - - <span class="comment"><EM>--------------------------------------------------------------------------</EM></span> - <span class="comment"><EM>-- External C variables</EM></span> - <span class="comment"><EM>-- Conceptually even in C this are kind of constants, but they are</EM></span> - <span class="comment"><EM>-- initialized and sometimes changed by the library routines at runtime</EM></span> - <span class="comment"><EM>-- depending on the type of terminal. I believe the best way to model</EM></span> - <span class="comment"><EM>-- this is to use functions.</EM></span> - <span class="comment"><EM>--------------------------------------------------------------------------</EM></span> - - <b>function</b> <span class="symbol"><A NAME="ref_551_13" HREF="terminal_interface-curses__adb.htm#ref_2355_13">Lines</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_551_13">Lines</A>); - - <b>function</b> <span class="symbol"><A NAME="ref_554_13" HREF="terminal_interface-curses__adb.htm#ref_2363_13">Columns</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>; - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_554_13">Columns</A>); - - <b>function</b> <span class="symbol"><A NAME="ref_557_13" HREF="terminal_interface-curses__adb.htm#ref_2371_13">Tab_Size</A></span> <b>return</b> Natural; - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_557_13">Tab_Size</A>); - - <b>function</b> <span class="symbol"><A NAME="ref_560_13" HREF="terminal_interface-curses__adb.htm#ref_2380_13">Number_Of_Colors</A></span> <b>return</b> Natural; - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_560_13">Number_Of_Colors</A>); - - <b>function</b> <span class="symbol"><A NAME="ref_563_13" HREF="terminal_interface-curses__adb.htm#ref_2388_13">Number_Of_Color_Pairs</A></span> <b>return</b> Natural; - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_563_13">Number_Of_Color_Pairs</A>); - - <b>subtype</b> <span class="symbol"><A NAME="ref_566_12">ACS_Index</A></span> <b>is</b> Character <b>range</b> + <span class="comment"><em>-- In this binding we allow strings of attributed characters.</em></span> + + <span class="comment"><em>------------------</em></span> + <span class="comment"><em>-- Exceptions --</em></span> + <span class="comment"><em>------------------</em></span> + <span class="symbol"><a name="ref_522_4">Curses_Exception</a></span> : <b>exception</b>; + <span class="symbol"><a name="ref_523_4">Wrong_Curses_Version</a></span> : <b>exception</b>; + + <span class="comment"><em>-- Those exceptions are raised by the ETI (Extended Terminal Interface)</em></span> + <span class="comment"><em>-- subpackets for Menu and Forms handling.</em></span> + <span class="comment"><em>--</em></span> + <span class="symbol"><a name="ref_528_4">Eti_System_Error</a></span> : <b>exception</b>; + <span class="symbol"><a name="ref_529_4">Eti_Bad_Argument</a></span> : <b>exception</b>; + <span class="symbol"><a name="ref_530_4">Eti_Posted</a></span> : <b>exception</b>; + <span class="symbol"><a name="ref_531_4">Eti_Connected</a></span> : <b>exception</b>; + <span class="symbol"><a name="ref_532_4">Eti_Bad_State</a></span> : <b>exception</b>; + <span class="symbol"><a name="ref_533_4">Eti_No_Room</a></span> : <b>exception</b>; + <span class="symbol"><a name="ref_534_4">Eti_Not_Posted</a></span> : <b>exception</b>; + <span class="symbol"><a name="ref_535_4">Eti_Unknown_Command</a></span> : <b>exception</b>; + <span class="symbol"><a name="ref_536_4">Eti_No_Match</a></span> : <b>exception</b>; + <span class="symbol"><a name="ref_537_4">Eti_Not_Selectable</a></span> : <b>exception</b>; + <span class="symbol"><a name="ref_538_4">Eti_Not_Connected</a></span> : <b>exception</b>; + <span class="symbol"><a name="ref_539_4">Eti_Request_Denied</a></span> : <b>exception</b>; + <span class="symbol"><a name="ref_540_4">Eti_Invalid_Field</a></span> : <b>exception</b>; + <span class="symbol"><a name="ref_541_4">Eti_Current</a></span> : <b>exception</b>; + + <span class="comment"><em>--------------------------------------------------------------------------</em></span> + <span class="comment"><em>-- External C variables</em></span> + <span class="comment"><em>-- Conceptually even in C this are kind of constants, but they are</em></span> + <span class="comment"><em>-- initialized and sometimes changed by the library routines at runtime</em></span> + <span class="comment"><em>-- depending on the type of terminal. I believe the best way to model</em></span> + <span class="comment"><em>-- this is to use functions.</em></span> + <span class="comment"><em>--------------------------------------------------------------------------</em></span> + + <b>function</b> <span class="symbol"><a name="ref_551_13" href="terminal_interface-curses__adb.htm#ref_2355_13">Lines</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_551_13">Lines</a>); + + <b>function</b> <span class="symbol"><a name="ref_554_13" href="terminal_interface-curses__adb.htm#ref_2363_13">Columns</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>; + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_554_13">Columns</a>); + + <b>function</b> <span class="symbol"><a name="ref_557_13" href="terminal_interface-curses__adb.htm#ref_2371_13">Tab_Size</a></span> <b>return</b> Natural; + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_557_13">Tab_Size</a>); + + <b>function</b> <span class="symbol"><a name="ref_560_13" href="terminal_interface-curses__adb.htm#ref_2380_13">Number_Of_Colors</a></span> <b>return</b> Natural; + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_560_13">Number_Of_Colors</a>); + + <b>function</b> <span class="symbol"><a name="ref_563_13" href="terminal_interface-curses__adb.htm#ref_2388_13">Number_Of_Color_Pairs</a></span> <b>return</b> Natural; + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_563_13">Number_Of_Color_Pairs</a>); + + <b>subtype</b> <span class="symbol"><a name="ref_566_12">ACS_Index</a></span> <b>is</b> Character <b>range</b> Character'Val (0) .. Character'Val (127); - <b>function</b> <span class="symbol"><A NAME="ref_568_13">ACS_Map</A></span> (<span class="symbol"><A NAME="ref_568_22" HREF="terminal_interface-curses__ads.htm#ref_568_13">Index</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; + <b>function</b> <span class="symbol"><a name="ref_568_13">ACS_Map</a></span> (<span class="symbol"><a name="ref_568_22">Index</a></span> : <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; <b>pragma</b> Import (C, ACS_Map, "acs_map_as_function"); - <span class="comment"><EM>-- Constants for several characters from the Alternate Character Set</EM></span> - <span class="comment"><EM>-- You must use these constants as indices into the ACS_Map function</EM></span> - <span class="comment"><EM>-- to get the corresponding attributed character at runtime</EM></span> - <span class="symbol"><A NAME="ref_574_4">ACS_Upper_Left_Corner</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_222_4">ACS_ULCORNER</A>); - <span class="symbol"><A NAME="ref_576_4">ACS_Lower_Left_Corner</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_223_4">ACS_LLCORNER</A>); - <span class="symbol"><A NAME="ref_578_4">ACS_Upper_Right_Corner</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_224_4">ACS_URCORNER</A>); - <span class="symbol"><A NAME="ref_580_4">ACS_Lower_Right_Corner</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_225_4">ACS_LRCORNER</A>); - <span class="symbol"><A NAME="ref_582_4">ACS_Left_Tee</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_226_4">ACS_LTEE</A>); - <span class="symbol"><A NAME="ref_584_4">ACS_Right_Tee</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_227_4">ACS_RTEE</A>); - <span class="symbol"><A NAME="ref_586_4">ACS_Bottom_Tee</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_228_4">ACS_BTEE</A>); - <span class="symbol"><A NAME="ref_588_4">ACS_Top_Tee</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_229_4">ACS_TTEE</A>); - <span class="symbol"><A NAME="ref_590_4">ACS_Horizontal_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_230_4">ACS_HLINE</A>); - <span class="symbol"><A NAME="ref_592_4">ACS_Vertical_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_231_4">ACS_VLINE</A>); - <span class="symbol"><A NAME="ref_594_4">ACS_Plus_Symbol</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_232_4">ACS_PLUS</A>); - <span class="symbol"><A NAME="ref_596_4">ACS_Scan_Line_1</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_233_4">ACS_S1</A>); - <span class="symbol"><A NAME="ref_598_4">ACS_Scan_Line_9</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_234_4">ACS_S9</A>); - <span class="symbol"><A NAME="ref_600_4">ACS_Diamond</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_235_4">ACS_DIAMOND</A>); - <span class="symbol"><A NAME="ref_602_4">ACS_Checker_Board</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_236_4">ACS_CKBOARD</A>); - <span class="symbol"><A NAME="ref_604_4">ACS_Degree</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_237_4">ACS_DEGREE</A>); - <span class="symbol"><A NAME="ref_606_4">ACS_Plus_Minus</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_238_4">ACS_PLMINUS</A>); - <span class="symbol"><A NAME="ref_608_4">ACS_Bullet</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_239_4">ACS_BULLET</A>); - <span class="symbol"><A NAME="ref_610_4">ACS_Left_Arrow</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_240_4">ACS_LARROW</A>); - <span class="symbol"><A NAME="ref_612_4">ACS_Right_Arrow</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_241_4">ACS_RARROW</A>); - <span class="symbol"><A NAME="ref_614_4">ACS_Down_Arrow</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_242_4">ACS_DARROW</A>); - <span class="symbol"><A NAME="ref_616_4">ACS_Up_Arrow</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_243_4">ACS_UARROW</A>); - <span class="symbol"><A NAME="ref_618_4">ACS_Board_Of_Squares</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_244_4">ACS_BOARD</A>); - <span class="symbol"><A NAME="ref_620_4">ACS_Lantern</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_245_4">ACS_LANTERN</A>); - <span class="symbol"><A NAME="ref_622_4">ACS_Solid_Block</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_246_4">ACS_BLOCK</A>); - <span class="symbol"><A NAME="ref_624_4">ACS_Scan_Line_3</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_247_4">ACS_S3</A>); - <span class="symbol"><A NAME="ref_626_4">ACS_Scan_Line_7</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_248_4">ACS_S7</A>); - <span class="symbol"><A NAME="ref_628_4">ACS_Less_Or_Equal</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_249_4">ACS_LEQUAL</A>); - <span class="symbol"><A NAME="ref_630_4">ACS_Greater_Or_Equal</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_250_4">ACS_GEQUAL</A>); - <span class="symbol"><A NAME="ref_632_4">ACS_PI</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_251_4">ACS_PI</A>); - <span class="symbol"><A NAME="ref_634_4">ACS_Not_Equal</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_252_4">ACS_NEQUAL</A>); - <span class="symbol"><A NAME="ref_636_4">ACS_Sterling</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</A> - := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_253_4">ACS_STERLING</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Not implemented: newterm, set_term, delscreen</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_1">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_645_13">Standard_Window</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_initscr.3x.html">stdscr</A></EM></span> + <span class="comment"><em>-- Constants for several characters from the Alternate Character Set</em></span> + <span class="comment"><em>-- You must use these constants as indices into the ACS_Map function</em></span> + <span class="comment"><em>-- to get the corresponding attributed character at runtime</em></span> + <span class="symbol"><a name="ref_574_4">ACS_Upper_Left_Corner</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_222_4">ACS_ULCORNER</a>); + <span class="symbol"><a name="ref_576_4">ACS_Lower_Left_Corner</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_223_4">ACS_LLCORNER</a>); + <span class="symbol"><a name="ref_578_4">ACS_Upper_Right_Corner</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_224_4">ACS_URCORNER</a>); + <span class="symbol"><a name="ref_580_4">ACS_Lower_Right_Corner</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_225_4">ACS_LRCORNER</a>); + <span class="symbol"><a name="ref_582_4">ACS_Left_Tee</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_226_4">ACS_LTEE</a>); + <span class="symbol"><a name="ref_584_4">ACS_Right_Tee</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_227_4">ACS_RTEE</a>); + <span class="symbol"><a name="ref_586_4">ACS_Bottom_Tee</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_228_4">ACS_BTEE</a>); + <span class="symbol"><a name="ref_588_4">ACS_Top_Tee</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_229_4">ACS_TTEE</a>); + <span class="symbol"><a name="ref_590_4">ACS_Horizontal_Line</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_230_4">ACS_HLINE</a>); + <span class="symbol"><a name="ref_592_4">ACS_Vertical_Line</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_231_4">ACS_VLINE</a>); + <span class="symbol"><a name="ref_594_4">ACS_Plus_Symbol</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_232_4">ACS_PLUS</a>); + <span class="symbol"><a name="ref_596_4">ACS_Scan_Line_1</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_233_4">ACS_S1</a>); + <span class="symbol"><a name="ref_598_4">ACS_Scan_Line_9</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_234_4">ACS_S9</a>); + <span class="symbol"><a name="ref_600_4">ACS_Diamond</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_235_4">ACS_DIAMOND</a>); + <span class="symbol"><a name="ref_602_4">ACS_Checker_Board</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_236_4">ACS_CKBOARD</a>); + <span class="symbol"><a name="ref_604_4">ACS_Degree</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_237_4">ACS_DEGREE</a>); + <span class="symbol"><a name="ref_606_4">ACS_Plus_Minus</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_238_4">ACS_PLMINUS</a>); + <span class="symbol"><a name="ref_608_4">ACS_Bullet</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_239_4">ACS_BULLET</a>); + <span class="symbol"><a name="ref_610_4">ACS_Left_Arrow</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_240_4">ACS_LARROW</a>); + <span class="symbol"><a name="ref_612_4">ACS_Right_Arrow</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_241_4">ACS_RARROW</a>); + <span class="symbol"><a name="ref_614_4">ACS_Down_Arrow</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_242_4">ACS_DARROW</a>); + <span class="symbol"><a name="ref_616_4">ACS_Up_Arrow</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_243_4">ACS_UARROW</a>); + <span class="symbol"><a name="ref_618_4">ACS_Board_Of_Squares</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_244_4">ACS_BOARD</a>); + <span class="symbol"><a name="ref_620_4">ACS_Lantern</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_245_4">ACS_LANTERN</a>); + <span class="symbol"><a name="ref_622_4">ACS_Solid_Block</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_246_4">ACS_BLOCK</a>); + <span class="symbol"><a name="ref_624_4">ACS_Scan_Line_3</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_247_4">ACS_S3</a>); + <span class="symbol"><a name="ref_626_4">ACS_Scan_Line_7</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_248_4">ACS_S7</a>); + <span class="symbol"><a name="ref_628_4">ACS_Less_Or_Equal</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_249_4">ACS_LEQUAL</a>); + <span class="symbol"><a name="ref_630_4">ACS_Greater_Or_Equal</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_250_4">ACS_GEQUAL</a>); + <span class="symbol"><a name="ref_632_4">ACS_PI</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_251_4">ACS_PI</a>); + <span class="symbol"><a name="ref_634_4">ACS_Not_Equal</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_252_4">ACS_NEQUAL</a>); + <span class="symbol"><a name="ref_636_4">ACS_Sterling</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_566_12">ACS_Index</a> + := Character'Val (<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_253_4">ACS_STERLING</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Not implemented: newterm, set_term, delscreen</em></span> + + <span class="comment"><em>-- <A NAME="AFU_1">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_645_13">Standard_Window</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_initscr.3x.html">stdscr</A></em></span> <b>pragma</b> Import (C, Standard_Window, "stdscr_as_function"); - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>); + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>); - <span class="comment"><EM>-- <A NAME="AFU_2">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_651_13">Current_Window</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_initscr.3x.html">curscr</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_2">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_651_13">Current_Window</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_initscr.3x.html">curscr</A></em></span> <b>pragma</b> Import (C, Current_Window, "curscr_as_function"); - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_651_13">Current_Window</A>); - - <span class="comment"><EM>-- <A NAME="AFU_3">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_657_14" HREF="terminal_interface-curses__adb.htm#ref_98_14">Init_Screen</A></span>; - - <span class="comment"><EM>-- <A NAME="AFU_4">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_660_14">Init_Windows</A></span> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_657_14">Init_Screen</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_initscr.3x.html">initscr()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_657_14">Init_Screen</A>); - <span class="comment"><EM>-- pragma Inline (Init_Windows);</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_5">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_666_14" HREF="terminal_interface-curses__adb.htm#ref_111_14">End_Windows</A></span>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_initscr.3x.html">endwin()</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_668_14">End_Screen</A></span> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_666_14">End_Windows</A>; - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_666_14">End_Windows</A>); - <span class="comment"><EM>-- pragma Inline (End_Screen);</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_6">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_673_13" HREF="terminal_interface-curses__adb.htm#ref_121_13">Is_End_Window</A></span> <b>return</b> Boolean; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_initscr.3x.html">isendwin()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_673_13">Is_End_Window</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_move.3x.html">curs_move.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_7">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_682_14" HREF="terminal_interface-curses__adb.htm#ref_133_14">Move_Cursor</A></span> (<span class="symbol"><A NAME="ref_682_27" HREF="terminal_interface-curses__adb.htm#ref_133_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_683_27" HREF="terminal_interface-curses__adb.htm#ref_134_27">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_684_27" HREF="terminal_interface-curses__adb.htm#ref_135_27">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_move.3x.html">wmove()</A></EM></span> - <span class="comment"><EM>-- AKA: move()</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_addch.3x.html">curs_addch.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_8">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_694_14" HREF="terminal_interface-curses__adb.htm#ref_148_14">Add</A></span> (<span class="symbol"><A NAME="ref_694_19" HREF="terminal_interface-curses__adb.htm#ref_148_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_695_19" HREF="terminal_interface-curses__adb.htm#ref_149_19">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_addch.3x.html">waddch()</A></EM></span> - <span class="comment"><EM>-- AKA: addch()</EM></span> - - <b>procedure</b> <span class="symbol"><A NAME="ref_699_14" HREF="terminal_interface-curses__adb.htm#ref_160_14">Add</A></span> (<span class="symbol"><A NAME="ref_699_19" HREF="terminal_interface-curses__adb.htm#ref_160_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_700_19" HREF="terminal_interface-curses__adb.htm#ref_161_19">Ch</A></span> : Character); - <span class="comment"><EM>-- Add a single character at the current logical cursor position to</EM></span> - <span class="comment"><EM>-- the window. Use the current windows attributes.</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_9">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_705_14" HREF="terminal_interface-curses__adb.htm#ref_170_14">Add</A></span> - (<span class="symbol"><A NAME="ref_706_7" HREF="terminal_interface-curses__adb.htm#ref_171_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_707_7" HREF="terminal_interface-curses__adb.htm#ref_172_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_708_7" HREF="terminal_interface-curses__adb.htm#ref_173_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_709_7" HREF="terminal_interface-curses__adb.htm#ref_174_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_addch.3x.html">mvwaddch()</A></EM></span> - <span class="comment"><EM>-- AKA: mvaddch()</EM></span> - - <b>procedure</b> <span class="symbol"><A NAME="ref_713_14" HREF="terminal_interface-curses__adb.htm#ref_190_14">Add</A></span> - (<span class="symbol"><A NAME="ref_714_7" HREF="terminal_interface-curses__adb.htm#ref_191_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_715_7" HREF="terminal_interface-curses__adb.htm#ref_192_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_716_7" HREF="terminal_interface-curses__adb.htm#ref_193_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_717_7" HREF="terminal_interface-curses__adb.htm#ref_194_7">Ch</A></span> : Character); - <span class="comment"><EM>-- Move to the position and add a single character into the window</EM></span> - <span class="comment"><EM>-- There are more Add routines, so the Inline pragma follows later</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_10">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_722_14" HREF="terminal_interface-curses__adb.htm#ref_205_14">Add_With_Immediate_Echo</A></span> - (<span class="symbol"><A NAME="ref_723_7" HREF="terminal_interface-curses__adb.htm#ref_206_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_724_7" HREF="terminal_interface-curses__adb.htm#ref_207_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_addch.3x.html">wechochar()</A></EM></span> - <span class="comment"><EM>-- AKA: echochar()</EM></span> - - <b>procedure</b> <span class="symbol"><A NAME="ref_728_14" HREF="terminal_interface-curses__adb.htm#ref_218_14">Add_With_Immediate_Echo</A></span> - (<span class="symbol"><A NAME="ref_729_7" HREF="terminal_interface-curses__adb.htm#ref_219_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_730_7" HREF="terminal_interface-curses__adb.htm#ref_220_7">Ch</A></span> : Character); - <span class="comment"><EM>-- Add a character and do an immediate refresh of the screen.</EM></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_651_13">Current_Window</a>); + + <span class="comment"><em>-- <A NAME="AFU_3">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_657_14" href="terminal_interface-curses__adb.htm#ref_98_14">Init_Screen</a></span>; + + <span class="comment"><em>-- <A NAME="AFU_4">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_660_14">Init_Windows</a></span> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_657_14">Init_Screen</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_initscr.3x.html">initscr()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_657_14">Init_Screen</a>); + <span class="comment"><em>-- pragma Inline (Init_Windows);</em></span> + + <span class="comment"><em>-- <A NAME="AFU_5">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_666_14" href="terminal_interface-curses__adb.htm#ref_111_14">End_Windows</a></span>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_initscr.3x.html">endwin()</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_668_14">End_Screen</a></span> <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_666_14">End_Windows</a>; + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_666_14">End_Windows</a>); + <span class="comment"><em>-- pragma Inline (End_Screen);</em></span> + + <span class="comment"><em>-- <A NAME="AFU_6">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_673_13" href="terminal_interface-curses__adb.htm#ref_121_13">Is_End_Window</a></span> <b>return</b> Boolean; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_initscr.3x.html">isendwin()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_673_13">Is_End_Window</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_move.3x.html">curs_move.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_7">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_682_14" href="terminal_interface-curses__adb.htm#ref_133_14">Move_Cursor</a></span> (<span class="symbol"><a name="ref_682_27" href="terminal_interface-curses__adb.htm#ref_133_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_683_27" href="terminal_interface-curses__adb.htm#ref_134_27">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_684_27" href="terminal_interface-curses__adb.htm#ref_135_27">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_move.3x.html">wmove()</A></em></span> + <span class="comment"><em>-- AKA: move()</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_682_14">Move_Cursor</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_addch.3x.html">curs_addch.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_8">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_694_14" href="terminal_interface-curses__adb.htm#ref_148_14">Add</a></span> (<span class="symbol"><a name="ref_694_19" href="terminal_interface-curses__adb.htm#ref_148_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_695_19" href="terminal_interface-curses__adb.htm#ref_149_19">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_addch.3x.html">waddch()</A></em></span> + <span class="comment"><em>-- AKA: addch()</em></span> + + <b>procedure</b> <span class="symbol"><a name="ref_699_14" href="terminal_interface-curses__adb.htm#ref_160_14">Add</a></span> (<span class="symbol"><a name="ref_699_19" href="terminal_interface-curses__adb.htm#ref_160_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_700_19" href="terminal_interface-curses__adb.htm#ref_161_19">Ch</a></span> : Character); + <span class="comment"><em>-- Add a single character at the current logical cursor position to</em></span> + <span class="comment"><em>-- the window. Use the current windows attributes.</em></span> + + <span class="comment"><em>-- <A NAME="AFU_9">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_705_14" href="terminal_interface-curses__adb.htm#ref_170_14">Add</a></span> + (<span class="symbol"><a name="ref_706_7" href="terminal_interface-curses__adb.htm#ref_171_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_707_7" href="terminal_interface-curses__adb.htm#ref_172_7">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_708_7" href="terminal_interface-curses__adb.htm#ref_173_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_709_7" href="terminal_interface-curses__adb.htm#ref_174_7">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_addch.3x.html">mvwaddch()</A></em></span> + <span class="comment"><em>-- AKA: mvaddch()</em></span> + + <b>procedure</b> <span class="symbol"><a name="ref_713_14" href="terminal_interface-curses__adb.htm#ref_190_14">Add</a></span> + (<span class="symbol"><a name="ref_714_7" href="terminal_interface-curses__adb.htm#ref_191_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_715_7" href="terminal_interface-curses__adb.htm#ref_192_7">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_716_7" href="terminal_interface-curses__adb.htm#ref_193_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_717_7" href="terminal_interface-curses__adb.htm#ref_194_7">Ch</a></span> : Character); + <span class="comment"><em>-- Move to the position and add a single character into the window</em></span> + <span class="comment"><em>-- There are more Add routines, so the Inline pragma follows later</em></span> + + <span class="comment"><em>-- <A NAME="AFU_10">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_722_14" href="terminal_interface-curses__adb.htm#ref_205_14">Add_With_Immediate_Echo</a></span> + (<span class="symbol"><a name="ref_723_7" href="terminal_interface-curses__adb.htm#ref_206_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_724_7" href="terminal_interface-curses__adb.htm#ref_207_7">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_addch.3x.html">wechochar()</A></em></span> + <span class="comment"><em>-- AKA: echochar()</em></span> + + <b>procedure</b> <span class="symbol"><a name="ref_728_14" href="terminal_interface-curses__adb.htm#ref_218_14">Add_With_Immediate_Echo</a></span> + (<span class="symbol"><a name="ref_729_7" href="terminal_interface-curses__adb.htm#ref_219_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_730_7" href="terminal_interface-curses__adb.htm#ref_220_7">Ch</a></span> : Character); + <span class="comment"><em>-- Add a character and do an immediate refresh of the screen.</em></span> <b>pragma</b> Inline (Add_With_Immediate_Echo); - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_window.3x.html">curs_window.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- Not Implemented: wcursyncup</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_11">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_740_13" HREF="terminal_interface-curses__adb.htm#ref_230_13">Create</A></span> - (<span class="symbol"><A NAME="ref_741_7" HREF="terminal_interface-curses__adb.htm#ref_230_21">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_742_7" HREF="terminal_interface-curses__adb.htm#ref_231_21">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>; - <span class="symbol"><A NAME="ref_743_7" HREF="terminal_interface-curses__adb.htm#ref_232_21">First_Line_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_744_7" HREF="terminal_interface-curses__adb.htm#ref_233_21">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="comment"><EM>-- Not Implemented: Default Number_Of_Lines, Number_Of_Columns</EM></span> - <span class="comment"><EM>-- the C version lets them be 0, see the man page.</EM></span> - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_window.3x.html">newwin()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_740_13">Create</A>); + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_window.3x.html">curs_window.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- Not Implemented: wcursyncup</em></span> + + <span class="comment"><em>-- <A NAME="AFU_11">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_740_13" href="terminal_interface-curses__adb.htm#ref_230_13">Create</a></span> + (<span class="symbol"><a name="ref_741_7" href="terminal_interface-curses__adb.htm#ref_230_21">Number_Of_Lines</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_742_7" href="terminal_interface-curses__adb.htm#ref_231_21">Number_Of_Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>; + <span class="symbol"><a name="ref_743_7" href="terminal_interface-curses__adb.htm#ref_232_21">First_Line_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_744_7" href="terminal_interface-curses__adb.htm#ref_233_21">First_Column_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="comment"><em>-- Not Implemented: Default Number_Of_Lines, Number_Of_Columns</em></span> + <span class="comment"><em>-- the C version lets them be 0, see the man page.</em></span> + <span class="comment"><em>-- AKA: <A HREF="../man/curs_window.3x.html">newwin()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_740_13">Create</a>); <b>function</b> New_Window - (<span class="symbol"><A NAME="ref_751_7">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_752_7">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>; - <span class="symbol"><A NAME="ref_753_7">First_Line_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_754_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> - <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_740_13">Create</A>; - <span class="comment"><EM>-- pragma Inline (New_Window);</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_12">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_759_14" HREF="terminal_interface-curses__adb.htm#ref_253_14">Delete</A></span> (<span class="symbol"><A NAME="ref_759_22" HREF="terminal_interface-curses__adb.htm#ref_253_22">Win</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_window.3x.html">delwin()</A></EM></span> - <span class="comment"><EM>-- Reset Win to Null_Window</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_759_14">Delete</A>); - - <span class="comment"><EM>-- <A NAME="AFU_13">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_765_13" HREF="terminal_interface-curses__adb.htm#ref_264_13">Sub_Window</A></span> - (<span class="symbol"><A NAME="ref_766_7" HREF="terminal_interface-curses__adb.htm#ref_265_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_767_7" HREF="terminal_interface-curses__adb.htm#ref_266_7">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_768_7" HREF="terminal_interface-curses__adb.htm#ref_267_7">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>; - <span class="symbol"><A NAME="ref_769_7" HREF="terminal_interface-curses__adb.htm#ref_268_7">First_Line_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_770_7" HREF="terminal_interface-curses__adb.htm#ref_269_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_window.3x.html">subwin()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_765_13">Sub_Window</A>); - - <span class="comment"><EM>-- <A NAME="AFU_14">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_775_13" HREF="terminal_interface-curses__adb.htm#ref_292_13">Derived_Window</A></span> - (<span class="symbol"><A NAME="ref_776_7" HREF="terminal_interface-curses__adb.htm#ref_293_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_777_7" HREF="terminal_interface-curses__adb.htm#ref_294_7">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_778_7" HREF="terminal_interface-curses__adb.htm#ref_295_7">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>; - <span class="symbol"><A NAME="ref_779_7" HREF="terminal_interface-curses__adb.htm#ref_296_7">First_Line_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_780_7" HREF="terminal_interface-curses__adb.htm#ref_297_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_window.3x.html">derwin()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_775_13">Derived_Window</A>); - - <span class="comment"><EM>-- <A NAME="AFU_15">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_785_13" HREF="terminal_interface-curses__adb.htm#ref_320_13">Duplicate</A></span> (<span class="symbol"><A NAME="ref_785_24" HREF="terminal_interface-curses__adb.htm#ref_320_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_window.3x.html">dupwin()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_785_13">Duplicate</A>); - - <span class="comment"><EM>-- <A NAME="AFU_16">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_790_14" HREF="terminal_interface-curses__adb.htm#ref_333_14">Move_Window</A></span> (<span class="symbol"><A NAME="ref_790_27" HREF="terminal_interface-curses__adb.htm#ref_333_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_791_27" HREF="terminal_interface-curses__adb.htm#ref_334_27">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_792_27" HREF="terminal_interface-curses__adb.htm#ref_335_27">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_window.3x.html">mvwin()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_790_14">Move_Window</A>); - - <span class="comment"><EM>-- <A NAME="AFU_17">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_797_14" HREF="terminal_interface-curses__adb.htm#ref_347_14">Move_Derived_Window</A></span> (<span class="symbol"><A NAME="ref_797_35" HREF="terminal_interface-curses__adb.htm#ref_347_35">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_798_35" HREF="terminal_interface-curses__adb.htm#ref_348_35">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_799_35" HREF="terminal_interface-curses__adb.htm#ref_349_35">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_window.3x.html">mvderwin()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_797_14">Move_Derived_Window</A>); - - <span class="comment"><EM>-- <A NAME="AFU_18">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_804_14">Synchronize_Upwards</A></span> (<span class="symbol"><A NAME="ref_804_35" HREF="terminal_interface-curses__ads.htm#ref_804_14">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_window.3x.html">wsyncup()</A></EM></span> + (<span class="symbol"><a name="ref_751_7">Number_Of_Lines</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_752_7">Number_Of_Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>; + <span class="symbol"><a name="ref_753_7">First_Line_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_754_7">First_Column_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> + <b>renames</b> <a href="terminal_interface-curses__ads.htm#ref_740_13">Create</a>; + <span class="comment"><em>-- pragma Inline (New_Window);</em></span> + + <span class="comment"><em>-- <A NAME="AFU_12">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_759_14" href="terminal_interface-curses__adb.htm#ref_253_14">Delete</a></span> (<span class="symbol"><a name="ref_759_22" href="terminal_interface-curses__adb.htm#ref_253_22">Win</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_window.3x.html">delwin()</A></em></span> + <span class="comment"><em>-- Reset Win to Null_Window</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_759_14">Delete</a>); + + <span class="comment"><em>-- <A NAME="AFU_13">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_765_13" href="terminal_interface-curses__adb.htm#ref_264_13">Sub_Window</a></span> + (<span class="symbol"><a name="ref_766_7" href="terminal_interface-curses__adb.htm#ref_265_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_767_7" href="terminal_interface-curses__adb.htm#ref_266_7">Number_Of_Lines</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_768_7" href="terminal_interface-curses__adb.htm#ref_267_7">Number_Of_Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>; + <span class="symbol"><a name="ref_769_7" href="terminal_interface-curses__adb.htm#ref_268_7">First_Line_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_770_7" href="terminal_interface-curses__adb.htm#ref_269_7">First_Column_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_window.3x.html">subwin()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_765_13">Sub_Window</a>); + + <span class="comment"><em>-- <A NAME="AFU_14">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_775_13" href="terminal_interface-curses__adb.htm#ref_292_13">Derived_Window</a></span> + (<span class="symbol"><a name="ref_776_7" href="terminal_interface-curses__adb.htm#ref_293_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_777_7" href="terminal_interface-curses__adb.htm#ref_294_7">Number_Of_Lines</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_778_7" href="terminal_interface-curses__adb.htm#ref_295_7">Number_Of_Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>; + <span class="symbol"><a name="ref_779_7" href="terminal_interface-curses__adb.htm#ref_296_7">First_Line_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_780_7" href="terminal_interface-curses__adb.htm#ref_297_7">First_Column_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_window.3x.html">derwin()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_775_13">Derived_Window</a>); + + <span class="comment"><em>-- <A NAME="AFU_15">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_785_13" href="terminal_interface-curses__adb.htm#ref_320_13">Duplicate</a></span> (<span class="symbol"><a name="ref_785_24" href="terminal_interface-curses__adb.htm#ref_320_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_window.3x.html">dupwin()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_785_13">Duplicate</a>); + + <span class="comment"><em>-- <A NAME="AFU_16">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_790_14" href="terminal_interface-curses__adb.htm#ref_333_14">Move_Window</a></span> (<span class="symbol"><a name="ref_790_27" href="terminal_interface-curses__adb.htm#ref_333_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_791_27" href="terminal_interface-curses__adb.htm#ref_334_27">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_792_27" href="terminal_interface-curses__adb.htm#ref_335_27">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_window.3x.html">mvwin()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_790_14">Move_Window</a>); + + <span class="comment"><em>-- <A NAME="AFU_17">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_797_14" href="terminal_interface-curses__adb.htm#ref_347_14">Move_Derived_Window</a></span> (<span class="symbol"><a name="ref_797_35" href="terminal_interface-curses__adb.htm#ref_347_35">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_798_35" href="terminal_interface-curses__adb.htm#ref_348_35">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_799_35" href="terminal_interface-curses__adb.htm#ref_349_35">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_window.3x.html">mvderwin()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_797_14">Move_Derived_Window</a>); + + <span class="comment"><em>-- <A NAME="AFU_18">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_804_14">Synchronize_Upwards</a></span> (<span class="symbol"><a name="ref_804_35">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_window.3x.html">wsyncup()</A></em></span> <b>pragma</b> Import (C, Synchronize_Upwards, "wsyncup"); - <span class="comment"><EM>-- <A NAME="AFU_19">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_809_14">Synchronize_Downwards</A></span> (<span class="symbol"><A NAME="ref_809_37" HREF="terminal_interface-curses__ads.htm#ref_809_14">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_window.3x.html">wsyncdown()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_19">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_809_14">Synchronize_Downwards</a></span> (<span class="symbol"><a name="ref_809_37">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_window.3x.html">wsyncdown()</A></em></span> <b>pragma</b> Import (C, Synchronize_Downwards, "wsyncdown"); - <span class="comment"><EM>-- <A NAME="AFU_20">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_814_14" HREF="terminal_interface-curses__adb.htm#ref_361_14">Set_Synch_Mode</A></span> (<span class="symbol"><A NAME="ref_814_30" HREF="terminal_interface-curses__adb.htm#ref_361_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_815_30" HREF="terminal_interface-curses__adb.htm#ref_362_30">Mode</A></span> : Boolean := False); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_window.3x.html">syncok()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_814_14">Set_Synch_Mode</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_addstr.3x.html">curs_addstr.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_21">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_824_14" HREF="terminal_interface-curses__adb.htm#ref_373_14">Add</A></span> (<span class="symbol"><A NAME="ref_824_19" HREF="terminal_interface-curses__adb.htm#ref_373_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_825_19" HREF="terminal_interface-curses__adb.htm#ref_374_19">Str</A></span> : String; - <span class="symbol"><A NAME="ref_826_19" HREF="terminal_interface-curses__adb.htm#ref_375_19">Len</A></span> : Integer := -1); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_addstr.3x.html">waddnstr()</A></EM></span> - <span class="comment"><EM>-- AKA: waddstr()</EM></span> - <span class="comment"><EM>-- AKA: addnstr()</EM></span> - <span class="comment"><EM>-- AKA: addstr()</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_22">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_833_14" HREF="terminal_interface-curses__adb.htm#ref_391_14">Add</A></span> (<span class="symbol"><A NAME="ref_833_19" HREF="terminal_interface-curses__adb.htm#ref_392_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_834_19" HREF="terminal_interface-curses__adb.htm#ref_393_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_835_19" HREF="terminal_interface-curses__adb.htm#ref_394_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_836_19" HREF="terminal_interface-curses__adb.htm#ref_395_7">Str</A></span> : String; - <span class="symbol"><A NAME="ref_837_19" HREF="terminal_interface-curses__adb.htm#ref_396_7">Len</A></span> : Integer := -1); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_addstr.3x.html">mvwaddnstr()</A></EM></span> - <span class="comment"><EM>-- AKA: mvwaddstr()</EM></span> - <span class="comment"><EM>-- AKA: mvaddnstr()</EM></span> - <span class="comment"><EM>-- AKA: mvaddstr()</EM></span> - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_addchstr.3x.html">curs_addchstr.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_23">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_848_14" HREF="terminal_interface-curses__adb.htm#ref_403_14">Add</A></span> (<span class="symbol"><A NAME="ref_848_19" HREF="terminal_interface-curses__adb.htm#ref_404_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_849_19" HREF="terminal_interface-curses__adb.htm#ref_405_7">Str</A></span> : Attributed_String; - <span class="symbol"><A NAME="ref_850_19" HREF="terminal_interface-curses__adb.htm#ref_406_7">Len</A></span> : Integer := -1); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_addchstr.3x.html">waddchnstr()</A></EM></span> - <span class="comment"><EM>-- AKA: waddchstr()</EM></span> - <span class="comment"><EM>-- AKA: addchnstr()</EM></span> - <span class="comment"><EM>-- AKA: addchstr()</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_24">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_857_14" HREF="terminal_interface-curses__adb.htm#ref_427_14">Add</A></span> (<span class="symbol"><A NAME="ref_857_19" HREF="terminal_interface-curses__adb.htm#ref_428_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_858_19" HREF="terminal_interface-curses__adb.htm#ref_429_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_859_19" HREF="terminal_interface-curses__adb.htm#ref_430_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_860_19" HREF="terminal_interface-curses__adb.htm#ref_431_7">Str</A></span> : Attributed_String; - <span class="symbol"><A NAME="ref_861_19" HREF="terminal_interface-curses__adb.htm#ref_432_7">Len</A></span> : Integer := -1); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_addchstr.3x.html">mvwaddchnstr()</A></EM></span> - <span class="comment"><EM>-- AKA: mvwaddchstr()</EM></span> - <span class="comment"><EM>-- AKA: mvaddchnstr()</EM></span> - <span class="comment"><EM>-- AKA: mvaddchstr()</EM></span> + <span class="comment"><em>-- <A NAME="AFU_20">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_814_14" href="terminal_interface-curses__adb.htm#ref_361_14">Set_Synch_Mode</a></span> (<span class="symbol"><a name="ref_814_30" href="terminal_interface-curses__adb.htm#ref_361_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_815_30" href="terminal_interface-curses__adb.htm#ref_362_30">Mode</a></span> : Boolean := False); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_window.3x.html">syncok()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_814_14">Set_Synch_Mode</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_addstr.3x.html">curs_addstr.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_21">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_824_14" href="terminal_interface-curses__adb.htm#ref_373_14">Add</a></span> (<span class="symbol"><a name="ref_824_19" href="terminal_interface-curses__adb.htm#ref_373_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_825_19" href="terminal_interface-curses__adb.htm#ref_374_19">Str</a></span> : String; + <span class="symbol"><a name="ref_826_19" href="terminal_interface-curses__adb.htm#ref_375_19">Len</a></span> : Integer := -1); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_addstr.3x.html">waddnstr()</A></em></span> + <span class="comment"><em>-- AKA: waddstr()</em></span> + <span class="comment"><em>-- AKA: addnstr()</em></span> + <span class="comment"><em>-- AKA: addstr()</em></span> + + <span class="comment"><em>-- <A NAME="AFU_22">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_833_14" href="terminal_interface-curses__adb.htm#ref_391_14">Add</a></span> (<span class="symbol"><a name="ref_833_19" href="terminal_interface-curses__adb.htm#ref_392_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_834_19" href="terminal_interface-curses__adb.htm#ref_393_7">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_835_19" href="terminal_interface-curses__adb.htm#ref_394_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_836_19" href="terminal_interface-curses__adb.htm#ref_395_7">Str</a></span> : String; + <span class="symbol"><a name="ref_837_19" href="terminal_interface-curses__adb.htm#ref_396_7">Len</a></span> : Integer := -1); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_addstr.3x.html">mvwaddnstr()</A></em></span> + <span class="comment"><em>-- AKA: mvwaddstr()</em></span> + <span class="comment"><em>-- AKA: mvaddnstr()</em></span> + <span class="comment"><em>-- AKA: mvaddstr()</em></span> + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_addchstr.3x.html">curs_addchstr.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_23">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_848_14" href="terminal_interface-curses__adb.htm#ref_403_14">Add</a></span> (<span class="symbol"><a name="ref_848_19" href="terminal_interface-curses__adb.htm#ref_404_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_849_19" href="terminal_interface-curses__adb.htm#ref_405_7">Str</a></span> : Attributed_String; + <span class="symbol"><a name="ref_850_19" href="terminal_interface-curses__adb.htm#ref_406_7">Len</a></span> : Integer := -1); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_addchstr.3x.html">waddchnstr()</A></em></span> + <span class="comment"><em>-- AKA: waddchstr()</em></span> + <span class="comment"><em>-- AKA: addchnstr()</em></span> + <span class="comment"><em>-- AKA: addchstr()</em></span> + + <span class="comment"><em>-- <A NAME="AFU_24">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_857_14" href="terminal_interface-curses__adb.htm#ref_427_14">Add</a></span> (<span class="symbol"><a name="ref_857_19" href="terminal_interface-curses__adb.htm#ref_428_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_858_19" href="terminal_interface-curses__adb.htm#ref_429_7">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_859_19" href="terminal_interface-curses__adb.htm#ref_430_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_860_19" href="terminal_interface-curses__adb.htm#ref_431_7">Str</a></span> : Attributed_String; + <span class="symbol"><a name="ref_861_19" href="terminal_interface-curses__adb.htm#ref_432_7">Len</a></span> : Integer := -1); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_addchstr.3x.html">mvwaddchnstr()</A></em></span> + <span class="comment"><em>-- AKA: mvwaddchstr()</em></span> + <span class="comment"><em>-- AKA: mvaddchnstr()</em></span> + <span class="comment"><em>-- AKA: mvaddchstr()</em></span> <b>pragma</b> Inline (Add); - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_border.3x.html">curs_border.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Not implemented: mvhline, mvwhline, mvvline, mvwvline</EM></span> - <span class="comment"><EM>-- | use Move_Cursor then Horizontal_Line or Vertical_Line</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_25">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_875_14" HREF="terminal_interface-curses__adb.htm#ref_439_14">Border</A></span> - (<span class="symbol"><A NAME="ref_876_7" HREF="terminal_interface-curses__adb.htm#ref_440_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_877_7" HREF="terminal_interface-curses__adb.htm#ref_441_7">Left_Side_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</A>; - <span class="symbol"><A NAME="ref_878_7" HREF="terminal_interface-curses__adb.htm#ref_442_7">Right_Side_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</A>; - <span class="symbol"><A NAME="ref_879_7" HREF="terminal_interface-curses__adb.htm#ref_443_7">Top_Side_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</A>; - <span class="symbol"><A NAME="ref_880_7" HREF="terminal_interface-curses__adb.htm#ref_444_7">Bottom_Side_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</A>; - <span class="symbol"><A NAME="ref_881_7" HREF="terminal_interface-curses__adb.htm#ref_445_7">Upper_Left_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</A>; - <span class="symbol"><A NAME="ref_882_7" HREF="terminal_interface-curses__adb.htm#ref_446_7">Upper_Right_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</A>; - <span class="symbol"><A NAME="ref_883_7" HREF="terminal_interface-curses__adb.htm#ref_447_7">Lower_Left_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</A>; - <span class="symbol"><A NAME="ref_884_7" HREF="terminal_interface-curses__adb.htm#ref_448_7">Lower_Right_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</A> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_border.3x.html">curs_border.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Not implemented: mvhline, mvwhline, mvvline, mvwvline</em></span> + <span class="comment"><em>-- | use Move_Cursor then Horizontal_Line or Vertical_Line</em></span> + + <span class="comment"><em>-- <A NAME="AFU_25">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_875_14" href="terminal_interface-curses__adb.htm#ref_439_14">Border</a></span> + (<span class="symbol"><a name="ref_876_7" href="terminal_interface-curses__adb.htm#ref_440_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_877_7" href="terminal_interface-curses__adb.htm#ref_441_7">Left_Side_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>; + <span class="symbol"><a name="ref_878_7" href="terminal_interface-curses__adb.htm#ref_442_7">Right_Side_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>; + <span class="symbol"><a name="ref_879_7" href="terminal_interface-curses__adb.htm#ref_443_7">Top_Side_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>; + <span class="symbol"><a name="ref_880_7" href="terminal_interface-curses__adb.htm#ref_444_7">Bottom_Side_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>; + <span class="symbol"><a name="ref_881_7" href="terminal_interface-curses__adb.htm#ref_445_7">Upper_Left_Corner_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>; + <span class="symbol"><a name="ref_882_7" href="terminal_interface-curses__adb.htm#ref_446_7">Upper_Right_Corner_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>; + <span class="symbol"><a name="ref_883_7" href="terminal_interface-curses__adb.htm#ref_447_7">Lower_Left_Corner_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>; + <span class="symbol"><a name="ref_884_7" href="terminal_interface-curses__adb.htm#ref_448_7">Lower_Right_Corner_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a> ); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_border.3x.html">wborder()</A></EM></span> - <span class="comment"><EM>-- AKA: border()</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_875_14">Border</A>); - - <span class="comment"><EM>-- <A NAME="AFU_26">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_891_14" HREF="terminal_interface-curses__adb.htm#ref_475_14">Box</A></span> - (<span class="symbol"><A NAME="ref_892_7" HREF="terminal_interface-curses__adb.htm#ref_476_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_893_7" HREF="terminal_interface-curses__adb.htm#ref_477_7">Vertical_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</A>; - <span class="symbol"><A NAME="ref_894_7" HREF="terminal_interface-curses__adb.htm#ref_478_7">Horizontal_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_border.3x.html">box()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_891_14">Box</A>); - - <span class="comment"><EM>-- <A NAME="AFU_27">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_899_14" HREF="terminal_interface-curses__adb.htm#ref_486_14">Horizontal_Line</A></span> - (<span class="symbol"><A NAME="ref_900_7" HREF="terminal_interface-curses__adb.htm#ref_487_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_901_7" HREF="terminal_interface-curses__adb.htm#ref_488_7">Line_Size</A></span> : Natural; - <span class="symbol"><A NAME="ref_902_7" HREF="terminal_interface-curses__adb.htm#ref_489_7">Line_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_border.3x.html">whline()</A></EM></span> - <span class="comment"><EM>-- AKA: hline()</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_899_14">Horizontal_Line</A>); - - <span class="comment"><EM>-- <A NAME="AFU_28">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_908_14" HREF="terminal_interface-curses__adb.htm#ref_504_14">Vertical_Line</A></span> - (<span class="symbol"><A NAME="ref_909_7" HREF="terminal_interface-curses__adb.htm#ref_505_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_910_7" HREF="terminal_interface-curses__adb.htm#ref_506_7">Line_Size</A></span> : Natural; - <span class="symbol"><A NAME="ref_911_7" HREF="terminal_interface-curses__adb.htm#ref_507_7">Line_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_border.3x.html">wvline()</A></EM></span> - <span class="comment"><EM>-- AKA: vline()</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_908_14">Vertical_Line</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_getch.3x.html">curs_getch.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- Not implemented: mvgetch, mvwgetch</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_29">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_922_13" HREF="terminal_interface-curses__adb.htm#ref_523_13">Get_Keystroke</A></span> (<span class="symbol"><A NAME="ref_922_28" HREF="terminal_interface-curses__adb.htm#ref_523_28">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>) - <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_getch.3x.html">wgetch()</A></EM></span> - <span class="comment"><EM>-- AKA: getch()</EM></span> - <span class="comment"><EM>-- Get a character from the keyboard and echo it - if enabled - to the</EM></span> - <span class="comment"><EM>-- window.</EM></span> - <span class="comment"><EM>-- If for any reason (i.e. a timeout) we could not get a character the</EM></span> - <span class="comment"><EM>-- returned keycode is Key_None.</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_922_13">Get_Keystroke</A>); - - <span class="comment"><EM>-- <A NAME="AFU_30">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_933_14" HREF="terminal_interface-curses__adb.htm#ref_538_14">Undo_Keystroke</A></span> (<span class="symbol"><A NAME="ref_933_30" HREF="terminal_interface-curses__adb.htm#ref_538_30">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_getch.3x.html">ungetch()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_933_14">Undo_Keystroke</A>); - - <span class="comment"><EM>-- <A NAME="AFU_31">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_938_13" HREF="terminal_interface-curses__adb.htm#ref_548_13">Has_Key</A></span> (<span class="symbol"><A NAME="ref_938_22" HREF="terminal_interface-curses__adb.htm#ref_548_22">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A>) <b>return</b> Boolean; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_getch.3x.html">has_key()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_938_13">Has_Key</A>); - - <span class="comment"><EM>-- |</EM></span> - <span class="comment"><EM>-- | Some helper functions</EM></span> - <span class="comment"><EM>-- |</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_945_13" HREF="terminal_interface-curses__adb.htm#ref_560_13">Is_Function_Key</A></span> (<span class="symbol"><A NAME="ref_945_30" HREF="terminal_interface-curses__adb.htm#ref_560_30">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A>) <b>return</b> Boolean; - <span class="comment"><EM>-- Return True if the Key is a function key (i.e. one of F0 .. F63)</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_945_13">Is_Function_Key</A>); - - <b>subtype</b> <span class="symbol"><A NAME="ref_949_12">Function_Key_Number</A></span> <b>is</b> Integer <b>range</b> 0 .. 63; - <span class="comment"><EM>-- (n)curses allows for 64 function keys.</EM></span> - - <b>function</b> <span class="symbol"><A NAME="ref_952_13" HREF="terminal_interface-curses__adb.htm#ref_572_13">Function_Key</A></span> (<span class="symbol"><A NAME="ref_952_27" HREF="terminal_interface-curses__adb.htm#ref_572_27">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_949_12">Function_Key_Number</A>; - <span class="comment"><EM>-- Return the number of the function key. If the code is not a</EM></span> - <span class="comment"><EM>-- function key, a CONSTRAINT_ERROR will be raised.</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_952_13">Function_Key</A>); - - <b>function</b> <span class="symbol"><A NAME="ref_957_13" HREF="terminal_interface-curses__adb.htm#ref_583_13">Function_Key_Code</A></span> (<span class="symbol"><A NAME="ref_957_32" HREF="terminal_interface-curses__adb.htm#ref_583_32">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_949_12">Function_Key_Number</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</A>; - <span class="comment"><EM>-- Return the key code for a given function-key number.</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_957_13">Function_Key_Code</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Not implemented attr_off, wattr_off,</EM></span> - <span class="comment"><EM>-- | attr_on, wattr_on, attr_set, wattr_set</EM></span> - - <span class="comment"><EM>-- PAIR_NUMBER</EM></span> - <span class="comment"><EM>-- PAIR_NUMBER(c) is the same as c.Color</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_32">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_971_14" HREF="terminal_interface-curses__adb.htm#ref_589_14">Standout</A></span> (<span class="symbol"><A NAME="ref_971_24" HREF="terminal_interface-curses__adb.htm#ref_589_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_972_24" HREF="terminal_interface-curses__adb.htm#ref_590_24">On</A></span> : Boolean := True); - <span class="comment"><EM>-- AKA: wstandout()</EM></span> - <span class="comment"><EM>-- AKA: wstandend()</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_33">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_977_14" HREF="terminal_interface-curses__adb.htm#ref_609_14">Switch_Character_Attribute</A></span> - (<span class="symbol"><A NAME="ref_978_7" HREF="terminal_interface-curses__adb.htm#ref_610_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_979_7" HREF="terminal_interface-curses__adb.htm#ref_611_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</A>; - <span class="symbol"><A NAME="ref_980_7" HREF="terminal_interface-curses__adb.htm#ref_612_7">On</A></span> : Boolean := True); <span class="comment"><EM>-- if False we switch Off.</EM></span> - <span class="comment"><EM>-- Switches those Attributes set to true in the list.</EM></span> - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_attr.3x.html">wattron()</A></EM></span> - <span class="comment"><EM>-- AKA: wattroff()</EM></span> - <span class="comment"><EM>-- AKA: attron()</EM></span> - <span class="comment"><EM>-- AKA: attroff()</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_34">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_988_14" HREF="terminal_interface-curses__adb.htm#ref_637_14">Set_Character_Attributes</A></span> - (<span class="symbol"><A NAME="ref_989_7" HREF="terminal_interface-curses__adb.htm#ref_638_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_990_7" HREF="terminal_interface-curses__adb.htm#ref_639_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</A>; - <span class="symbol"><A NAME="ref_991_7" HREF="terminal_interface-curses__adb.htm#ref_640_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'First); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_attr.3x.html">wattrset()</A></EM></span> - <span class="comment"><EM>-- AKA: attrset()</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_988_14">Set_Character_Attributes</A>); - - <span class="comment"><EM>-- <A NAME="AFU_35">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_997_13" HREF="terminal_interface-curses__adb.htm#ref_654_13">Get_Character_Attribute</A></span> - (<span class="symbol"><A NAME="ref_998_7" HREF="terminal_interface-curses__adb.htm#ref_654_38">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_attr.3x.html">wattr_get()</A></EM></span> - <span class="comment"><EM>-- AKA: attr_get()</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_36">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_1003_13" HREF="terminal_interface-curses__adb.htm#ref_675_13">Get_Character_Attribute</A></span> - (<span class="symbol"><A NAME="ref_1004_7" HREF="terminal_interface-curses__adb.htm#ref_675_38">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_attr.3x.html">wattr_get()</A></EM></span> + <span class="comment"><em>-- AKA: <A HREF="../man/curs_border.3x.html">wborder()</A></em></span> + <span class="comment"><em>-- AKA: border()</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_875_14">Border</a>); + + <span class="comment"><em>-- <A NAME="AFU_26">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_891_14" href="terminal_interface-curses__adb.htm#ref_475_14">Box</a></span> + (<span class="symbol"><a name="ref_892_7" href="terminal_interface-curses__adb.htm#ref_476_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_893_7" href="terminal_interface-curses__adb.htm#ref_477_7">Vertical_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>; + <span class="symbol"><a name="ref_894_7" href="terminal_interface-curses__adb.htm#ref_478_7">Horizontal_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_border.3x.html">box()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_891_14">Box</a>); + + <span class="comment"><em>-- <A NAME="AFU_27">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_899_14" href="terminal_interface-curses__adb.htm#ref_486_14">Horizontal_Line</a></span> + (<span class="symbol"><a name="ref_900_7" href="terminal_interface-curses__adb.htm#ref_487_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_901_7" href="terminal_interface-curses__adb.htm#ref_488_7">Line_Size</a></span> : Natural; + <span class="symbol"><a name="ref_902_7" href="terminal_interface-curses__adb.htm#ref_489_7">Line_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_border.3x.html">whline()</A></em></span> + <span class="comment"><em>-- AKA: hline()</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_899_14">Horizontal_Line</a>); + + <span class="comment"><em>-- <A NAME="AFU_28">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_908_14" href="terminal_interface-curses__adb.htm#ref_504_14">Vertical_Line</a></span> + (<span class="symbol"><a name="ref_909_7" href="terminal_interface-curses__adb.htm#ref_505_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_910_7" href="terminal_interface-curses__adb.htm#ref_506_7">Line_Size</a></span> : Natural; + <span class="symbol"><a name="ref_911_7" href="terminal_interface-curses__adb.htm#ref_507_7">Line_Symbol</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a> := <a href="terminal_interface-curses__ads.htm#ref_510_4">Default_Character</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_border.3x.html">wvline()</A></em></span> + <span class="comment"><em>-- AKA: vline()</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_908_14">Vertical_Line</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_getch.3x.html">curs_getch.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- Not implemented: mvgetch, mvwgetch</em></span> + + <span class="comment"><em>-- <A NAME="AFU_29">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_922_13" href="terminal_interface-curses__adb.htm#ref_523_13">Get_Keystroke</a></span> (<span class="symbol"><a name="ref_922_28" href="terminal_interface-curses__adb.htm#ref_523_28">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) + <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_getch.3x.html">wgetch()</A></em></span> + <span class="comment"><em>-- AKA: getch()</em></span> + <span class="comment"><em>-- Get a character from the keyboard and echo it - if enabled - to the</em></span> + <span class="comment"><em>-- window.</em></span> + <span class="comment"><em>-- If for any reason (i.e. a timeout) we could not get a character the</em></span> + <span class="comment"><em>-- returned keycode is Key_None.</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_922_13">Get_Keystroke</a>); + + <span class="comment"><em>-- <A NAME="AFU_30">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_933_14" href="terminal_interface-curses__adb.htm#ref_538_14">Undo_Keystroke</a></span> (<span class="symbol"><a name="ref_933_30" href="terminal_interface-curses__adb.htm#ref_538_30">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_getch.3x.html">ungetch()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_933_14">Undo_Keystroke</a>); + + <span class="comment"><em>-- <A NAME="AFU_31">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_938_13" href="terminal_interface-curses__adb.htm#ref_548_13">Has_Key</a></span> (<span class="symbol"><a name="ref_938_22" href="terminal_interface-curses__adb.htm#ref_548_22">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>) <b>return</b> Boolean; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_getch.3x.html">has_key()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_938_13">Has_Key</a>); + + <span class="comment"><em>-- |</em></span> + <span class="comment"><em>-- | Some helper functions</em></span> + <span class="comment"><em>-- |</em></span> + <b>function</b> <span class="symbol"><a name="ref_945_13" href="terminal_interface-curses__adb.htm#ref_560_13">Is_Function_Key</a></span> (<span class="symbol"><a name="ref_945_30" href="terminal_interface-curses__adb.htm#ref_560_30">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>) <b>return</b> Boolean; + <span class="comment"><em>-- Return True if the Key is a function key (i.e. one of F0 .. F63)</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_945_13">Is_Function_Key</a>); + + <b>subtype</b> <span class="symbol"><a name="ref_949_12">Function_Key_Number</a></span> <b>is</b> Integer <b>range</b> 0 .. 63; + <span class="comment"><em>-- (n)curses allows for 64 function keys.</em></span> + + <b>function</b> <span class="symbol"><a name="ref_952_13" href="terminal_interface-curses__adb.htm#ref_572_13">Function_Key</a></span> (<span class="symbol"><a name="ref_952_27" href="terminal_interface-curses__adb.htm#ref_572_27">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_949_12">Function_Key_Number</a>; + <span class="comment"><em>-- Return the number of the function key. If the code is not a</em></span> + <span class="comment"><em>-- function key, a CONSTRAINT_ERROR will be raised.</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_952_13">Function_Key</a>); + + <b>function</b> <span class="symbol"><a name="ref_957_13" href="terminal_interface-curses__adb.htm#ref_583_13">Function_Key_Code</a></span> (<span class="symbol"><a name="ref_957_32" href="terminal_interface-curses__adb.htm#ref_583_32">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_949_12">Function_Key_Number</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>; + <span class="comment"><em>-- Return the key code for a given function-key number.</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_957_13">Function_Key_Code</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Not implemented attr_off, wattr_off,</em></span> + <span class="comment"><em>-- | attr_on, wattr_on, attr_set, wattr_set</em></span> + + <span class="comment"><em>-- PAIR_NUMBER</em></span> + <span class="comment"><em>-- PAIR_NUMBER(c) is the same as c.Color</em></span> + + <span class="comment"><em>-- <A NAME="AFU_32">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_971_14" href="terminal_interface-curses__adb.htm#ref_589_14">Standout</a></span> (<span class="symbol"><a name="ref_971_24" href="terminal_interface-curses__adb.htm#ref_589_24">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_972_24" href="terminal_interface-curses__adb.htm#ref_590_24">On</a></span> : Boolean := True); + <span class="comment"><em>-- AKA: wstandout()</em></span> + <span class="comment"><em>-- AKA: wstandend()</em></span> + + <span class="comment"><em>-- <A NAME="AFU_33">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_977_14" href="terminal_interface-curses__adb.htm#ref_609_14">Switch_Character_Attribute</a></span> + (<span class="symbol"><a name="ref_978_7" href="terminal_interface-curses__adb.htm#ref_610_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_979_7" href="terminal_interface-curses__adb.htm#ref_611_7">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>; + <span class="symbol"><a name="ref_980_7" href="terminal_interface-curses__adb.htm#ref_612_7">On</a></span> : Boolean := True); <span class="comment"><em>-- if False we switch Off.</em></span> + <span class="comment"><em>-- Switches those Attributes set to true in the list.</em></span> + <span class="comment"><em>-- AKA: <A HREF="../man/curs_attr.3x.html">wattron()</A></em></span> + <span class="comment"><em>-- AKA: wattroff()</em></span> + <span class="comment"><em>-- AKA: attron()</em></span> + <span class="comment"><em>-- AKA: attroff()</em></span> + + <span class="comment"><em>-- <A NAME="AFU_34">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_988_14" href="terminal_interface-curses__adb.htm#ref_637_14">Set_Character_Attributes</a></span> + (<span class="symbol"><a name="ref_989_7" href="terminal_interface-curses__adb.htm#ref_638_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_990_7" href="terminal_interface-curses__adb.htm#ref_639_7">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>; + <span class="symbol"><a name="ref_991_7" href="terminal_interface-curses__adb.htm#ref_640_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_attr.3x.html">wattrset()</A></em></span> + <span class="comment"><em>-- AKA: attrset()</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_988_14">Set_Character_Attributes</a>); + + <span class="comment"><em>-- <A NAME="AFU_35">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_997_13" href="terminal_interface-curses__adb.htm#ref_654_13">Get_Character_Attribute</a></span> + (<span class="symbol"><a name="ref_998_7" href="terminal_interface-curses__adb.htm#ref_654_38">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_attr.3x.html">wattr_get()</A></em></span> + <span class="comment"><em>-- AKA: attr_get()</em></span> + + <span class="comment"><em>-- <A NAME="AFU_36">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_1003_13" href="terminal_interface-curses__adb.htm#ref_675_13">Get_Character_Attribute</a></span> + (<span class="symbol"><a name="ref_1004_7" href="terminal_interface-curses__adb.htm#ref_675_38">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_attr.3x.html">wattr_get()</A></em></span> <b>pragma</b> Inline (Get_Character_Attribute); - <span class="comment"><EM>-- <A NAME="AFU_37">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1009_14" HREF="terminal_interface-curses__adb.htm#ref_696_14">Set_Color</A></span> (<span class="symbol"><A NAME="ref_1009_25" HREF="terminal_interface-curses__adb.htm#ref_696_25">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1010_25" HREF="terminal_interface-curses__adb.htm#ref_697_25">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_attr.3x.html">wcolor_set()</A></EM></span> - <span class="comment"><EM>-- AKA: color_set()</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1009_14">Set_Color</A>); - - <span class="comment"><EM>-- <A NAME="AFU_38">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1016_14" HREF="terminal_interface-curses__adb.htm#ref_712_14">Change_Attributes</A></span> - (<span class="symbol"><A NAME="ref_1017_7" HREF="terminal_interface-curses__adb.htm#ref_713_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1018_7" HREF="terminal_interface-curses__adb.htm#ref_714_7">Count</A></span> : Integer := -1; - <span class="symbol"><A NAME="ref_1019_7" HREF="terminal_interface-curses__adb.htm#ref_715_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</A>; - <span class="symbol"><A NAME="ref_1020_7" HREF="terminal_interface-curses__adb.htm#ref_716_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'First); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_attr.3x.html">wchgat()</A></EM></span> - <span class="comment"><EM>-- AKA: chgat()</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_39">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1025_14" HREF="terminal_interface-curses__adb.htm#ref_737_14">Change_Attributes</A></span> - (<span class="symbol"><A NAME="ref_1026_7" HREF="terminal_interface-curses__adb.htm#ref_738_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1027_7" HREF="terminal_interface-curses__adb.htm#ref_739_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>'First; - <span class="symbol"><A NAME="ref_1028_7" HREF="terminal_interface-curses__adb.htm#ref_740_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>'First; - <span class="symbol"><A NAME="ref_1029_7" HREF="terminal_interface-curses__adb.htm#ref_741_7">Count</A></span> : Integer := -1; - <span class="symbol"><A NAME="ref_1030_7" HREF="terminal_interface-curses__adb.htm#ref_742_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</A>; - <span class="symbol"><A NAME="ref_1031_7" HREF="terminal_interface-curses__adb.htm#ref_743_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'First); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_attr.3x.html">mvwchgat()</A></EM></span> - <span class="comment"><EM>-- AKA: mvchgat()</EM></span> + <span class="comment"><em>-- <A NAME="AFU_37">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1009_14" href="terminal_interface-curses__adb.htm#ref_696_14">Set_Color</a></span> (<span class="symbol"><a name="ref_1009_25" href="terminal_interface-curses__adb.htm#ref_696_25">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1010_25" href="terminal_interface-curses__adb.htm#ref_697_25">Pair</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_attr.3x.html">wcolor_set()</A></em></span> + <span class="comment"><em>-- AKA: color_set()</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1009_14">Set_Color</a>); + + <span class="comment"><em>-- <A NAME="AFU_38">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1016_14" href="terminal_interface-curses__adb.htm#ref_712_14">Change_Attributes</a></span> + (<span class="symbol"><a name="ref_1017_7" href="terminal_interface-curses__adb.htm#ref_713_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1018_7" href="terminal_interface-curses__adb.htm#ref_714_7">Count</a></span> : Integer := -1; + <span class="symbol"><a name="ref_1019_7" href="terminal_interface-curses__adb.htm#ref_715_7">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>; + <span class="symbol"><a name="ref_1020_7" href="terminal_interface-curses__adb.htm#ref_716_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_attr.3x.html">wchgat()</A></em></span> + <span class="comment"><em>-- AKA: chgat()</em></span> + + <span class="comment"><em>-- <A NAME="AFU_39">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1025_14" href="terminal_interface-curses__adb.htm#ref_737_14">Change_Attributes</a></span> + (<span class="symbol"><a name="ref_1026_7" href="terminal_interface-curses__adb.htm#ref_738_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1027_7" href="terminal_interface-curses__adb.htm#ref_739_7">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a> := <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>'First; + <span class="symbol"><a name="ref_1028_7" href="terminal_interface-curses__adb.htm#ref_740_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> := <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>'First; + <span class="symbol"><a name="ref_1029_7" href="terminal_interface-curses__adb.htm#ref_741_7">Count</a></span> : Integer := -1; + <span class="symbol"><a name="ref_1030_7" href="terminal_interface-curses__adb.htm#ref_742_7">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>; + <span class="symbol"><a name="ref_1031_7" href="terminal_interface-curses__adb.htm#ref_743_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_attr.3x.html">mvwchgat()</A></em></span> + <span class="comment"><em>-- AKA: mvchgat()</em></span> <b>pragma</b> Inline (Change_Attributes); - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_beep.3x.html">curs_beep.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_40">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1041_14" HREF="terminal_interface-curses__adb.htm#ref_750_14">Beep</A></span>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_beep.3x.html">beep()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1041_14">Beep</A>); - - <span class="comment"><EM>-- <A NAME="AFU_41">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1046_14" HREF="terminal_interface-curses__adb.htm#ref_760_14">Flash_Screen</A></span>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_beep.3x.html">flash()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1046_14">Flash_Screen</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_inopts.3x.html">curs_inopts.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- | Not implemented : typeahead</EM></span> - <span class="comment"><EM>--</EM></span> - <span class="comment"><EM>-- <A NAME="AFU_42">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1057_14" HREF="terminal_interface-curses__adb.htm#ref_770_14">Set_Cbreak_Mode</A></span> (<span class="symbol"><A NAME="ref_1057_31" HREF="terminal_interface-curses__adb.htm#ref_770_31">SwitchOn</A></span> : Boolean := True); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_inopts.3x.html">cbreak()</A></EM></span> - <span class="comment"><EM>-- AKA: nocbreak()</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1057_14">Set_Cbreak_Mode</A>); - - <span class="comment"><EM>-- <A NAME="AFU_43">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1063_14" HREF="terminal_interface-curses__adb.htm#ref_789_14">Set_Raw_Mode</A></span> (<span class="symbol"><A NAME="ref_1063_28" HREF="terminal_interface-curses__adb.htm#ref_789_28">SwitchOn</A></span> : Boolean := True); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_inopts.3x.html">raw()</A></EM></span> - <span class="comment"><EM>-- AKA: noraw()</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1063_14">Set_Raw_Mode</A>); - - <span class="comment"><EM>-- <A NAME="AFU_44">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1069_14" HREF="terminal_interface-curses__adb.htm#ref_808_14">Set_Echo_Mode</A></span> (<span class="symbol"><A NAME="ref_1069_29" HREF="terminal_interface-curses__adb.htm#ref_808_29">SwitchOn</A></span> : Boolean := True); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_inopts.3x.html">echo()</A></EM></span> - <span class="comment"><EM>-- AKA: noecho()</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1069_14">Set_Echo_Mode</A>); - - <span class="comment"><EM>-- <A NAME="AFU_45">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1075_14" HREF="terminal_interface-curses__adb.htm#ref_827_14">Set_Meta_Mode</A></span> (<span class="symbol"><A NAME="ref_1075_29" HREF="terminal_interface-curses__adb.htm#ref_827_29">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1076_29" HREF="terminal_interface-curses__adb.htm#ref_828_29">SwitchOn</A></span> : Boolean := True); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_inopts.3x.html">meta()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1075_14">Set_Meta_Mode</A>); - - <span class="comment"><EM>-- <A NAME="AFU_46">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1081_14" HREF="terminal_interface-curses__adb.htm#ref_838_14">Set_KeyPad_Mode</A></span> (<span class="symbol"><A NAME="ref_1081_31" HREF="terminal_interface-curses__adb.htm#ref_838_31">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1082_31" HREF="terminal_interface-curses__adb.htm#ref_839_31">SwitchOn</A></span> : Boolean := True); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_inopts.3x.html">keypad()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1081_14">Set_KeyPad_Mode</A>); - - <b>function</b> <span class="symbol"><A NAME="ref_1086_13" HREF="terminal_interface-curses__adb.htm#ref_849_13">Get_KeyPad_Mode</A></span> (<span class="symbol"><A NAME="ref_1086_30" HREF="terminal_interface-curses__adb.htm#ref_849_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>) + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_beep.3x.html">curs_beep.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_40">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1041_14" href="terminal_interface-curses__adb.htm#ref_750_14">Beep</a></span>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_beep.3x.html">beep()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1041_14">Beep</a>); + + <span class="comment"><em>-- <A NAME="AFU_41">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1046_14" href="terminal_interface-curses__adb.htm#ref_760_14">Flash_Screen</a></span>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_beep.3x.html">flash()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1046_14">Flash_Screen</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_inopts.3x.html">curs_inopts.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- | Not implemented : typeahead</em></span> + <span class="comment"><em>--</em></span> + <span class="comment"><em>-- <A NAME="AFU_42">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1057_14" href="terminal_interface-curses__adb.htm#ref_770_14">Set_Cbreak_Mode</a></span> (<span class="symbol"><a name="ref_1057_31" href="terminal_interface-curses__adb.htm#ref_770_31">SwitchOn</a></span> : Boolean := True); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_inopts.3x.html">cbreak()</A></em></span> + <span class="comment"><em>-- AKA: nocbreak()</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1057_14">Set_Cbreak_Mode</a>); + + <span class="comment"><em>-- <A NAME="AFU_43">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1063_14" href="terminal_interface-curses__adb.htm#ref_789_14">Set_Raw_Mode</a></span> (<span class="symbol"><a name="ref_1063_28" href="terminal_interface-curses__adb.htm#ref_789_28">SwitchOn</a></span> : Boolean := True); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_inopts.3x.html">raw()</A></em></span> + <span class="comment"><em>-- AKA: noraw()</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1063_14">Set_Raw_Mode</a>); + + <span class="comment"><em>-- <A NAME="AFU_44">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1069_14" href="terminal_interface-curses__adb.htm#ref_808_14">Set_Echo_Mode</a></span> (<span class="symbol"><a name="ref_1069_29" href="terminal_interface-curses__adb.htm#ref_808_29">SwitchOn</a></span> : Boolean := True); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_inopts.3x.html">echo()</A></em></span> + <span class="comment"><em>-- AKA: noecho()</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1069_14">Set_Echo_Mode</a>); + + <span class="comment"><em>-- <A NAME="AFU_45">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1075_14" href="terminal_interface-curses__adb.htm#ref_827_14">Set_Meta_Mode</a></span> (<span class="symbol"><a name="ref_1075_29" href="terminal_interface-curses__adb.htm#ref_827_29">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1076_29" href="terminal_interface-curses__adb.htm#ref_828_29">SwitchOn</a></span> : Boolean := True); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_inopts.3x.html">meta()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1075_14">Set_Meta_Mode</a>); + + <span class="comment"><em>-- <A NAME="AFU_46">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1081_14" href="terminal_interface-curses__adb.htm#ref_838_14">Set_KeyPad_Mode</a></span> (<span class="symbol"><a name="ref_1081_31" href="terminal_interface-curses__adb.htm#ref_838_31">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1082_31" href="terminal_interface-curses__adb.htm#ref_839_31">SwitchOn</a></span> : Boolean := True); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_inopts.3x.html">keypad()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1081_14">Set_KeyPad_Mode</a>); + + <b>function</b> <span class="symbol"><a name="ref_1086_13" href="terminal_interface-curses__adb.htm#ref_849_13">Get_KeyPad_Mode</a></span> (<span class="symbol"><a name="ref_1086_30" href="terminal_interface-curses__adb.htm#ref_849_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) <b>return</b> Boolean; - <span class="comment"><EM>-- This has no pendant in C. There you've to look into the WINDOWS</EM></span> - <span class="comment"><EM>-- structure to get the value. Bad practice, not repeated in Ada.</EM></span> - - <b>type</b> <span class="symbol"><A NAME="ref_1091_9">Half_Delay_Amount</A></span> <b>is</b> <b>range</b> 1 .. 255; - - <span class="comment"><EM>-- <A NAME="AFU_47">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1094_14" HREF="terminal_interface-curses__adb.htm#ref_858_14">Half_Delay</A></span> (<span class="symbol"><A NAME="ref_1094_26" HREF="terminal_interface-curses__adb.htm#ref_858_26">Amount</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1091_9">Half_Delay_Amount</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_inopts.3x.html">halfdelay()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1094_14">Half_Delay</A>); - - <span class="comment"><EM>-- <A NAME="AFU_48">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1099_14" HREF="terminal_interface-curses__adb.htm#ref_868_14">Set_Flush_On_Interrupt_Mode</A></span> - (<span class="symbol"><A NAME="ref_1100_7" HREF="terminal_interface-curses__adb.htm#ref_869_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1101_7" HREF="terminal_interface-curses__adb.htm#ref_870_7">Mode</A></span> : Boolean := True); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_inopts.3x.html">intrflush()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1099_14">Set_Flush_On_Interrupt_Mode</A>); - - <span class="comment"><EM>-- <A NAME="AFU_49">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1106_14" HREF="terminal_interface-curses__adb.htm#ref_880_14">Set_Queue_Interrupt_Mode</A></span> - (<span class="symbol"><A NAME="ref_1107_7" HREF="terminal_interface-curses__adb.htm#ref_881_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1108_7" HREF="terminal_interface-curses__adb.htm#ref_882_7">Flush</A></span> : Boolean := True); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_inopts.3x.html">qiflush()</A></EM></span> - <span class="comment"><EM>-- AKA: noqiflush()</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1106_14">Set_Queue_Interrupt_Mode</A>); - - <span class="comment"><EM>-- <A NAME="AFU_50">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1114_14" HREF="terminal_interface-curses__adb.htm#ref_899_14">Set_NoDelay_Mode</A></span> - (<span class="symbol"><A NAME="ref_1115_7" HREF="terminal_interface-curses__adb.htm#ref_900_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1116_7" HREF="terminal_interface-curses__adb.htm#ref_901_7">Mode</A></span> : Boolean := False); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_inopts.3x.html">nodelay()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1114_14">Set_NoDelay_Mode</A>); - - <b>type</b> <span class="symbol"><A NAME="ref_1120_9">Timeout_Mode</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_1120_26">Blocking</A></span>, <span class="symbol"><A NAME="ref_1120_36">Non_Blocking</A></span>, <span class="symbol"><A NAME="ref_1120_50">Delayed</A></span>); - - <span class="comment"><EM>-- <A NAME="AFU_51">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1123_14" HREF="terminal_interface-curses__adb.htm#ref_911_14">Set_Timeout_Mode</A></span> (<span class="symbol"><A NAME="ref_1123_32" HREF="terminal_interface-curses__adb.htm#ref_911_32">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1124_32" HREF="terminal_interface-curses__adb.htm#ref_912_32">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1120_9">Timeout_Mode</A>; - <span class="symbol"><A NAME="ref_1125_32" HREF="terminal_interface-curses__adb.htm#ref_913_32">Amount</A></span> : Natural); <span class="comment"><EM>-- in Milliseconds</EM></span> - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_inopts.3x.html">wtimeout()</A></EM></span> - <span class="comment"><EM>-- AKA: timeout()</EM></span> - <span class="comment"><EM>-- Instead of overloading the semantic of the sign of amount, we</EM></span> - <span class="comment"><EM>-- introduce the Timeout_Mode parameter. This should improve</EM></span> - <span class="comment"><EM>-- readability. For Blocking and Non_Blocking, the Amount is not</EM></span> - <span class="comment"><EM>-- evaluated.</EM></span> - <span class="comment"><EM>-- We do not inline this procedure.</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_52">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1135_14" HREF="terminal_interface-curses__adb.htm#ref_932_14">Set_Escape_Timer_Mode</A></span> - (<span class="symbol"><A NAME="ref_1136_7" HREF="terminal_interface-curses__adb.htm#ref_933_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1137_7" HREF="terminal_interface-curses__adb.htm#ref_934_7">Timer_Off</A></span> : Boolean := False); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_inopts.3x.html">notimeout()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1135_14">Set_Escape_Timer_Mode</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_outopts.3x.html">curs_outopts.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_53">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1146_14" HREF="terminal_interface-curses__adb.htm#ref_947_14">Set_NL_Mode</A></span> (<span class="symbol"><A NAME="ref_1146_27" HREF="terminal_interface-curses__adb.htm#ref_947_27">SwitchOn</A></span> : Boolean := True); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_outopts.3x.html">nl()</A></EM></span> - <span class="comment"><EM>-- AKA: nonl()</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1146_14">Set_NL_Mode</A>); - - <span class="comment"><EM>-- <A NAME="AFU_54">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1152_14" HREF="terminal_interface-curses__adb.htm#ref_966_14">Clear_On_Next_Update</A></span> - (<span class="symbol"><A NAME="ref_1153_7" HREF="terminal_interface-curses__adb.htm#ref_967_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1154_7" HREF="terminal_interface-curses__adb.htm#ref_968_7">Do_Clear</A></span> : Boolean := True); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_outopts.3x.html">clearok()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1152_14">Clear_On_Next_Update</A>); - - <span class="comment"><EM>-- <A NAME="AFU_55">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1159_14" HREF="terminal_interface-curses__adb.htm#ref_978_14">Use_Insert_Delete_Line</A></span> - (<span class="symbol"><A NAME="ref_1160_7" HREF="terminal_interface-curses__adb.htm#ref_979_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1161_7" HREF="terminal_interface-curses__adb.htm#ref_980_7">Do_Idl</A></span> : Boolean := True); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_outopts.3x.html">idlok()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1159_14">Use_Insert_Delete_Line</A>); - - <span class="comment"><EM>-- <A NAME="AFU_56">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1166_14" HREF="terminal_interface-curses__adb.htm#ref_990_14">Use_Insert_Delete_Character</A></span> - (<span class="symbol"><A NAME="ref_1167_7" HREF="terminal_interface-curses__adb.htm#ref_991_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1168_7" HREF="terminal_interface-curses__adb.htm#ref_992_7">Do_Idc</A></span> : Boolean := True); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_outopts.3x.html">idcok()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1166_14">Use_Insert_Delete_Character</A>); - - <span class="comment"><EM>-- <A NAME="AFU_57">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1173_14" HREF="terminal_interface-curses__adb.htm#ref_1000_14">Leave_Cursor_After_Update</A></span> - (<span class="symbol"><A NAME="ref_1174_7" HREF="terminal_interface-curses__adb.htm#ref_1001_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1175_7" HREF="terminal_interface-curses__adb.htm#ref_1002_7">Do_Leave</A></span> : Boolean := True); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_outopts.3x.html">leaveok()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1173_14">Leave_Cursor_After_Update</A>); - - <span class="comment"><EM>-- <A NAME="AFU_58">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1180_14" HREF="terminal_interface-curses__adb.htm#ref_1012_14">Immediate_Update_Mode</A></span> - (<span class="symbol"><A NAME="ref_1181_7" HREF="terminal_interface-curses__adb.htm#ref_1013_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1182_7" HREF="terminal_interface-curses__adb.htm#ref_1014_7">Mode</A></span> : Boolean := False); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_outopts.3x.html">immedok()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1180_14">Immediate_Update_Mode</A>); - - <span class="comment"><EM>-- <A NAME="AFU_59">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1187_14" HREF="terminal_interface-curses__adb.htm#ref_1022_14">Allow_Scrolling</A></span> - (<span class="symbol"><A NAME="ref_1188_7" HREF="terminal_interface-curses__adb.htm#ref_1023_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1189_7" HREF="terminal_interface-curses__adb.htm#ref_1024_7">Mode</A></span> : Boolean := False); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_outopts.3x.html">scrollok()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1187_14">Allow_Scrolling</A>); - - <b>function</b> <span class="symbol"><A NAME="ref_1193_13" HREF="terminal_interface-curses__adb.htm#ref_1034_13">Scrolling_Allowed</A></span> (<span class="symbol"><A NAME="ref_1193_32" HREF="terminal_interface-curses__adb.htm#ref_1034_32">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>) <b>return</b> Boolean; - <span class="comment"><EM>-- There is no such function in the C interface.</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1193_13">Scrolling_Allowed</A>); - - <span class="comment"><EM>-- <A NAME="AFU_60">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1198_14" HREF="terminal_interface-curses__adb.htm#ref_1043_14">Set_Scroll_Region</A></span> - (<span class="symbol"><A NAME="ref_1199_7" HREF="terminal_interface-curses__adb.htm#ref_1044_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1200_7" HREF="terminal_interface-curses__adb.htm#ref_1045_7">Top_Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1201_7" HREF="terminal_interface-curses__adb.htm#ref_1046_7">Bottom_Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_outopts.3x.html">wsetscrreg()</A></EM></span> - <span class="comment"><EM>-- AKA: setscrreg()</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1198_14">Set_Scroll_Region</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_refresh.3x.html">curs_refresh.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_61">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1211_14" HREF="terminal_interface-curses__adb.htm#ref_1060_14">Update_Screen</A></span>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_refresh.3x.html">doupdate()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1211_14">Update_Screen</A>); - - <span class="comment"><EM>-- <A NAME="AFU_62">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1216_14" HREF="terminal_interface-curses__adb.htm#ref_1070_14">Refresh</A></span> (<span class="symbol"><A NAME="ref_1216_23" HREF="terminal_interface-curses__adb.htm#ref_1070_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_refresh.3x.html">wrefresh()</A></EM></span> - <span class="comment"><EM>-- There is an overloaded Refresh for Pads.</EM></span> - <span class="comment"><EM>-- The Inline pragma appears there</EM></span> - <span class="comment"><EM>-- AKA: refresh()</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_63">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1223_14" HREF="terminal_interface-curses__adb.htm#ref_1080_14">Refresh_Without_Update</A></span> - (<span class="symbol"><A NAME="ref_1224_7" HREF="terminal_interface-curses__adb.htm#ref_1081_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_refresh.3x.html">wnoutrefresh()</A></EM></span> - <span class="comment"><EM>-- There is an overloaded Refresh_Without_Update for Pads.</EM></span> - <span class="comment"><EM>-- The Inline pragma appears there</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_64">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1230_14" HREF="terminal_interface-curses__adb.htm#ref_1091_14">Redraw</A></span> (<span class="symbol"><A NAME="ref_1230_22" HREF="terminal_interface-curses__adb.htm#ref_1091_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_refresh.3x.html">redrawwin()</A></EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_65">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1234_14" HREF="terminal_interface-curses__adb.htm#ref_1101_14">Redraw</A></span> (<span class="symbol"><A NAME="ref_1234_22" HREF="terminal_interface-curses__adb.htm#ref_1102_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1235_22" HREF="terminal_interface-curses__adb.htm#ref_1103_7">Begin_Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1236_22" HREF="terminal_interface-curses__adb.htm#ref_1104_7">Line_Count</A></span> : Positive); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_refresh.3x.html">wredrawln()</A></EM></span> + <span class="comment"><em>-- This has no pendant in C. There you've to look into the WINDOWS</em></span> + <span class="comment"><em>-- structure to get the value. Bad practice, not repeated in Ada.</em></span> + + <b>type</b> <span class="symbol"><a name="ref_1091_9">Half_Delay_Amount</a></span> <b>is</b> <b>range</b> 1 .. 255; + + <span class="comment"><em>-- <A NAME="AFU_47">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1094_14" href="terminal_interface-curses__adb.htm#ref_858_14">Half_Delay</a></span> (<span class="symbol"><a name="ref_1094_26" href="terminal_interface-curses__adb.htm#ref_858_26">Amount</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1091_9">Half_Delay_Amount</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_inopts.3x.html">halfdelay()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1094_14">Half_Delay</a>); + + <span class="comment"><em>-- <A NAME="AFU_48">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1099_14" href="terminal_interface-curses__adb.htm#ref_868_14">Set_Flush_On_Interrupt_Mode</a></span> + (<span class="symbol"><a name="ref_1100_7" href="terminal_interface-curses__adb.htm#ref_869_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1101_7" href="terminal_interface-curses__adb.htm#ref_870_7">Mode</a></span> : Boolean := True); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_inopts.3x.html">intrflush()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1099_14">Set_Flush_On_Interrupt_Mode</a>); + + <span class="comment"><em>-- <A NAME="AFU_49">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1106_14" href="terminal_interface-curses__adb.htm#ref_880_14">Set_Queue_Interrupt_Mode</a></span> + (<span class="symbol"><a name="ref_1107_7" href="terminal_interface-curses__adb.htm#ref_881_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1108_7" href="terminal_interface-curses__adb.htm#ref_882_7">Flush</a></span> : Boolean := True); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_inopts.3x.html">qiflush()</A></em></span> + <span class="comment"><em>-- AKA: noqiflush()</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1106_14">Set_Queue_Interrupt_Mode</a>); + + <span class="comment"><em>-- <A NAME="AFU_50">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1114_14" href="terminal_interface-curses__adb.htm#ref_899_14">Set_NoDelay_Mode</a></span> + (<span class="symbol"><a name="ref_1115_7" href="terminal_interface-curses__adb.htm#ref_900_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1116_7" href="terminal_interface-curses__adb.htm#ref_901_7">Mode</a></span> : Boolean := False); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_inopts.3x.html">nodelay()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1114_14">Set_NoDelay_Mode</a>); + + <b>type</b> <span class="symbol"><a name="ref_1120_9">Timeout_Mode</a></span> <b>is</b> (<span class="symbol"><a name="ref_1120_26">Blocking</a></span>, <span class="symbol"><a name="ref_1120_36">Non_Blocking</a></span>, <span class="symbol"><a name="ref_1120_50">Delayed</a></span>); + + <span class="comment"><em>-- <A NAME="AFU_51">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1123_14" href="terminal_interface-curses__adb.htm#ref_911_14">Set_Timeout_Mode</a></span> (<span class="symbol"><a name="ref_1123_32" href="terminal_interface-curses__adb.htm#ref_911_32">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1124_32" href="terminal_interface-curses__adb.htm#ref_912_32">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1120_9">Timeout_Mode</a>; + <span class="symbol"><a name="ref_1125_32" href="terminal_interface-curses__adb.htm#ref_913_32">Amount</a></span> : Natural); <span class="comment"><em>-- in Milliseconds</em></span> + <span class="comment"><em>-- AKA: <A HREF="../man/curs_inopts.3x.html">wtimeout()</A></em></span> + <span class="comment"><em>-- AKA: timeout()</em></span> + <span class="comment"><em>-- Instead of overloading the semantic of the sign of amount, we</em></span> + <span class="comment"><em>-- introduce the Timeout_Mode parameter. This should improve</em></span> + <span class="comment"><em>-- readability. For Blocking and Non_Blocking, the Amount is not</em></span> + <span class="comment"><em>-- evaluated.</em></span> + <span class="comment"><em>-- We do not inline this procedure.</em></span> + + <span class="comment"><em>-- <A NAME="AFU_52">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1135_14" href="terminal_interface-curses__adb.htm#ref_932_14">Set_Escape_Timer_Mode</a></span> + (<span class="symbol"><a name="ref_1136_7" href="terminal_interface-curses__adb.htm#ref_933_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1137_7" href="terminal_interface-curses__adb.htm#ref_934_7">Timer_Off</a></span> : Boolean := False); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_inopts.3x.html">notimeout()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1135_14">Set_Escape_Timer_Mode</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_outopts.3x.html">curs_outopts.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_53">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1146_14" href="terminal_interface-curses__adb.htm#ref_947_14">Set_NL_Mode</a></span> (<span class="symbol"><a name="ref_1146_27" href="terminal_interface-curses__adb.htm#ref_947_27">SwitchOn</a></span> : Boolean := True); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_outopts.3x.html">nl()</A></em></span> + <span class="comment"><em>-- AKA: nonl()</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1146_14">Set_NL_Mode</a>); + + <span class="comment"><em>-- <A NAME="AFU_54">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1152_14" href="terminal_interface-curses__adb.htm#ref_966_14">Clear_On_Next_Update</a></span> + (<span class="symbol"><a name="ref_1153_7" href="terminal_interface-curses__adb.htm#ref_967_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1154_7" href="terminal_interface-curses__adb.htm#ref_968_7">Do_Clear</a></span> : Boolean := True); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_outopts.3x.html">clearok()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1152_14">Clear_On_Next_Update</a>); + + <span class="comment"><em>-- <A NAME="AFU_55">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1159_14" href="terminal_interface-curses__adb.htm#ref_978_14">Use_Insert_Delete_Line</a></span> + (<span class="symbol"><a name="ref_1160_7" href="terminal_interface-curses__adb.htm#ref_979_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1161_7" href="terminal_interface-curses__adb.htm#ref_980_7">Do_Idl</a></span> : Boolean := True); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_outopts.3x.html">idlok()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1159_14">Use_Insert_Delete_Line</a>); + + <span class="comment"><em>-- <A NAME="AFU_56">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1166_14" href="terminal_interface-curses__adb.htm#ref_990_14">Use_Insert_Delete_Character</a></span> + (<span class="symbol"><a name="ref_1167_7" href="terminal_interface-curses__adb.htm#ref_991_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1168_7" href="terminal_interface-curses__adb.htm#ref_992_7">Do_Idc</a></span> : Boolean := True); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_outopts.3x.html">idcok()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1166_14">Use_Insert_Delete_Character</a>); + + <span class="comment"><em>-- <A NAME="AFU_57">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1173_14" href="terminal_interface-curses__adb.htm#ref_1000_14">Leave_Cursor_After_Update</a></span> + (<span class="symbol"><a name="ref_1174_7" href="terminal_interface-curses__adb.htm#ref_1001_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1175_7" href="terminal_interface-curses__adb.htm#ref_1002_7">Do_Leave</a></span> : Boolean := True); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_outopts.3x.html">leaveok()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1173_14">Leave_Cursor_After_Update</a>); + + <span class="comment"><em>-- <A NAME="AFU_58">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1180_14" href="terminal_interface-curses__adb.htm#ref_1012_14">Immediate_Update_Mode</a></span> + (<span class="symbol"><a name="ref_1181_7" href="terminal_interface-curses__adb.htm#ref_1013_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1182_7" href="terminal_interface-curses__adb.htm#ref_1014_7">Mode</a></span> : Boolean := False); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_outopts.3x.html">immedok()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1180_14">Immediate_Update_Mode</a>); + + <span class="comment"><em>-- <A NAME="AFU_59">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1187_14" href="terminal_interface-curses__adb.htm#ref_1022_14">Allow_Scrolling</a></span> + (<span class="symbol"><a name="ref_1188_7" href="terminal_interface-curses__adb.htm#ref_1023_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1189_7" href="terminal_interface-curses__adb.htm#ref_1024_7">Mode</a></span> : Boolean := False); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_outopts.3x.html">scrollok()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1187_14">Allow_Scrolling</a>); + + <b>function</b> <span class="symbol"><a name="ref_1193_13" href="terminal_interface-curses__adb.htm#ref_1034_13">Scrolling_Allowed</a></span> (<span class="symbol"><a name="ref_1193_32" href="terminal_interface-curses__adb.htm#ref_1034_32">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) <b>return</b> Boolean; + <span class="comment"><em>-- There is no such function in the C interface.</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1193_13">Scrolling_Allowed</a>); + + <span class="comment"><em>-- <A NAME="AFU_60">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1198_14" href="terminal_interface-curses__adb.htm#ref_1043_14">Set_Scroll_Region</a></span> + (<span class="symbol"><a name="ref_1199_7" href="terminal_interface-curses__adb.htm#ref_1044_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1200_7" href="terminal_interface-curses__adb.htm#ref_1045_7">Top_Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1201_7" href="terminal_interface-curses__adb.htm#ref_1046_7">Bottom_Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_outopts.3x.html">wsetscrreg()</A></em></span> + <span class="comment"><em>-- AKA: setscrreg()</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1198_14">Set_Scroll_Region</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_refresh.3x.html">curs_refresh.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_61">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1211_14" href="terminal_interface-curses__adb.htm#ref_1060_14">Update_Screen</a></span>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_refresh.3x.html">doupdate()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1211_14">Update_Screen</a>); + + <span class="comment"><em>-- <A NAME="AFU_62">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1216_14" href="terminal_interface-curses__adb.htm#ref_1070_14">Refresh</a></span> (<span class="symbol"><a name="ref_1216_23" href="terminal_interface-curses__adb.htm#ref_1070_23">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_refresh.3x.html">wrefresh()</A></em></span> + <span class="comment"><em>-- There is an overloaded Refresh for Pads.</em></span> + <span class="comment"><em>-- The Inline pragma appears there</em></span> + <span class="comment"><em>-- AKA: refresh()</em></span> + + <span class="comment"><em>-- <A NAME="AFU_63">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1223_14" href="terminal_interface-curses__adb.htm#ref_1080_14">Refresh_Without_Update</a></span> + (<span class="symbol"><a name="ref_1224_7" href="terminal_interface-curses__adb.htm#ref_1081_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_refresh.3x.html">wnoutrefresh()</A></em></span> + <span class="comment"><em>-- There is an overloaded Refresh_Without_Update for Pads.</em></span> + <span class="comment"><em>-- The Inline pragma appears there</em></span> + + <span class="comment"><em>-- <A NAME="AFU_64">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1230_14" href="terminal_interface-curses__adb.htm#ref_1091_14">Redraw</a></span> (<span class="symbol"><a name="ref_1230_22" href="terminal_interface-curses__adb.htm#ref_1091_22">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_refresh.3x.html">redrawwin()</A></em></span> + + <span class="comment"><em>-- <A NAME="AFU_65">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1234_14" href="terminal_interface-curses__adb.htm#ref_1101_14">Redraw</a></span> (<span class="symbol"><a name="ref_1234_22" href="terminal_interface-curses__adb.htm#ref_1102_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1235_22" href="terminal_interface-curses__adb.htm#ref_1103_7">Begin_Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1236_22" href="terminal_interface-curses__adb.htm#ref_1104_7">Line_Count</a></span> : Positive); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_refresh.3x.html">wredrawln()</A></em></span> <b>pragma</b> Inline (Redraw); - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_clear.3x.html">curs_clear.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_66">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1245_14" HREF="terminal_interface-curses__adb.htm#ref_1119_14">Erase</A></span> (<span class="symbol"><A NAME="ref_1245_21" HREF="terminal_interface-curses__adb.htm#ref_1119_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_clear.3x.html">werase()</A></EM></span> - <span class="comment"><EM>-- AKA: erase()</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1245_14">Erase</A>); - - <span class="comment"><EM>-- <A NAME="AFU_67">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1251_14" HREF="terminal_interface-curses__adb.htm#ref_1129_14">Clear</A></span> - (<span class="symbol"><A NAME="ref_1252_7" HREF="terminal_interface-curses__adb.htm#ref_1129_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_clear.3x.html">wclear()</A></EM></span> - <span class="comment"><EM>-- AKA: clear()</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1251_14">Clear</A>); - - <span class="comment"><EM>-- <A NAME="AFU_68">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1258_14" HREF="terminal_interface-curses__adb.htm#ref_1139_14">Clear_To_End_Of_Screen</A></span> - (<span class="symbol"><A NAME="ref_1259_7" HREF="terminal_interface-curses__adb.htm#ref_1139_38">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_clear.3x.html">wclrtobot()</A></EM></span> - <span class="comment"><EM>-- AKA: clrtobot()</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1258_14">Clear_To_End_Of_Screen</A>); - - <span class="comment"><EM>-- <A NAME="AFU_69">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1265_14" HREF="terminal_interface-curses__adb.htm#ref_1149_14">Clear_To_End_Of_Line</A></span> - (<span class="symbol"><A NAME="ref_1266_7" HREF="terminal_interface-curses__adb.htm#ref_1149_36">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_clear.3x.html">wclrtoeol()</A></EM></span> - <span class="comment"><EM>-- AKA: clrtoeol()</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1265_14">Clear_To_End_Of_Line</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_bkgd.3x.html">curs_bkgd.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_70">|</A></EM></span> - <span class="comment"><EM>-- TODO: we could have Set_Background(Window; Character_Attribute_Set)</EM></span> - <span class="comment"><EM>-- because in C it is common to see bkgdset(A_BOLD) or</EM></span> - <span class="comment"><EM>-- bkgdset(COLOR_PAIR(n))</EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1279_14" HREF="terminal_interface-curses__adb.htm#ref_1159_14">Set_Background</A></span> - (<span class="symbol"><A NAME="ref_1280_7" HREF="terminal_interface-curses__adb.htm#ref_1160_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1281_7" HREF="terminal_interface-curses__adb.htm#ref_1161_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_bkgd.3x.html">wbkgdset()</A></EM></span> - <span class="comment"><EM>-- AKA: bkgdset()</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1279_14">Set_Background</A>); - - <span class="comment"><EM>-- <A NAME="AFU_71">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1287_14" HREF="terminal_interface-curses__adb.htm#ref_1169_14">Change_Background</A></span> - (<span class="symbol"><A NAME="ref_1288_7" HREF="terminal_interface-curses__adb.htm#ref_1170_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1289_7" HREF="terminal_interface-curses__adb.htm#ref_1171_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_bkgd.3x.html">wbkgd()</A></EM></span> - <span class="comment"><EM>-- AKA: bkgd()</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1287_14">Change_Background</A>); - - <span class="comment"><EM>-- <A NAME="AFU_72">|</A></EM></span> - <span class="comment"><EM>-- ? wbkgdget is not listed in curs_bkgd, getbkgd is thpough.</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_1296_13" HREF="terminal_interface-curses__adb.htm#ref_1182_13">Get_Background</A></span> (<span class="symbol"><A NAME="ref_1296_29" HREF="terminal_interface-curses__adb.htm#ref_1182_29">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>) - <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_bkgd.3x.html">wbkgdget()</A></EM></span> - <span class="comment"><EM>-- AKA: bkgdget()</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1296_13">Get_Background</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_73">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1307_14" HREF="terminal_interface-curses__adb.htm#ref_1219_14">Untouch</A></span> (<span class="symbol"><A NAME="ref_1307_23" HREF="terminal_interface-curses__adb.htm#ref_1219_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_touch.3x.html">untouchwin()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1307_14">Untouch</A>); - - <span class="comment"><EM>-- <A NAME="AFU_74">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1312_14" HREF="terminal_interface-curses__adb.htm#ref_1209_14">Touch</A></span> (<span class="symbol"><A NAME="ref_1312_21" HREF="terminal_interface-curses__adb.htm#ref_1209_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_touch.3x.html">touchwin()</A></EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_75">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1316_14" HREF="terminal_interface-curses__adb.htm#ref_1229_14">Touch</A></span> (<span class="symbol"><A NAME="ref_1316_21" HREF="terminal_interface-curses__adb.htm#ref_1229_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1317_21" HREF="terminal_interface-curses__adb.htm#ref_1230_21">Start</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1318_21" HREF="terminal_interface-curses__adb.htm#ref_1231_21">Count</A></span> : Positive); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_touch.3x.html">touchline()</A></EM></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_clear.3x.html">curs_clear.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_66">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1245_14" href="terminal_interface-curses__adb.htm#ref_1119_14">Erase</a></span> (<span class="symbol"><a name="ref_1245_21" href="terminal_interface-curses__adb.htm#ref_1119_21">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_clear.3x.html">werase()</A></em></span> + <span class="comment"><em>-- AKA: erase()</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1245_14">Erase</a>); + + <span class="comment"><em>-- <A NAME="AFU_67">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1251_14" href="terminal_interface-curses__adb.htm#ref_1129_14">Clear</a></span> + (<span class="symbol"><a name="ref_1252_7" href="terminal_interface-curses__adb.htm#ref_1129_21">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_clear.3x.html">wclear()</A></em></span> + <span class="comment"><em>-- AKA: clear()</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1251_14">Clear</a>); + + <span class="comment"><em>-- <A NAME="AFU_68">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1258_14" href="terminal_interface-curses__adb.htm#ref_1139_14">Clear_To_End_Of_Screen</a></span> + (<span class="symbol"><a name="ref_1259_7" href="terminal_interface-curses__adb.htm#ref_1139_38">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_clear.3x.html">wclrtobot()</A></em></span> + <span class="comment"><em>-- AKA: clrtobot()</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1258_14">Clear_To_End_Of_Screen</a>); + + <span class="comment"><em>-- <A NAME="AFU_69">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1265_14" href="terminal_interface-curses__adb.htm#ref_1149_14">Clear_To_End_Of_Line</a></span> + (<span class="symbol"><a name="ref_1266_7" href="terminal_interface-curses__adb.htm#ref_1149_36">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_clear.3x.html">wclrtoeol()</A></em></span> + <span class="comment"><em>-- AKA: clrtoeol()</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1265_14">Clear_To_End_Of_Line</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_bkgd.3x.html">curs_bkgd.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_70">|</A></em></span> + <span class="comment"><em>-- TODO: we could have Set_Background(Window; Character_Attribute_Set)</em></span> + <span class="comment"><em>-- because in C it is common to see bkgdset(A_BOLD) or</em></span> + <span class="comment"><em>-- bkgdset(COLOR_PAIR(n))</em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1279_14" href="terminal_interface-curses__adb.htm#ref_1159_14">Set_Background</a></span> + (<span class="symbol"><a name="ref_1280_7" href="terminal_interface-curses__adb.htm#ref_1160_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1281_7" href="terminal_interface-curses__adb.htm#ref_1161_7">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_bkgd.3x.html">wbkgdset()</A></em></span> + <span class="comment"><em>-- AKA: bkgdset()</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1279_14">Set_Background</a>); + + <span class="comment"><em>-- <A NAME="AFU_71">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1287_14" href="terminal_interface-curses__adb.htm#ref_1169_14">Change_Background</a></span> + (<span class="symbol"><a name="ref_1288_7" href="terminal_interface-curses__adb.htm#ref_1170_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1289_7" href="terminal_interface-curses__adb.htm#ref_1171_7">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_bkgd.3x.html">wbkgd()</A></em></span> + <span class="comment"><em>-- AKA: bkgd()</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1287_14">Change_Background</a>); + + <span class="comment"><em>-- <A NAME="AFU_72">|</A></em></span> + <span class="comment"><em>-- ? wbkgdget is not listed in curs_bkgd, getbkgd is thpough.</em></span> + <b>function</b> <span class="symbol"><a name="ref_1296_13" href="terminal_interface-curses__adb.htm#ref_1182_13">Get_Background</a></span> (<span class="symbol"><a name="ref_1296_29" href="terminal_interface-curses__adb.htm#ref_1182_29">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) + <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_bkgd.3x.html">wbkgdget()</A></em></span> + <span class="comment"><em>-- AKA: bkgdget()</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1296_13">Get_Background</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_73">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1307_14" href="terminal_interface-curses__adb.htm#ref_1219_14">Untouch</a></span> (<span class="symbol"><a name="ref_1307_23" href="terminal_interface-curses__adb.htm#ref_1219_23">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_touch.3x.html">untouchwin()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1307_14">Untouch</a>); + + <span class="comment"><em>-- <A NAME="AFU_74">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1312_14" href="terminal_interface-curses__adb.htm#ref_1209_14">Touch</a></span> (<span class="symbol"><a name="ref_1312_21" href="terminal_interface-curses__adb.htm#ref_1209_21">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_touch.3x.html">touchwin()</A></em></span> + + <span class="comment"><em>-- <A NAME="AFU_75">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1316_14" href="terminal_interface-curses__adb.htm#ref_1229_14">Touch</a></span> (<span class="symbol"><a name="ref_1316_21" href="terminal_interface-curses__adb.htm#ref_1229_21">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1317_21" href="terminal_interface-curses__adb.htm#ref_1230_21">Start</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1318_21" href="terminal_interface-curses__adb.htm#ref_1231_21">Count</a></span> : Positive); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_touch.3x.html">touchline()</A></em></span> <b>pragma</b> Inline (Touch); - <span class="comment"><EM>-- <A NAME="AFU_76">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1323_14" HREF="terminal_interface-curses__adb.htm#ref_1191_14">Change_Lines_Status</A></span> (<span class="symbol"><A NAME="ref_1323_35" HREF="terminal_interface-curses__adb.htm#ref_1191_35">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1324_35" HREF="terminal_interface-curses__adb.htm#ref_1192_35">Start</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1325_35" HREF="terminal_interface-curses__adb.htm#ref_1193_35">Count</A></span> : Positive; - <span class="symbol"><A NAME="ref_1326_35" HREF="terminal_interface-curses__adb.htm#ref_1194_35">State</A></span> : Boolean); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_touch.3x.html">wtouchln()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1323_14">Change_Lines_Status</A>); - - <span class="comment"><EM>-- <A NAME="AFU_77">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_1331_13" HREF="terminal_interface-curses__adb.htm#ref_1237_13">Is_Touched</A></span> (<span class="symbol"><A NAME="ref_1331_25" HREF="terminal_interface-curses__adb.htm#ref_1238_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1332_25" HREF="terminal_interface-curses__adb.htm#ref_1239_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>) <b>return</b> Boolean; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_touch.3x.html">is_linetouched()</A></EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_78">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_1336_13" HREF="terminal_interface-curses__adb.htm#ref_1251_13">Is_Touched</A></span> (<span class="symbol"><A NAME="ref_1336_25" HREF="terminal_interface-curses__adb.htm#ref_1252_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>) <b>return</b> Boolean; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_touch.3x.html">is_wintouched()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_76">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1323_14" href="terminal_interface-curses__adb.htm#ref_1191_14">Change_Lines_Status</a></span> (<span class="symbol"><a name="ref_1323_35" href="terminal_interface-curses__adb.htm#ref_1191_35">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1324_35" href="terminal_interface-curses__adb.htm#ref_1192_35">Start</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1325_35" href="terminal_interface-curses__adb.htm#ref_1193_35">Count</a></span> : Positive; + <span class="symbol"><a name="ref_1326_35" href="terminal_interface-curses__adb.htm#ref_1194_35">State</a></span> : Boolean); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_touch.3x.html">wtouchln()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1323_14">Change_Lines_Status</a>); + + <span class="comment"><em>-- <A NAME="AFU_77">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_1331_13" href="terminal_interface-curses__adb.htm#ref_1237_13">Is_Touched</a></span> (<span class="symbol"><a name="ref_1331_25" href="terminal_interface-curses__adb.htm#ref_1238_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1332_25" href="terminal_interface-curses__adb.htm#ref_1239_7">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>) <b>return</b> Boolean; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_touch.3x.html">is_linetouched()</A></em></span> + + <span class="comment"><em>-- <A NAME="AFU_78">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_1336_13" href="terminal_interface-curses__adb.htm#ref_1251_13">Is_Touched</a></span> (<span class="symbol"><a name="ref_1336_25" href="terminal_interface-curses__adb.htm#ref_1252_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) <b>return</b> Boolean; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_touch.3x.html">is_wintouched()</A></em></span> <b>pragma</b> Inline (Is_Touched); - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_overlay.3x.html">curs_overlay.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_79">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1345_14" HREF="terminal_interface-curses__adb.htm#ref_1264_14">Copy</A></span> - (<span class="symbol"><A NAME="ref_1346_7" HREF="terminal_interface-curses__adb.htm#ref_1265_7">Source_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1347_7" HREF="terminal_interface-curses__adb.htm#ref_1266_7">Destination_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1348_7" HREF="terminal_interface-curses__adb.htm#ref_1267_7">Source_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1349_7" HREF="terminal_interface-curses__adb.htm#ref_1268_7">Source_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_1350_7" HREF="terminal_interface-curses__adb.htm#ref_1269_7">Destination_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1351_7" HREF="terminal_interface-curses__adb.htm#ref_1270_7">Destination_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_1352_7" HREF="terminal_interface-curses__adb.htm#ref_1271_7">Destination_Bottom_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1353_7" HREF="terminal_interface-curses__adb.htm#ref_1272_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_1354_7" HREF="terminal_interface-curses__adb.htm#ref_1273_7">Non_Destructive_Mode</A></span> : Boolean := True); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_overlay.3x.html">copywin()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1345_14">Copy</A>); - - <span class="comment"><EM>-- <A NAME="AFU_80">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1359_14" HREF="terminal_interface-curses__adb.htm#ref_1301_14">Overwrite</A></span> (<span class="symbol"><A NAME="ref_1359_25" HREF="terminal_interface-curses__adb.htm#ref_1302_7">Source_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1360_25" HREF="terminal_interface-curses__adb.htm#ref_1303_7">Destination_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_overlay.3x.html">overwrite()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1359_14">Overwrite</A>); - - <span class="comment"><EM>-- <A NAME="AFU_81">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1365_14" HREF="terminal_interface-curses__adb.htm#ref_1313_14">Overlay</A></span> (<span class="symbol"><A NAME="ref_1365_23" HREF="terminal_interface-curses__adb.htm#ref_1314_7">Source_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1366_23" HREF="terminal_interface-curses__adb.htm#ref_1315_7">Destination_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_overlay.3x.html">overlay()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1365_14">Overlay</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_deleteln.3x.html">curs_deleteln.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_82">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1375_14" HREF="terminal_interface-curses__adb.htm#ref_1326_14">Insert_Delete_Lines</A></span> - (<span class="symbol"><A NAME="ref_1376_7" HREF="terminal_interface-curses__adb.htm#ref_1327_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1377_7" HREF="terminal_interface-curses__adb.htm#ref_1328_7">Lines</A></span> : Integer := 1); <span class="comment"><EM>-- default is to insert one line above</EM></span> - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_deleteln.3x.html">winsdelln()</A></EM></span> - <span class="comment"><EM>-- AKA: insdelln()</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1375_14">Insert_Delete_Lines</A>); - - <span class="comment"><EM>-- <A NAME="AFU_83">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1383_14" HREF="terminal_interface-curses__adb.htm#ref_1338_14">Delete_Line</A></span> (<span class="symbol"><A NAME="ref_1383_27" HREF="terminal_interface-curses__adb.htm#ref_1338_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_deleteln.3x.html">wdeleteln()</A></EM></span> - <span class="comment"><EM>-- AKA: deleteln()</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1383_14">Delete_Line</A>); - - <span class="comment"><EM>-- <A NAME="AFU_84">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1389_14" HREF="terminal_interface-curses__adb.htm#ref_1344_14">Insert_Line</A></span> (<span class="symbol"><A NAME="ref_1389_27" HREF="terminal_interface-curses__adb.htm#ref_1344_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_deleteln.3x.html">winsertln()</A></EM></span> - <span class="comment"><EM>-- AKA: insertln()</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1389_14">Insert_Line</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_getyx.3x.html">curs_getyx.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_85">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1399_14" HREF="terminal_interface-curses__adb.htm#ref_1351_14">Get_Size</A></span> - (<span class="symbol"><A NAME="ref_1400_7" HREF="terminal_interface-curses__adb.htm#ref_1352_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1401_7" HREF="terminal_interface-curses__adb.htm#ref_1353_7">Number_Of_Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_1402_7" HREF="terminal_interface-curses__adb.htm#ref_1354_7">Number_Of_Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_getyx.3x.html">getmaxyx()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</A>); - - <span class="comment"><EM>-- <A NAME="AFU_86">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1407_14" HREF="terminal_interface-curses__adb.htm#ref_1369_14">Get_Window_Position</A></span> - (<span class="symbol"><A NAME="ref_1408_7" HREF="terminal_interface-curses__adb.htm#ref_1370_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1409_7" HREF="terminal_interface-curses__adb.htm#ref_1371_7">Top_Left_Line</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1410_7" HREF="terminal_interface-curses__adb.htm#ref_1372_7">Top_Left_Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_getyx.3x.html">getbegyx()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1407_14">Get_Window_Position</A>); - - <span class="comment"><EM>-- <A NAME="AFU_87">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1415_14" HREF="terminal_interface-curses__adb.htm#ref_1387_14">Get_Cursor_Position</A></span> - (<span class="symbol"><A NAME="ref_1416_7" HREF="terminal_interface-curses__adb.htm#ref_1388_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1417_7" HREF="terminal_interface-curses__adb.htm#ref_1389_7">Line</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1418_7" HREF="terminal_interface-curses__adb.htm#ref_1390_7">Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_getyx.3x.html">getyx()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</A>); - - <span class="comment"><EM>-- <A NAME="AFU_88">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1423_14" HREF="terminal_interface-curses__adb.htm#ref_1405_14">Get_Origin_Relative_To_Parent</A></span> - (<span class="symbol"><A NAME="ref_1424_7" HREF="terminal_interface-curses__adb.htm#ref_1406_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1425_7" HREF="terminal_interface-curses__adb.htm#ref_1407_7">Top_Left_Line</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1426_7" HREF="terminal_interface-curses__adb.htm#ref_1408_7">Top_Left_Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_1427_7" HREF="terminal_interface-curses__adb.htm#ref_1409_7">Is_Not_A_Subwindow</A></span> : <b>out</b> Boolean); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_getyx.3x.html">getparyx()</A></EM></span> - <span class="comment"><EM>-- Instead of placing -1 in the coordinates as return, we use a Boolean</EM></span> - <span class="comment"><EM>-- to return the info that the window has no parent.</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1423_14">Get_Origin_Relative_To_Parent</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_pad.3x.html">curs_pad.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_89">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_1438_13" HREF="terminal_interface-curses__adb.htm#ref_1431_13">New_Pad</A></span> (<span class="symbol"><A NAME="ref_1438_22" HREF="terminal_interface-curses__adb.htm#ref_1431_22">Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_1439_22" HREF="terminal_interface-curses__adb.htm#ref_1432_22">Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_pad.3x.html">newpad()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1438_13">New_Pad</A>); - - <span class="comment"><EM>-- <A NAME="AFU_90">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_1444_13" HREF="terminal_interface-curses__adb.htm#ref_1446_13">Sub_Pad</A></span> - (<span class="symbol"><A NAME="ref_1445_7" HREF="terminal_interface-curses__adb.htm#ref_1447_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1446_7" HREF="terminal_interface-curses__adb.htm#ref_1448_7">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_1447_7" HREF="terminal_interface-curses__adb.htm#ref_1449_7">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>; - <span class="symbol"><A NAME="ref_1448_7" HREF="terminal_interface-curses__adb.htm#ref_1450_7">First_Line_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1449_7" HREF="terminal_interface-curses__adb.htm#ref_1451_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_pad.3x.html">subpad()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1444_13">Sub_Pad</A>); - - <span class="comment"><EM>-- <A NAME="AFU_91">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1454_14" HREF="terminal_interface-curses__adb.htm#ref_1474_14">Refresh</A></span> - (<span class="symbol"><A NAME="ref_1455_7" HREF="terminal_interface-curses__adb.htm#ref_1475_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1456_7" HREF="terminal_interface-curses__adb.htm#ref_1476_7">Source_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1457_7" HREF="terminal_interface-curses__adb.htm#ref_1477_7">Source_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_1458_7" HREF="terminal_interface-curses__adb.htm#ref_1478_7">Destination_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1459_7" HREF="terminal_interface-curses__adb.htm#ref_1479_7">Destination_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_1460_7" HREF="terminal_interface-curses__adb.htm#ref_1480_7">Destination_Bottom_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1461_7" HREF="terminal_interface-curses__adb.htm#ref_1481_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_pad.3x.html">prefresh()</A></EM></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_overlay.3x.html">curs_overlay.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_79">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1345_14" href="terminal_interface-curses__adb.htm#ref_1264_14">Copy</a></span> + (<span class="symbol"><a name="ref_1346_7" href="terminal_interface-curses__adb.htm#ref_1265_7">Source_Window</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1347_7" href="terminal_interface-curses__adb.htm#ref_1266_7">Destination_Window</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1348_7" href="terminal_interface-curses__adb.htm#ref_1267_7">Source_Top_Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1349_7" href="terminal_interface-curses__adb.htm#ref_1268_7">Source_Left_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_1350_7" href="terminal_interface-curses__adb.htm#ref_1269_7">Destination_Top_Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1351_7" href="terminal_interface-curses__adb.htm#ref_1270_7">Destination_Left_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_1352_7" href="terminal_interface-curses__adb.htm#ref_1271_7">Destination_Bottom_Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1353_7" href="terminal_interface-curses__adb.htm#ref_1272_7">Destination_Right_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_1354_7" href="terminal_interface-curses__adb.htm#ref_1273_7">Non_Destructive_Mode</a></span> : Boolean := True); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_overlay.3x.html">copywin()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1345_14">Copy</a>); + + <span class="comment"><em>-- <A NAME="AFU_80">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1359_14" href="terminal_interface-curses__adb.htm#ref_1301_14">Overwrite</a></span> (<span class="symbol"><a name="ref_1359_25" href="terminal_interface-curses__adb.htm#ref_1302_7">Source_Window</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1360_25" href="terminal_interface-curses__adb.htm#ref_1303_7">Destination_Window</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_overlay.3x.html">overwrite()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1359_14">Overwrite</a>); + + <span class="comment"><em>-- <A NAME="AFU_81">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1365_14" href="terminal_interface-curses__adb.htm#ref_1313_14">Overlay</a></span> (<span class="symbol"><a name="ref_1365_23" href="terminal_interface-curses__adb.htm#ref_1314_7">Source_Window</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1366_23" href="terminal_interface-curses__adb.htm#ref_1315_7">Destination_Window</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_overlay.3x.html">overlay()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1365_14">Overlay</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_deleteln.3x.html">curs_deleteln.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_82">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1375_14" href="terminal_interface-curses__adb.htm#ref_1326_14">Insert_Delete_Lines</a></span> + (<span class="symbol"><a name="ref_1376_7" href="terminal_interface-curses__adb.htm#ref_1327_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1377_7" href="terminal_interface-curses__adb.htm#ref_1328_7">Lines</a></span> : Integer := 1); <span class="comment"><em>-- default is to insert one line above</em></span> + <span class="comment"><em>-- AKA: <A HREF="../man/curs_deleteln.3x.html">winsdelln()</A></em></span> + <span class="comment"><em>-- AKA: insdelln()</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1375_14">Insert_Delete_Lines</a>); + + <span class="comment"><em>-- <A NAME="AFU_83">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1383_14" href="terminal_interface-curses__adb.htm#ref_1338_14">Delete_Line</a></span> (<span class="symbol"><a name="ref_1383_27" href="terminal_interface-curses__adb.htm#ref_1338_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_deleteln.3x.html">wdeleteln()</A></em></span> + <span class="comment"><em>-- AKA: deleteln()</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1383_14">Delete_Line</a>); + + <span class="comment"><em>-- <A NAME="AFU_84">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1389_14" href="terminal_interface-curses__adb.htm#ref_1344_14">Insert_Line</a></span> (<span class="symbol"><a name="ref_1389_27" href="terminal_interface-curses__adb.htm#ref_1344_27">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_deleteln.3x.html">winsertln()</A></em></span> + <span class="comment"><em>-- AKA: insertln()</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1389_14">Insert_Line</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_getyx.3x.html">curs_getyx.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_85">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1399_14" href="terminal_interface-curses__adb.htm#ref_1351_14">Get_Size</a></span> + (<span class="symbol"><a name="ref_1400_7" href="terminal_interface-curses__adb.htm#ref_1352_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1401_7" href="terminal_interface-curses__adb.htm#ref_1353_7">Number_Of_Lines</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_1402_7" href="terminal_interface-curses__adb.htm#ref_1354_7">Number_Of_Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_getyx.3x.html">getmaxyx()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1399_14">Get_Size</a>); + + <span class="comment"><em>-- <A NAME="AFU_86">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1407_14" href="terminal_interface-curses__adb.htm#ref_1369_14">Get_Window_Position</a></span> + (<span class="symbol"><a name="ref_1408_7" href="terminal_interface-curses__adb.htm#ref_1370_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1409_7" href="terminal_interface-curses__adb.htm#ref_1371_7">Top_Left_Line</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1410_7" href="terminal_interface-curses__adb.htm#ref_1372_7">Top_Left_Column</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_getyx.3x.html">getbegyx()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1407_14">Get_Window_Position</a>); + + <span class="comment"><em>-- <A NAME="AFU_87">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1415_14" href="terminal_interface-curses__adb.htm#ref_1387_14">Get_Cursor_Position</a></span> + (<span class="symbol"><a name="ref_1416_7" href="terminal_interface-curses__adb.htm#ref_1388_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1417_7" href="terminal_interface-curses__adb.htm#ref_1389_7">Line</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1418_7" href="terminal_interface-curses__adb.htm#ref_1390_7">Column</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_getyx.3x.html">getyx()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1415_14">Get_Cursor_Position</a>); + + <span class="comment"><em>-- <A NAME="AFU_88">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1423_14" href="terminal_interface-curses__adb.htm#ref_1405_14">Get_Origin_Relative_To_Parent</a></span> + (<span class="symbol"><a name="ref_1424_7" href="terminal_interface-curses__adb.htm#ref_1406_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1425_7" href="terminal_interface-curses__adb.htm#ref_1407_7">Top_Left_Line</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1426_7" href="terminal_interface-curses__adb.htm#ref_1408_7">Top_Left_Column</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_1427_7" href="terminal_interface-curses__adb.htm#ref_1409_7">Is_Not_A_Subwindow</a></span> : <b>out</b> Boolean); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_getyx.3x.html">getparyx()</A></em></span> + <span class="comment"><em>-- Instead of placing -1 in the coordinates as return, we use a Boolean</em></span> + <span class="comment"><em>-- to return the info that the window has no parent.</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1423_14">Get_Origin_Relative_To_Parent</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_pad.3x.html">curs_pad.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_89">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_1438_13" href="terminal_interface-curses__adb.htm#ref_1431_13">New_Pad</a></span> (<span class="symbol"><a name="ref_1438_22" href="terminal_interface-curses__adb.htm#ref_1431_22">Lines</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_1439_22" href="terminal_interface-curses__adb.htm#ref_1432_22">Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_pad.3x.html">newpad()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1438_13">New_Pad</a>); + + <span class="comment"><em>-- <A NAME="AFU_90">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_1444_13" href="terminal_interface-curses__adb.htm#ref_1446_13">Sub_Pad</a></span> + (<span class="symbol"><a name="ref_1445_7" href="terminal_interface-curses__adb.htm#ref_1447_7">Pad</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1446_7" href="terminal_interface-curses__adb.htm#ref_1448_7">Number_Of_Lines</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_1447_7" href="terminal_interface-curses__adb.htm#ref_1449_7">Number_Of_Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>; + <span class="symbol"><a name="ref_1448_7" href="terminal_interface-curses__adb.htm#ref_1450_7">First_Line_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1449_7" href="terminal_interface-curses__adb.htm#ref_1451_7">First_Column_Position</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_pad.3x.html">subpad()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1444_13">Sub_Pad</a>); + + <span class="comment"><em>-- <A NAME="AFU_91">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1454_14" href="terminal_interface-curses__adb.htm#ref_1474_14">Refresh</a></span> + (<span class="symbol"><a name="ref_1455_7" href="terminal_interface-curses__adb.htm#ref_1475_7">Pad</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1456_7" href="terminal_interface-curses__adb.htm#ref_1476_7">Source_Top_Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1457_7" href="terminal_interface-curses__adb.htm#ref_1477_7">Source_Left_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_1458_7" href="terminal_interface-curses__adb.htm#ref_1478_7">Destination_Top_Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1459_7" href="terminal_interface-curses__adb.htm#ref_1479_7">Destination_Left_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_1460_7" href="terminal_interface-curses__adb.htm#ref_1480_7">Destination_Bottom_Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1461_7" href="terminal_interface-curses__adb.htm#ref_1481_7">Destination_Right_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_pad.3x.html">prefresh()</A></em></span> <b>pragma</b> Inline (Refresh); - <span class="comment"><EM>-- <A NAME="AFU_92">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1466_14" HREF="terminal_interface-curses__adb.htm#ref_1505_14">Refresh_Without_Update</A></span> - (<span class="symbol"><A NAME="ref_1467_7" HREF="terminal_interface-curses__adb.htm#ref_1506_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1468_7" HREF="terminal_interface-curses__adb.htm#ref_1507_7">Source_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1469_7" HREF="terminal_interface-curses__adb.htm#ref_1508_7">Source_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_1470_7" HREF="terminal_interface-curses__adb.htm#ref_1509_7">Destination_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1471_7" HREF="terminal_interface-curses__adb.htm#ref_1510_7">Destination_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_1472_7" HREF="terminal_interface-curses__adb.htm#ref_1511_7">Destination_Bottom_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1473_7" HREF="terminal_interface-curses__adb.htm#ref_1512_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_pad.3x.html">pnoutrefresh()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_92">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1466_14" href="terminal_interface-curses__adb.htm#ref_1505_14">Refresh_Without_Update</a></span> + (<span class="symbol"><a name="ref_1467_7" href="terminal_interface-curses__adb.htm#ref_1506_7">Pad</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1468_7" href="terminal_interface-curses__adb.htm#ref_1507_7">Source_Top_Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1469_7" href="terminal_interface-curses__adb.htm#ref_1508_7">Source_Left_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_1470_7" href="terminal_interface-curses__adb.htm#ref_1509_7">Destination_Top_Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1471_7" href="terminal_interface-curses__adb.htm#ref_1510_7">Destination_Left_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_1472_7" href="terminal_interface-curses__adb.htm#ref_1511_7">Destination_Bottom_Row</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1473_7" href="terminal_interface-curses__adb.htm#ref_1512_7">Destination_Right_Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_pad.3x.html">pnoutrefresh()</A></em></span> <b>pragma</b> Inline (Refresh_Without_Update); - <span class="comment"><EM>-- <A NAME="AFU_93">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1478_14" HREF="terminal_interface-curses__adb.htm#ref_1536_14">Add_Character_To_Pad_And_Echo_It</A></span> - (<span class="symbol"><A NAME="ref_1479_7" HREF="terminal_interface-curses__adb.htm#ref_1537_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1480_7" HREF="terminal_interface-curses__adb.htm#ref_1538_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_pad.3x.html">pechochar()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_93">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1478_14" href="terminal_interface-curses__adb.htm#ref_1536_14">Add_Character_To_Pad_And_Echo_It</a></span> + (<span class="symbol"><a name="ref_1479_7" href="terminal_interface-curses__adb.htm#ref_1537_7">Pad</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1480_7" href="terminal_interface-curses__adb.htm#ref_1538_7">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_pad.3x.html">pechochar()</A></em></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1483_14" HREF="terminal_interface-curses__adb.htm#ref_1549_14">Add_Character_To_Pad_And_Echo_It</A></span> - (<span class="symbol"><A NAME="ref_1484_7" HREF="terminal_interface-curses__adb.htm#ref_1550_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1485_7" HREF="terminal_interface-curses__adb.htm#ref_1551_7">Ch</A></span> : Character); + <b>procedure</b> <span class="symbol"><a name="ref_1483_14" href="terminal_interface-curses__adb.htm#ref_1549_14">Add_Character_To_Pad_And_Echo_It</a></span> + (<span class="symbol"><a name="ref_1484_7" href="terminal_interface-curses__adb.htm#ref_1550_7">Pad</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1485_7" href="terminal_interface-curses__adb.htm#ref_1551_7">Ch</a></span> : Character); <b>pragma</b> Inline (Add_Character_To_Pad_And_Echo_It); - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_scroll.3x.html">curs_scroll.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_94">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1493_14" HREF="terminal_interface-curses__adb.htm#ref_1561_14">Scroll</A></span> (<span class="symbol"><A NAME="ref_1493_22" HREF="terminal_interface-curses__adb.htm#ref_1561_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1494_22" HREF="terminal_interface-curses__adb.htm#ref_1562_22">Amount</A></span> : Integer := 1); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_scroll.3x.html">wscrl()</A></EM></span> - <span class="comment"><EM>-- AKA: scroll()</EM></span> - <span class="comment"><EM>-- AKA: scrl()</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1493_14">Scroll</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_delch.3x.html">curs_delch.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_95">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1505_14" HREF="terminal_interface-curses__adb.htm#ref_1574_14">Delete_Character</A></span> (<span class="symbol"><A NAME="ref_1505_32" HREF="terminal_interface-curses__adb.htm#ref_1574_32">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_delch.3x.html">wdelch()</A></EM></span> - <span class="comment"><EM>-- AKA: delch()</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_96">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1510_14" HREF="terminal_interface-curses__adb.htm#ref_1584_14">Delete_Character</A></span> - (<span class="symbol"><A NAME="ref_1511_7" HREF="terminal_interface-curses__adb.htm#ref_1585_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1512_7" HREF="terminal_interface-curses__adb.htm#ref_1586_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1513_7" HREF="terminal_interface-curses__adb.htm#ref_1587_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_delch.3x.html">mvwdelch()</A></EM></span> - <span class="comment"><EM>-- AKA: mvdelch()</EM></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_scroll.3x.html">curs_scroll.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_94">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1493_14" href="terminal_interface-curses__adb.htm#ref_1561_14">Scroll</a></span> (<span class="symbol"><a name="ref_1493_22" href="terminal_interface-curses__adb.htm#ref_1561_22">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1494_22" href="terminal_interface-curses__adb.htm#ref_1562_22">Amount</a></span> : Integer := 1); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_scroll.3x.html">wscrl()</A></em></span> + <span class="comment"><em>-- AKA: scroll()</em></span> + <span class="comment"><em>-- AKA: scrl()</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1493_14">Scroll</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_delch.3x.html">curs_delch.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_95">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1505_14" href="terminal_interface-curses__adb.htm#ref_1574_14">Delete_Character</a></span> (<span class="symbol"><a name="ref_1505_32" href="terminal_interface-curses__adb.htm#ref_1574_32">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_delch.3x.html">wdelch()</A></em></span> + <span class="comment"><em>-- AKA: delch()</em></span> + + <span class="comment"><em>-- <A NAME="AFU_96">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1510_14" href="terminal_interface-curses__adb.htm#ref_1584_14">Delete_Character</a></span> + (<span class="symbol"><a name="ref_1511_7" href="terminal_interface-curses__adb.htm#ref_1585_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1512_7" href="terminal_interface-curses__adb.htm#ref_1586_7">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1513_7" href="terminal_interface-curses__adb.htm#ref_1587_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_delch.3x.html">mvwdelch()</A></em></span> + <span class="comment"><em>-- AKA: mvdelch()</em></span> <b>pragma</b> Inline (Delete_Character); - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_inch.3x.html">curs_inch.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_97">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_1523_13" HREF="terminal_interface-curses__adb.htm#ref_1599_13">Peek</A></span> (<span class="symbol"><A NAME="ref_1523_19" HREF="terminal_interface-curses__adb.htm#ref_1599_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>) - <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; - <span class="comment"><EM>-- AKA: inch()</EM></span> - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_inch.3x.html">winch()</A></EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_98">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_1529_13" HREF="terminal_interface-curses__adb.htm#ref_1608_13">Peek</A></span> - (<span class="symbol"><A NAME="ref_1530_7" HREF="terminal_interface-curses__adb.htm#ref_1609_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1531_7" HREF="terminal_interface-curses__adb.htm#ref_1610_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1532_7" HREF="terminal_interface-curses__adb.htm#ref_1611_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_inch.3x.html">mvwinch()</A></EM></span> - <span class="comment"><EM>-- AKA: mvinch()</EM></span> - <span class="comment"><EM>-- More Peek's follow, pragma Inline appears later.</EM></span> - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_insch.3x.html">curs_insch.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_99">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1542_14" HREF="terminal_interface-curses__adb.htm#ref_1621_14">Insert</A></span> (<span class="symbol"><A NAME="ref_1542_22" HREF="terminal_interface-curses__adb.htm#ref_1621_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1543_22" HREF="terminal_interface-curses__adb.htm#ref_1622_22">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_insch.3x.html">winsch()</A></EM></span> - <span class="comment"><EM>-- AKA: insch()</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_100">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1548_14" HREF="terminal_interface-curses__adb.htm#ref_1632_14">Insert</A></span> (<span class="symbol"><A NAME="ref_1548_22" HREF="terminal_interface-curses__adb.htm#ref_1633_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1549_22" HREF="terminal_interface-curses__adb.htm#ref_1634_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1550_22" HREF="terminal_interface-curses__adb.htm#ref_1635_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_1551_22" HREF="terminal_interface-curses__adb.htm#ref_1636_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_insch.3x.html">mvwinsch()</A></EM></span> - <span class="comment"><EM>-- AKA: mvinsch()</EM></span> - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_insstr.3x.html">curs_insstr.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_101">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1560_14" HREF="terminal_interface-curses__adb.htm#ref_1653_14">Insert</A></span> (<span class="symbol"><A NAME="ref_1560_22" HREF="terminal_interface-curses__adb.htm#ref_1653_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1561_22" HREF="terminal_interface-curses__adb.htm#ref_1654_22">Str</A></span> : String; - <span class="symbol"><A NAME="ref_1562_22" HREF="terminal_interface-curses__adb.htm#ref_1655_22">Len</A></span> : Integer := -1); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_insstr.3x.html">winsnstr()</A></EM></span> - <span class="comment"><EM>-- AKA: winsstr()</EM></span> - <span class="comment"><EM>-- AKA: insnstr()</EM></span> - <span class="comment"><EM>-- AKA: insstr()</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_102">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1569_14" HREF="terminal_interface-curses__adb.htm#ref_1671_14">Insert</A></span> (<span class="symbol"><A NAME="ref_1569_22" HREF="terminal_interface-curses__adb.htm#ref_1672_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1570_22" HREF="terminal_interface-curses__adb.htm#ref_1673_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1571_22" HREF="terminal_interface-curses__adb.htm#ref_1674_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_1572_22" HREF="terminal_interface-curses__adb.htm#ref_1675_7">Str</A></span> : String; - <span class="symbol"><A NAME="ref_1573_22" HREF="terminal_interface-curses__adb.htm#ref_1676_7">Len</A></span> : Integer := -1); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_insstr.3x.html">mvwinsnstr()</A></EM></span> - <span class="comment"><EM>-- AKA: mvwinsstr()</EM></span> - <span class="comment"><EM>-- AKA: mvinsnstr()</EM></span> - <span class="comment"><EM>-- AKA: mvinsstr()</EM></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_inch.3x.html">curs_inch.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_97">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_1523_13" href="terminal_interface-curses__adb.htm#ref_1599_13">Peek</a></span> (<span class="symbol"><a name="ref_1523_19" href="terminal_interface-curses__adb.htm#ref_1599_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>) + <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; + <span class="comment"><em>-- AKA: inch()</em></span> + <span class="comment"><em>-- AKA: <A HREF="../man/curs_inch.3x.html">winch()</A></em></span> + + <span class="comment"><em>-- <A NAME="AFU_98">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_1529_13" href="terminal_interface-curses__adb.htm#ref_1608_13">Peek</a></span> + (<span class="symbol"><a name="ref_1530_7" href="terminal_interface-curses__adb.htm#ref_1609_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1531_7" href="terminal_interface-curses__adb.htm#ref_1610_7">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1532_7" href="terminal_interface-curses__adb.htm#ref_1611_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_inch.3x.html">mvwinch()</A></em></span> + <span class="comment"><em>-- AKA: mvinch()</em></span> + <span class="comment"><em>-- More Peek's follow, pragma Inline appears later.</em></span> + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_insch.3x.html">curs_insch.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_99">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1542_14" href="terminal_interface-curses__adb.htm#ref_1621_14">Insert</a></span> (<span class="symbol"><a name="ref_1542_22" href="terminal_interface-curses__adb.htm#ref_1621_22">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1543_22" href="terminal_interface-curses__adb.htm#ref_1622_22">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_insch.3x.html">winsch()</A></em></span> + <span class="comment"><em>-- AKA: insch()</em></span> + + <span class="comment"><em>-- <A NAME="AFU_100">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1548_14" href="terminal_interface-curses__adb.htm#ref_1632_14">Insert</a></span> (<span class="symbol"><a name="ref_1548_22" href="terminal_interface-curses__adb.htm#ref_1633_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1549_22" href="terminal_interface-curses__adb.htm#ref_1634_7">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1550_22" href="terminal_interface-curses__adb.htm#ref_1635_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_1551_22" href="terminal_interface-curses__adb.htm#ref_1636_7">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_insch.3x.html">mvwinsch()</A></em></span> + <span class="comment"><em>-- AKA: mvinsch()</em></span> + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_insstr.3x.html">curs_insstr.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_101">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1560_14" href="terminal_interface-curses__adb.htm#ref_1653_14">Insert</a></span> (<span class="symbol"><a name="ref_1560_22" href="terminal_interface-curses__adb.htm#ref_1653_22">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1561_22" href="terminal_interface-curses__adb.htm#ref_1654_22">Str</a></span> : String; + <span class="symbol"><a name="ref_1562_22" href="terminal_interface-curses__adb.htm#ref_1655_22">Len</a></span> : Integer := -1); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_insstr.3x.html">winsnstr()</A></em></span> + <span class="comment"><em>-- AKA: winsstr()</em></span> + <span class="comment"><em>-- AKA: insnstr()</em></span> + <span class="comment"><em>-- AKA: insstr()</em></span> + + <span class="comment"><em>-- <A NAME="AFU_102">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1569_14" href="terminal_interface-curses__adb.htm#ref_1671_14">Insert</a></span> (<span class="symbol"><a name="ref_1569_22" href="terminal_interface-curses__adb.htm#ref_1672_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1570_22" href="terminal_interface-curses__adb.htm#ref_1673_7">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1571_22" href="terminal_interface-curses__adb.htm#ref_1674_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_1572_22" href="terminal_interface-curses__adb.htm#ref_1675_7">Str</a></span> : String; + <span class="symbol"><a name="ref_1573_22" href="terminal_interface-curses__adb.htm#ref_1676_7">Len</a></span> : Integer := -1); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_insstr.3x.html">mvwinsnstr()</A></em></span> + <span class="comment"><em>-- AKA: mvwinsstr()</em></span> + <span class="comment"><em>-- AKA: mvinsnstr()</em></span> + <span class="comment"><em>-- AKA: mvinsstr()</em></span> <b>pragma</b> Inline (Insert); - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_instr.3x.html">curs_instr.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_103">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1585_14" HREF="terminal_interface-curses__adb.htm#ref_1696_14">Peek</A></span> (<span class="symbol"><A NAME="ref_1585_20" HREF="terminal_interface-curses__adb.htm#ref_1696_20">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1586_20" HREF="terminal_interface-curses__adb.htm#ref_1697_20">Str</A></span> : <b>out</b> String; - <span class="symbol"><A NAME="ref_1587_20" HREF="terminal_interface-curses__adb.htm#ref_1698_20">Len</A></span> : Integer := -1); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_instr.3x.html">winnstr()</A></EM></span> - <span class="comment"><EM>-- AKA: winstr()</EM></span> - <span class="comment"><EM>-- AKA: innstr()</EM></span> - <span class="comment"><EM>-- AKA: instr()</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_104">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1594_14" HREF="terminal_interface-curses__adb.htm#ref_1725_14">Peek</A></span> (<span class="symbol"><A NAME="ref_1594_20" HREF="terminal_interface-curses__adb.htm#ref_1726_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1595_20" HREF="terminal_interface-curses__adb.htm#ref_1727_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1596_20" HREF="terminal_interface-curses__adb.htm#ref_1728_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_1597_20" HREF="terminal_interface-curses__adb.htm#ref_1729_7">Str</A></span> : <b>out</b> String; - <span class="symbol"><A NAME="ref_1598_20" HREF="terminal_interface-curses__adb.htm#ref_1730_7">Len</A></span> : Integer := -1); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_instr.3x.html">mvwinnstr()</A></EM></span> - <span class="comment"><EM>-- AKA: mvwinstr()</EM></span> - <span class="comment"><EM>-- AKA: mvinnstr()</EM></span> - <span class="comment"><EM>-- AKA: mvinstr()</EM></span> - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_inchstr.3x.html">curs_inchstr.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_105">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1609_14" HREF="terminal_interface-curses__adb.htm#ref_1737_14">Peek</A></span> (<span class="symbol"><A NAME="ref_1609_20" HREF="terminal_interface-curses__adb.htm#ref_1738_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1610_20" HREF="terminal_interface-curses__adb.htm#ref_1739_7">Str</A></span> : <b>out</b> Attributed_String; - <span class="symbol"><A NAME="ref_1611_20" HREF="terminal_interface-curses__adb.htm#ref_1740_7">Len</A></span> : Integer := -1); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_inchstr.3x.html">winchnstr()</A></EM></span> - <span class="comment"><EM>-- AKA: winchstr()</EM></span> - <span class="comment"><EM>-- AKA: inchnstr()</EM></span> - <span class="comment"><EM>-- AKA: inchstr()</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_106">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1618_14" HREF="terminal_interface-curses__adb.htm#ref_1774_14">Peek</A></span> (<span class="symbol"><A NAME="ref_1618_20" HREF="terminal_interface-curses__adb.htm#ref_1775_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1619_20" HREF="terminal_interface-curses__adb.htm#ref_1776_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1620_20" HREF="terminal_interface-curses__adb.htm#ref_1777_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_1621_20" HREF="terminal_interface-curses__adb.htm#ref_1778_7">Str</A></span> : <b>out</b> Attributed_String; - <span class="symbol"><A NAME="ref_1622_20" HREF="terminal_interface-curses__adb.htm#ref_1779_7">Len</A></span> : Integer := -1); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_inchstr.3x.html">mvwinchnstr()</A></EM></span> - <span class="comment"><EM>-- AKA: mvwinchstr()</EM></span> - <span class="comment"><EM>-- AKA: mvinchnstr()</EM></span> - <span class="comment"><EM>-- AKA: mvinchstr()</EM></span> - <span class="comment"><EM>-- We do not inline the Peek procedures</EM></span> - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_getstr.3x.html">curs_getstr.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_107">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1634_14" HREF="terminal_interface-curses__adb.htm#ref_1786_14">Get</A></span> (<span class="symbol"><A NAME="ref_1634_19" HREF="terminal_interface-curses__adb.htm#ref_1786_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1635_19" HREF="terminal_interface-curses__adb.htm#ref_1787_19">Str</A></span> : <b>out</b> String; - <span class="symbol"><A NAME="ref_1636_19" HREF="terminal_interface-curses__adb.htm#ref_1788_19">Len</A></span> : Integer := -1); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_getstr.3x.html">wgetnstr()</A></EM></span> - <span class="comment"><EM>-- AKA: wgetstr()</EM></span> - <span class="comment"><EM>-- AKA: getnstr()</EM></span> - <span class="comment"><EM>-- AKA: getstr()</EM></span> - <span class="comment"><EM>-- actually getstr is not supported because that results in buffer</EM></span> - <span class="comment"><EM>-- overflows.</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_108">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1645_14" HREF="terminal_interface-curses__adb.htm#ref_1815_14">Get</A></span> (<span class="symbol"><A NAME="ref_1645_19" HREF="terminal_interface-curses__adb.htm#ref_1816_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1646_19" HREF="terminal_interface-curses__adb.htm#ref_1817_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1647_19" HREF="terminal_interface-curses__adb.htm#ref_1818_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_1648_19" HREF="terminal_interface-curses__adb.htm#ref_1819_7">Str</A></span> : <b>out</b> String; - <span class="symbol"><A NAME="ref_1649_19" HREF="terminal_interface-curses__adb.htm#ref_1820_7">Len</A></span> : Integer := -1); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_getstr.3x.html">mvwgetnstr()</A></EM></span> - <span class="comment"><EM>-- AKA: mvwgetstr()</EM></span> - <span class="comment"><EM>-- AKA: mvgetnstr()</EM></span> - <span class="comment"><EM>-- AKA: mvgetstr()</EM></span> - <span class="comment"><EM>-- Get is not inlined</EM></span> - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- Not Implemented: slk_attr_on, slk_attr_off, slk_attr_set</EM></span> - - <b>type</b> <span class="symbol"><A NAME="ref_1662_9">Soft_Label_Key_Format</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_1662_35">Three_Two_Three</A></span>, - <span class="symbol"><A NAME="ref_1663_35">Four_Four</A></span>, - <span class="symbol"><A NAME="ref_1664_35">PC_Style</A></span>, <span class="comment"><EM>-- ncurses specific</EM></span> - <span class="symbol"><A NAME="ref_1665_35">PC_Style_With_Index</A></span>); <span class="comment"><EM>-- "</EM></span> - <b>type</b> <span class="symbol"><A NAME="ref_1666_9">Label_Number</A></span> <b>is</b> <b>new</b> Positive <b>range</b> 1 .. 12; - <b>type</b> <span class="symbol"><A NAME="ref_1667_9">Label_Justification</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_1667_33">Left</A></span>, <span class="symbol"><A NAME="ref_1667_39">Centered</A></span>, <span class="symbol"><A NAME="ref_1667_49">Right</A></span>); - - <span class="comment"><EM>-- <A NAME="AFU_109">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1670_14" HREF="terminal_interface-curses__adb.htm#ref_1827_14">Init_Soft_Label_Keys</A></span> - (<span class="symbol"><A NAME="ref_1671_7" HREF="terminal_interface-curses__adb.htm#ref_1828_7">Format</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1662_9">Soft_Label_Key_Format</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1662_35">Three_Two_Three</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_init()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1670_14">Init_Soft_Label_Keys</A>); - - <span class="comment"><EM>-- <A NAME="AFU_110">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1676_14" HREF="terminal_interface-curses__adb.htm#ref_1838_14">Set_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1676_34" HREF="terminal_interface-curses__adb.htm#ref_1838_34">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1666_9">Label_Number</A>; - <span class="symbol"><A NAME="ref_1677_34" HREF="terminal_interface-curses__adb.htm#ref_1839_34">Text</A></span> : String; - <span class="symbol"><A NAME="ref_1678_34" HREF="terminal_interface-curses__adb.htm#ref_1840_34">Fmt</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1667_9">Label_Justification</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1667_33">Left</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_set()</A></EM></span> - <span class="comment"><EM>-- We do not inline this procedure</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_111">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1683_14" HREF="terminal_interface-curses__adb.htm#ref_1858_14">Refresh_Soft_Label_Keys</A></span>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_refresh()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1683_14">Refresh_Soft_Label_Keys</A>); - - <span class="comment"><EM>-- <A NAME="AFU_112">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1688_14" HREF="terminal_interface-curses__adb.htm#ref_1868_14">Refresh_Soft_Label_Keys_Without_Update</A></span>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_noutrefresh()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1688_14">Refresh_Soft_Label_Keys_Without_Update</A>); - - <span class="comment"><EM>-- <A NAME="AFU_113">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1693_14" HREF="terminal_interface-curses__adb.htm#ref_1878_14">Get_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1693_34" HREF="terminal_interface-curses__adb.htm#ref_1878_34">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1666_9">Label_Number</A>; - <span class="symbol"><A NAME="ref_1694_34" HREF="terminal_interface-curses__adb.htm#ref_1879_34">Text</A></span> : <b>out</b> String); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_label()</A></EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_114">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_1698_13" HREF="terminal_interface-curses__adb.htm#ref_1887_13">Get_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1698_33" HREF="terminal_interface-curses__adb.htm#ref_1887_33">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1666_9">Label_Number</A>) <b>return</b> String; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_label()</A></EM></span> - <span class="comment"><EM>-- Same as function</EM></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_instr.3x.html">curs_instr.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_103">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1585_14" href="terminal_interface-curses__adb.htm#ref_1696_14">Peek</a></span> (<span class="symbol"><a name="ref_1585_20" href="terminal_interface-curses__adb.htm#ref_1696_20">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1586_20" href="terminal_interface-curses__adb.htm#ref_1697_20">Str</a></span> : <b>out</b> String; + <span class="symbol"><a name="ref_1587_20" href="terminal_interface-curses__adb.htm#ref_1698_20">Len</a></span> : Integer := -1); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_instr.3x.html">winnstr()</A></em></span> + <span class="comment"><em>-- AKA: winstr()</em></span> + <span class="comment"><em>-- AKA: innstr()</em></span> + <span class="comment"><em>-- AKA: instr()</em></span> + + <span class="comment"><em>-- <A NAME="AFU_104">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1594_14" href="terminal_interface-curses__adb.htm#ref_1725_14">Peek</a></span> (<span class="symbol"><a name="ref_1594_20" href="terminal_interface-curses__adb.htm#ref_1726_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1595_20" href="terminal_interface-curses__adb.htm#ref_1727_7">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1596_20" href="terminal_interface-curses__adb.htm#ref_1728_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_1597_20" href="terminal_interface-curses__adb.htm#ref_1729_7">Str</a></span> : <b>out</b> String; + <span class="symbol"><a name="ref_1598_20" href="terminal_interface-curses__adb.htm#ref_1730_7">Len</a></span> : Integer := -1); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_instr.3x.html">mvwinnstr()</A></em></span> + <span class="comment"><em>-- AKA: mvwinstr()</em></span> + <span class="comment"><em>-- AKA: mvinnstr()</em></span> + <span class="comment"><em>-- AKA: mvinstr()</em></span> + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_inchstr.3x.html">curs_inchstr.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_105">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1609_14" href="terminal_interface-curses__adb.htm#ref_1737_14">Peek</a></span> (<span class="symbol"><a name="ref_1609_20" href="terminal_interface-curses__adb.htm#ref_1738_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1610_20" href="terminal_interface-curses__adb.htm#ref_1739_7">Str</a></span> : <b>out</b> Attributed_String; + <span class="symbol"><a name="ref_1611_20" href="terminal_interface-curses__adb.htm#ref_1740_7">Len</a></span> : Integer := -1); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_inchstr.3x.html">winchnstr()</A></em></span> + <span class="comment"><em>-- AKA: winchstr()</em></span> + <span class="comment"><em>-- AKA: inchnstr()</em></span> + <span class="comment"><em>-- AKA: inchstr()</em></span> + + <span class="comment"><em>-- <A NAME="AFU_106">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1618_14" href="terminal_interface-curses__adb.htm#ref_1774_14">Peek</a></span> (<span class="symbol"><a name="ref_1618_20" href="terminal_interface-curses__adb.htm#ref_1775_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1619_20" href="terminal_interface-curses__adb.htm#ref_1776_7">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1620_20" href="terminal_interface-curses__adb.htm#ref_1777_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_1621_20" href="terminal_interface-curses__adb.htm#ref_1778_7">Str</a></span> : <b>out</b> Attributed_String; + <span class="symbol"><a name="ref_1622_20" href="terminal_interface-curses__adb.htm#ref_1779_7">Len</a></span> : Integer := -1); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_inchstr.3x.html">mvwinchnstr()</A></em></span> + <span class="comment"><em>-- AKA: mvwinchstr()</em></span> + <span class="comment"><em>-- AKA: mvinchnstr()</em></span> + <span class="comment"><em>-- AKA: mvinchstr()</em></span> + <span class="comment"><em>-- We do not inline the Peek procedures</em></span> + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_getstr.3x.html">curs_getstr.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_107">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1634_14" href="terminal_interface-curses__adb.htm#ref_1786_14">Get</a></span> (<span class="symbol"><a name="ref_1634_19" href="terminal_interface-curses__adb.htm#ref_1786_19">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1635_19" href="terminal_interface-curses__adb.htm#ref_1787_19">Str</a></span> : <b>out</b> String; + <span class="symbol"><a name="ref_1636_19" href="terminal_interface-curses__adb.htm#ref_1788_19">Len</a></span> : Integer := -1); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_getstr.3x.html">wgetnstr()</A></em></span> + <span class="comment"><em>-- AKA: wgetstr()</em></span> + <span class="comment"><em>-- AKA: getnstr()</em></span> + <span class="comment"><em>-- AKA: getstr()</em></span> + <span class="comment"><em>-- actually getstr is not supported because that results in buffer</em></span> + <span class="comment"><em>-- overflows.</em></span> + + <span class="comment"><em>-- <A NAME="AFU_108">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1645_14" href="terminal_interface-curses__adb.htm#ref_1815_14">Get</a></span> (<span class="symbol"><a name="ref_1645_19" href="terminal_interface-curses__adb.htm#ref_1816_7">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1646_19" href="terminal_interface-curses__adb.htm#ref_1817_7">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1647_19" href="terminal_interface-curses__adb.htm#ref_1818_7">Column</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_1648_19" href="terminal_interface-curses__adb.htm#ref_1819_7">Str</a></span> : <b>out</b> String; + <span class="symbol"><a name="ref_1649_19" href="terminal_interface-curses__adb.htm#ref_1820_7">Len</a></span> : Integer := -1); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_getstr.3x.html">mvwgetnstr()</A></em></span> + <span class="comment"><em>-- AKA: mvwgetstr()</em></span> + <span class="comment"><em>-- AKA: mvgetnstr()</em></span> + <span class="comment"><em>-- AKA: mvgetstr()</em></span> + <span class="comment"><em>-- Get is not inlined</em></span> + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- Not Implemented: slk_attr_on, slk_attr_off, slk_attr_set</em></span> + + <b>type</b> <span class="symbol"><a name="ref_1662_9">Soft_Label_Key_Format</a></span> <b>is</b> (<span class="symbol"><a name="ref_1662_35">Three_Two_Three</a></span>, + <span class="symbol"><a name="ref_1663_35">Four_Four</a></span>, + <span class="symbol"><a name="ref_1664_35">PC_Style</a></span>, <span class="comment"><em>-- ncurses specific</em></span> + <span class="symbol"><a name="ref_1665_35">PC_Style_With_Index</a></span>); <span class="comment"><em>-- "</em></span> + <b>type</b> <span class="symbol"><a name="ref_1666_9">Label_Number</a></span> <b>is</b> <b>new</b> Positive <b>range</b> 1 .. 12; + <b>type</b> <span class="symbol"><a name="ref_1667_9">Label_Justification</a></span> <b>is</b> (<span class="symbol"><a name="ref_1667_33">Left</a></span>, <span class="symbol"><a name="ref_1667_39">Centered</a></span>, <span class="symbol"><a name="ref_1667_49">Right</a></span>); + + <span class="comment"><em>-- <A NAME="AFU_109">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1670_14" href="terminal_interface-curses__adb.htm#ref_1827_14">Init_Soft_Label_Keys</a></span> + (<span class="symbol"><a name="ref_1671_7" href="terminal_interface-curses__adb.htm#ref_1828_7">Format</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1662_9">Soft_Label_Key_Format</a> := <a href="terminal_interface-curses__ads.htm#ref_1662_35">Three_Two_Three</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_init()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1670_14">Init_Soft_Label_Keys</a>); + + <span class="comment"><em>-- <A NAME="AFU_110">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1676_14" href="terminal_interface-curses__adb.htm#ref_1838_14">Set_Soft_Label_Key</a></span> (<span class="symbol"><a name="ref_1676_34" href="terminal_interface-curses__adb.htm#ref_1838_34">Label</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1666_9">Label_Number</a>; + <span class="symbol"><a name="ref_1677_34" href="terminal_interface-curses__adb.htm#ref_1839_34">Text</a></span> : String; + <span class="symbol"><a name="ref_1678_34" href="terminal_interface-curses__adb.htm#ref_1840_34">Fmt</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1667_9">Label_Justification</a> := <a href="terminal_interface-curses__ads.htm#ref_1667_33">Left</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_set()</A></em></span> + <span class="comment"><em>-- We do not inline this procedure</em></span> + + <span class="comment"><em>-- <A NAME="AFU_111">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1683_14" href="terminal_interface-curses__adb.htm#ref_1858_14">Refresh_Soft_Label_Keys</a></span>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_refresh()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1683_14">Refresh_Soft_Label_Keys</a>); + + <span class="comment"><em>-- <A NAME="AFU_112">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1688_14" href="terminal_interface-curses__adb.htm#ref_1868_14">Refresh_Soft_Label_Keys_Without_Update</a></span>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_noutrefresh()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1688_14">Refresh_Soft_Label_Keys_Without_Update</a>); + + <span class="comment"><em>-- <A NAME="AFU_113">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1693_14" href="terminal_interface-curses__adb.htm#ref_1878_14">Get_Soft_Label_Key</a></span> (<span class="symbol"><a name="ref_1693_34" href="terminal_interface-curses__adb.htm#ref_1878_34">Label</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1666_9">Label_Number</a>; + <span class="symbol"><a name="ref_1694_34" href="terminal_interface-curses__adb.htm#ref_1879_34">Text</a></span> : <b>out</b> String); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_label()</A></em></span> + + <span class="comment"><em>-- <A NAME="AFU_114">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_1698_13" href="terminal_interface-curses__adb.htm#ref_1887_13">Get_Soft_Label_Key</a></span> (<span class="symbol"><a name="ref_1698_33" href="terminal_interface-curses__adb.htm#ref_1887_33">Label</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1666_9">Label_Number</a>) <b>return</b> String; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_label()</A></em></span> + <span class="comment"><em>-- Same as function</em></span> <b>pragma</b> Inline (Get_Soft_Label_Key); - <span class="comment"><EM>-- <A NAME="AFU_115">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1704_14" HREF="terminal_interface-curses__adb.htm#ref_1895_14">Clear_Soft_Label_Keys</A></span>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_clear()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1704_14">Clear_Soft_Label_Keys</A>); - - <span class="comment"><EM>-- <A NAME="AFU_116">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1709_14" HREF="terminal_interface-curses__adb.htm#ref_1905_14">Restore_Soft_Label_Keys</A></span>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_restore()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1709_14">Restore_Soft_Label_Keys</A>); - - <span class="comment"><EM>-- <A NAME="AFU_117">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1714_14" HREF="terminal_interface-curses__adb.htm#ref_1915_14">Touch_Soft_Label_Keys</A></span>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_touch()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1714_14">Touch_Soft_Label_Keys</A>); - - <span class="comment"><EM>-- <A NAME="AFU_118">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1719_14" HREF="terminal_interface-curses__adb.htm#ref_1925_14">Switch_Soft_Label_Key_Attributes</A></span> - (<span class="symbol"><A NAME="ref_1720_7" HREF="terminal_interface-curses__adb.htm#ref_1926_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A>; - <span class="symbol"><A NAME="ref_1721_7" HREF="terminal_interface-curses__adb.htm#ref_1927_7">On</A></span> : Boolean := True); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_attron()</A></EM></span> - <span class="comment"><EM>-- AKA: slk_attroff()</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1719_14">Switch_Soft_Label_Key_Attributes</A>); - - <span class="comment"><EM>-- <A NAME="AFU_119">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1727_14" HREF="terminal_interface-curses__adb.htm#ref_1949_14">Set_Soft_Label_Key_Attributes</A></span> - (<span class="symbol"><A NAME="ref_1728_7" HREF="terminal_interface-curses__adb.htm#ref_1950_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</A>; - <span class="symbol"><A NAME="ref_1729_7" HREF="terminal_interface-curses__adb.htm#ref_1951_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>'First); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_attrset()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1727_14">Set_Soft_Label_Key_Attributes</A>); - - <span class="comment"><EM>-- <A NAME="AFU_120">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_1734_13" HREF="terminal_interface-curses__adb.htm#ref_1965_13">Get_Soft_Label_Key_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_attr()</A></EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_121">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_1738_13" HREF="terminal_interface-curses__adb.htm#ref_1975_13">Get_Soft_Label_Key_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_attr()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_115">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1704_14" href="terminal_interface-curses__adb.htm#ref_1895_14">Clear_Soft_Label_Keys</a></span>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_clear()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1704_14">Clear_Soft_Label_Keys</a>); + + <span class="comment"><em>-- <A NAME="AFU_116">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1709_14" href="terminal_interface-curses__adb.htm#ref_1905_14">Restore_Soft_Label_Keys</a></span>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_restore()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1709_14">Restore_Soft_Label_Keys</a>); + + <span class="comment"><em>-- <A NAME="AFU_117">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1714_14" href="terminal_interface-curses__adb.htm#ref_1915_14">Touch_Soft_Label_Keys</a></span>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_touch()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1714_14">Touch_Soft_Label_Keys</a>); + + <span class="comment"><em>-- <A NAME="AFU_118">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1719_14" href="terminal_interface-curses__adb.htm#ref_1925_14">Switch_Soft_Label_Key_Attributes</a></span> + (<span class="symbol"><a name="ref_1720_7" href="terminal_interface-curses__adb.htm#ref_1926_7">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>; + <span class="symbol"><a name="ref_1721_7" href="terminal_interface-curses__adb.htm#ref_1927_7">On</a></span> : Boolean := True); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_attron()</A></em></span> + <span class="comment"><em>-- AKA: slk_attroff()</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1719_14">Switch_Soft_Label_Key_Attributes</a>); + + <span class="comment"><em>-- <A NAME="AFU_119">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1727_14" href="terminal_interface-curses__adb.htm#ref_1949_14">Set_Soft_Label_Key_Attributes</a></span> + (<span class="symbol"><a name="ref_1728_7" href="terminal_interface-curses__adb.htm#ref_1950_7">Attr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>; + <span class="symbol"><a name="ref_1729_7" href="terminal_interface-curses__adb.htm#ref_1951_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_attrset()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1727_14">Set_Soft_Label_Key_Attributes</a>); + + <span class="comment"><em>-- <A NAME="AFU_120">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_1734_13" href="terminal_interface-curses__adb.htm#ref_1965_13">Get_Soft_Label_Key_Attributes</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_attr()</A></em></span> + + <span class="comment"><em>-- <A NAME="AFU_121">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_1738_13" href="terminal_interface-curses__adb.htm#ref_1975_13">Get_Soft_Label_Key_Attributes</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_attr()</A></em></span> <b>pragma</b> Inline (Get_Soft_Label_Key_Attributes); - <span class="comment"><EM>-- <A NAME="AFU_122">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1743_14" HREF="terminal_interface-curses__adb.htm#ref_1985_14">Set_Soft_Label_Key_Color</A></span> (<span class="symbol"><A NAME="ref_1743_40" HREF="terminal_interface-curses__adb.htm#ref_1985_40">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_color()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1743_14">Set_Soft_Label_Key_Color</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/keybound.3x.html">keybound.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- Not Implemented: keybound</EM></span> - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/keyok.3x.html">keyok.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_123">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1757_14" HREF="terminal_interface-curses__adb.htm#ref_1996_14">Enable_Key</A></span> (<span class="symbol"><A NAME="ref_1757_26" HREF="terminal_interface-curses__adb.htm#ref_1996_26">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A>; - <span class="symbol"><A NAME="ref_1758_26" HREF="terminal_interface-curses__adb.htm#ref_1997_26">Enable</A></span> : Boolean := True); - <span class="comment"><EM>-- AKA: <A HREF="../man/keyok.3x.html">keyok()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1757_14">Enable_Key</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/define_key.3x.html">define_key.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_124">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1767_14" HREF="terminal_interface-curses__adb.htm#ref_2010_14">Define_Key</A></span> (<span class="symbol"><A NAME="ref_1767_26" HREF="terminal_interface-curses__adb.htm#ref_2010_26">Definition</A></span> : String; - <span class="symbol"><A NAME="ref_1768_26" HREF="terminal_interface-curses__adb.htm#ref_2011_26">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/define_key.3x.html">define_key()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1767_14">Define_Key</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_util.3x.html">curs_util.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- | Not implemented : filter, use_env</EM></span> - <span class="comment"><EM>-- | putwin, getwin are in the child package PutWin</EM></span> - <span class="comment"><EM>--</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_125">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1781_14" HREF="terminal_interface-curses__adb.htm#ref_90_14">Key_Name</A></span> (<span class="symbol"><A NAME="ref_1781_24" HREF="terminal_interface-curses__adb.htm#ref_90_24">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</A>; - <span class="symbol"><A NAME="ref_1782_24" HREF="terminal_interface-curses__adb.htm#ref_91_24">Name</A></span> : <b>out</b> String); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_util.3x.html">keyname()</A></EM></span> - <span class="comment"><EM>-- The external name for a real keystroke.</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_126">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_1787_13" HREF="terminal_interface-curses__adb.htm#ref_62_13">Key_Name</A></span> (<span class="symbol"><A NAME="ref_1787_23" HREF="terminal_interface-curses__adb.htm#ref_62_23">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</A>) <b>return</b> String; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_util.3x.html">keyname()</A></EM></span> - <span class="comment"><EM>-- Same as function</EM></span> - <span class="comment"><EM>-- We do not inline this routine</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_127">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1793_14" HREF="terminal_interface-curses__adb.htm#ref_2026_14">Un_Control</A></span> (<span class="symbol"><A NAME="ref_1793_26" HREF="terminal_interface-curses__adb.htm#ref_2026_26">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>; - <span class="symbol"><A NAME="ref_1794_26" HREF="terminal_interface-curses__adb.htm#ref_2027_26">Str</A></span> : <b>out</b> String); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_util.3x.html">unctrl()</A></EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_128">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_1798_13" HREF="terminal_interface-curses__adb.htm#ref_2035_13">Un_Control</A></span> (<span class="symbol"><A NAME="ref_1798_25" HREF="terminal_interface-curses__adb.htm#ref_2035_25">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</A>) <b>return</b> String; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_util.3x.html">unctrl()</A></EM></span> - <span class="comment"><EM>-- Same as function</EM></span> + <span class="comment"><em>-- <A NAME="AFU_122">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1743_14" href="terminal_interface-curses__adb.htm#ref_1985_14">Set_Soft_Label_Key_Color</a></span> (<span class="symbol"><a name="ref_1743_40" href="terminal_interface-curses__adb.htm#ref_1985_40">Pair</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_color()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1743_14">Set_Soft_Label_Key_Color</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/keybound.3x.html">keybound.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- Not Implemented: keybound</em></span> + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/keyok.3x.html">keyok.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_123">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1757_14" href="terminal_interface-curses__adb.htm#ref_1996_14">Enable_Key</a></span> (<span class="symbol"><a name="ref_1757_26" href="terminal_interface-curses__adb.htm#ref_1996_26">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>; + <span class="symbol"><a name="ref_1758_26" href="terminal_interface-curses__adb.htm#ref_1997_26">Enable</a></span> : Boolean := True); + <span class="comment"><em>-- AKA: <A HREF="../man/keyok.3x.html">keyok()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1757_14">Enable_Key</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/define_key.3x.html">define_key.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_124">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1767_14" href="terminal_interface-curses__adb.htm#ref_2010_14">Define_Key</a></span> (<span class="symbol"><a name="ref_1767_26" href="terminal_interface-curses__adb.htm#ref_2010_26">Definition</a></span> : String; + <span class="symbol"><a name="ref_1768_26" href="terminal_interface-curses__adb.htm#ref_2011_26">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_77_12">Special_Key_Code</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/define_key.3x.html">define_key()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1767_14">Define_Key</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_util.3x.html">curs_util.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- | Not implemented : filter, use_env</em></span> + <span class="comment"><em>-- | putwin, getwin are in the child package PutWin</em></span> + <span class="comment"><em>--</em></span> + + <span class="comment"><em>-- <A NAME="AFU_125">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1781_14" href="terminal_interface-curses__adb.htm#ref_90_14">Key_Name</a></span> (<span class="symbol"><a name="ref_1781_24" href="terminal_interface-curses__adb.htm#ref_90_24">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>; + <span class="symbol"><a name="ref_1782_24" href="terminal_interface-curses__adb.htm#ref_91_24">Name</a></span> : <b>out</b> String); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_util.3x.html">keyname()</A></em></span> + <span class="comment"><em>-- The external name for a real keystroke.</em></span> + + <span class="comment"><em>-- <A NAME="AFU_126">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_1787_13" href="terminal_interface-curses__adb.htm#ref_62_13">Key_Name</a></span> (<span class="symbol"><a name="ref_1787_23" href="terminal_interface-curses__adb.htm#ref_62_23">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_72_12">Real_Key_Code</a>) <b>return</b> String; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_util.3x.html">keyname()</A></em></span> + <span class="comment"><em>-- Same as function</em></span> + <span class="comment"><em>-- We do not inline this routine</em></span> + + <span class="comment"><em>-- <A NAME="AFU_127">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1793_14" href="terminal_interface-curses__adb.htm#ref_2026_14">Un_Control</a></span> (<span class="symbol"><a name="ref_1793_26" href="terminal_interface-curses__adb.htm#ref_2026_26">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>; + <span class="symbol"><a name="ref_1794_26" href="terminal_interface-curses__adb.htm#ref_2027_26">Str</a></span> : <b>out</b> String); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_util.3x.html">unctrl()</A></em></span> + + <span class="comment"><em>-- <A NAME="AFU_128">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_1798_13" href="terminal_interface-curses__adb.htm#ref_2035_13">Un_Control</a></span> (<span class="symbol"><a name="ref_1798_25" href="terminal_interface-curses__adb.htm#ref_2035_25">Ch</a></span> : <a href="terminal_interface-curses__ads.htm#ref_488_9">Attributed_Character</a>) <b>return</b> String; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_util.3x.html">unctrl()</A></em></span> + <span class="comment"><em>-- Same as function</em></span> <b>pragma</b> Inline (Un_Control); - <span class="comment"><EM>-- <A NAME="AFU_129">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1804_14" HREF="terminal_interface-curses__adb.htm#ref_2043_14">Delay_Output</A></span> (<span class="symbol"><A NAME="ref_1804_28" HREF="terminal_interface-curses__adb.htm#ref_2043_28">Msecs</A></span> : Natural); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_util.3x.html">delay_output()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1804_14">Delay_Output</A>); - - <span class="comment"><EM>-- <A NAME="AFU_130">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1809_14" HREF="terminal_interface-curses__adb.htm#ref_2053_14">Flush_Input</A></span>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_util.3x.html">flushinp()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1809_14">Flush_Input</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_termattrs.3x.html">curs_termattrs.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_131">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_1818_13" HREF="terminal_interface-curses__adb.htm#ref_2063_13">Baudrate</A></span> <b>return</b> Natural; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_termattrs.3x.html">baudrate()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1818_13">Baudrate</A>); - - <span class="comment"><EM>-- <A NAME="AFU_132">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_1823_13" HREF="terminal_interface-curses__adb.htm#ref_2071_13">Erase_Character</A></span> <b>return</b> Character; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_termattrs.3x.html">erasechar()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1823_13">Erase_Character</A>); - - <span class="comment"><EM>-- <A NAME="AFU_133">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_1828_13" HREF="terminal_interface-curses__adb.htm#ref_2079_13">Kill_Character</A></span> <b>return</b> Character; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_termattrs.3x.html">killchar()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1828_13">Kill_Character</A>); - - <span class="comment"><EM>-- <A NAME="AFU_134">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_1833_13" HREF="terminal_interface-curses__adb.htm#ref_2087_13">Has_Insert_Character</A></span> <b>return</b> Boolean; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_termattrs.3x.html">has_ic()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1833_13">Has_Insert_Character</A>); - - <span class="comment"><EM>-- <A NAME="AFU_135">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_1838_13" HREF="terminal_interface-curses__adb.htm#ref_2099_13">Has_Insert_Line</A></span> <b>return</b> Boolean; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_termattrs.3x.html">has_il()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1838_13">Has_Insert_Line</A>); - - <span class="comment"><EM>-- <A NAME="AFU_136">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_1843_13" HREF="terminal_interface-curses__adb.htm#ref_2111_13">Supported_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</A>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_termattrs.3x.html">termattrs()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1843_13">Supported_Attributes</A>); - - <span class="comment"><EM>-- <A NAME="AFU_137">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1848_14" HREF="terminal_interface-curses__adb.htm#ref_2121_14">Long_Name</A></span> (<span class="symbol"><A NAME="ref_1848_25" HREF="terminal_interface-curses__adb.htm#ref_2121_25">Name</A></span> : <b>out</b> String); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_termattrs.3x.html">longname()</A></EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_138">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_1852_13" HREF="terminal_interface-curses__adb.htm#ref_2129_13">Long_Name</A></span> <b>return</b> String; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_termattrs.3x.html">longname()</A></EM></span> - <span class="comment"><EM>-- Same as function</EM></span> + <span class="comment"><em>-- <A NAME="AFU_129">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1804_14" href="terminal_interface-curses__adb.htm#ref_2043_14">Delay_Output</a></span> (<span class="symbol"><a name="ref_1804_28" href="terminal_interface-curses__adb.htm#ref_2043_28">Msecs</a></span> : Natural); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_util.3x.html">delay_output()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1804_14">Delay_Output</a>); + + <span class="comment"><em>-- <A NAME="AFU_130">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1809_14" href="terminal_interface-curses__adb.htm#ref_2053_14">Flush_Input</a></span>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_util.3x.html">flushinp()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1809_14">Flush_Input</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_termattrs.3x.html">curs_termattrs.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_131">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_1818_13" href="terminal_interface-curses__adb.htm#ref_2063_13">Baudrate</a></span> <b>return</b> Natural; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_termattrs.3x.html">baudrate()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1818_13">Baudrate</a>); + + <span class="comment"><em>-- <A NAME="AFU_132">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_1823_13" href="terminal_interface-curses__adb.htm#ref_2071_13">Erase_Character</a></span> <b>return</b> Character; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_termattrs.3x.html">erasechar()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1823_13">Erase_Character</a>); + + <span class="comment"><em>-- <A NAME="AFU_133">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_1828_13" href="terminal_interface-curses__adb.htm#ref_2079_13">Kill_Character</a></span> <b>return</b> Character; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_termattrs.3x.html">killchar()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1828_13">Kill_Character</a>); + + <span class="comment"><em>-- <A NAME="AFU_134">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_1833_13" href="terminal_interface-curses__adb.htm#ref_2087_13">Has_Insert_Character</a></span> <b>return</b> Boolean; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_termattrs.3x.html">has_ic()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1833_13">Has_Insert_Character</a>); + + <span class="comment"><em>-- <A NAME="AFU_135">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_1838_13" href="terminal_interface-curses__adb.htm#ref_2099_13">Has_Insert_Line</a></span> <b>return</b> Boolean; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_termattrs.3x.html">has_il()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1838_13">Has_Insert_Line</a>); + + <span class="comment"><em>-- <A NAME="AFU_136">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_1843_13" href="terminal_interface-curses__adb.htm#ref_2111_13">Supported_Attributes</a></span> <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_termattrs.3x.html">termattrs()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1843_13">Supported_Attributes</a>); + + <span class="comment"><em>-- <A NAME="AFU_137">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1848_14" href="terminal_interface-curses__adb.htm#ref_2121_14">Long_Name</a></span> (<span class="symbol"><a name="ref_1848_25" href="terminal_interface-curses__adb.htm#ref_2121_25">Name</a></span> : <b>out</b> String); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_termattrs.3x.html">longname()</A></em></span> + + <span class="comment"><em>-- <A NAME="AFU_138">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_1852_13" href="terminal_interface-curses__adb.htm#ref_2129_13">Long_Name</a></span> <b>return</b> String; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_termattrs.3x.html">longname()</A></em></span> + <span class="comment"><em>-- Same as function</em></span> <b>pragma</b> Inline (Long_Name); - <span class="comment"><EM>-- <A NAME="AFU_139">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1858_14" HREF="terminal_interface-curses__adb.htm#ref_2137_14">Terminal_Name</A></span> (<span class="symbol"><A NAME="ref_1858_29" HREF="terminal_interface-curses__adb.htm#ref_2137_29">Name</A></span> : <b>out</b> String); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_termattrs.3x.html">termname()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_139">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1858_14" href="terminal_interface-curses__adb.htm#ref_2137_14">Terminal_Name</a></span> (<span class="symbol"><a name="ref_1858_29" href="terminal_interface-curses__adb.htm#ref_2137_29">Name</a></span> : <b>out</b> String); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_termattrs.3x.html">termname()</A></em></span> - <span class="comment"><EM>-- <A NAME="AFU_140">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_1862_13" HREF="terminal_interface-curses__adb.htm#ref_2145_13">Terminal_Name</A></span> <b>return</b> String; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_termattrs.3x.html">termname()</A></EM></span> - <span class="comment"><EM>-- Same as function</EM></span> + <span class="comment"><em>-- <A NAME="AFU_140">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_1862_13" href="terminal_interface-curses__adb.htm#ref_2145_13">Terminal_Name</a></span> <b>return</b> String; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_termattrs.3x.html">termname()</A></em></span> + <span class="comment"><em>-- Same as function</em></span> <b>pragma</b> Inline (Terminal_Name); - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_color.3x.html">curs_color.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_color.3x.html">curs_color.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> - <span class="comment"><EM>-- COLOR_PAIR</EM></span> - <span class="comment"><EM>-- COLOR_PAIR(n) in C is the same as</EM></span> - <span class="comment"><EM>-- Attributed_Character(Ch => Nul, Color => n, Attr => Normal_Video)</EM></span> - <span class="comment"><EM>-- In C you often see something like c = c | COLOR_PAIR(n);</EM></span> - <span class="comment"><EM>-- This is equivalent to c.Color := n;</EM></span> + <span class="comment"><em>-- COLOR_PAIR</em></span> + <span class="comment"><em>-- COLOR_PAIR(n) in C is the same as</em></span> + <span class="comment"><em>-- Attributed_Character(Ch => Nul, Color => n, Attr => Normal_Video)</em></span> + <span class="comment"><em>-- In C you often see something like c = c | COLOR_PAIR(n);</em></span> + <span class="comment"><em>-- This is equivalent to c.Color := n;</em></span> - <span class="comment"><EM>-- <A NAME="AFU_141">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1878_14">Start_Color</A></span>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_color.3x.html">start_color()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_141">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1878_14">Start_Color</a></span>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_color.3x.html">start_color()</A></em></span> <b>pragma</b> Import (C, Start_Color, "start_color"); - <span class="comment"><EM>-- <A NAME="AFU_142">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1883_14" HREF="terminal_interface-curses__adb.htm#ref_2153_14">Init_Pair</A></span> (<span class="symbol"><A NAME="ref_1883_25" HREF="terminal_interface-curses__adb.htm#ref_2153_25">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_412_12">Redefinable_Color_Pair</A>; - <span class="symbol"><A NAME="ref_1884_25" HREF="terminal_interface-curses__adb.htm#ref_2154_25">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</A>; - <span class="symbol"><A NAME="ref_1885_25" HREF="terminal_interface-curses__adb.htm#ref_2155_25">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_color.3x.html">init_pair()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1883_14">Init_Pair</A>); - - <span class="comment"><EM>-- <A NAME="AFU_143">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1890_14" HREF="terminal_interface-curses__adb.htm#ref_2177_14">Pair_Content</A></span> (<span class="symbol"><A NAME="ref_1890_28" HREF="terminal_interface-curses__adb.htm#ref_2177_28">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</A>; - <span class="symbol"><A NAME="ref_1891_28" HREF="terminal_interface-curses__adb.htm#ref_2178_28">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</A>; - <span class="symbol"><A NAME="ref_1892_28" HREF="terminal_interface-curses__adb.htm#ref_2179_28">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_color.3x.html">pair_content()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1890_14">Pair_Content</A>); - - <span class="comment"><EM>-- <A NAME="AFU_144">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_1897_13" HREF="terminal_interface-curses__adb.htm#ref_2197_13">Has_Colors</A></span> <b>return</b> Boolean; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_color.3x.html">has_colors()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1897_13">Has_Colors</A>); - - <span class="comment"><EM>-- <A NAME="AFU_145">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1902_14" HREF="terminal_interface-curses__adb.htm#ref_2209_14">Init_Color</A></span> (<span class="symbol"><A NAME="ref_1902_26" HREF="terminal_interface-curses__adb.htm#ref_2209_26">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</A>; - <span class="symbol"><A NAME="ref_1903_26" HREF="terminal_interface-curses__adb.htm#ref_2210_26">Red</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</A>; - <span class="symbol"><A NAME="ref_1904_26" HREF="terminal_interface-curses__adb.htm#ref_2211_26">Green</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</A>; - <span class="symbol"><A NAME="ref_1905_26" HREF="terminal_interface-curses__adb.htm#ref_2212_26">Blue</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_color.3x.html">init_color()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1902_14">Init_Color</A>); - - <span class="comment"><EM>-- <A NAME="AFU_146">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_1910_13" HREF="terminal_interface-curses__adb.htm#ref_2227_13">Can_Change_Color</A></span> <b>return</b> Boolean; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_color.3x.html">can_change_color()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1910_13">Can_Change_Color</A>); - - <span class="comment"><EM>-- <A NAME="AFU_147">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1915_14" HREF="terminal_interface-curses__adb.htm#ref_2239_14">Color_Content</A></span> (<span class="symbol"><A NAME="ref_1915_29" HREF="terminal_interface-curses__adb.htm#ref_2239_29">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</A>; - <span class="symbol"><A NAME="ref_1916_29" HREF="terminal_interface-curses__adb.htm#ref_2240_29">Red</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</A>; - <span class="symbol"><A NAME="ref_1917_29" HREF="terminal_interface-curses__adb.htm#ref_2241_29">Green</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</A>; - <span class="symbol"><A NAME="ref_1918_29" HREF="terminal_interface-curses__adb.htm#ref_2242_29">Blue</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_color.3x.html">color_content()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1915_14">Color_Content</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Not implemented: getsyx, setsyx</EM></span> - <span class="comment"><EM>--</EM></span> - <b>type</b> <span class="symbol"><A NAME="ref_1927_9">Curses_Mode</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_1927_25">Curses</A></span>, <span class="symbol"><A NAME="ref_1927_33">Shell</A></span>); - - <span class="comment"><EM>-- <A NAME="AFU_148">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1930_14" HREF="terminal_interface-curses__adb.htm#ref_2264_14">Save_Curses_Mode</A></span> (<span class="symbol"><A NAME="ref_1930_32" HREF="terminal_interface-curses__adb.htm#ref_2264_32">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1927_9">Curses_Mode</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_kernel.3x.html">def_prog_mode()</A></EM></span> - <span class="comment"><EM>-- AKA: def_shell_mode()</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1930_14">Save_Curses_Mode</A>); - - <span class="comment"><EM>-- <A NAME="AFU_149">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1936_14" HREF="terminal_interface-curses__adb.htm#ref_2282_14">Reset_Curses_Mode</A></span> (<span class="symbol"><A NAME="ref_1936_33" HREF="terminal_interface-curses__adb.htm#ref_2282_33">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1927_9">Curses_Mode</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_kernel.3x.html">reset_prog_mode()</A></EM></span> - <span class="comment"><EM>-- AKA: reset_shell_mode()</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1936_14">Reset_Curses_Mode</A>); - - <span class="comment"><EM>-- <A NAME="AFU_150">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1942_14" HREF="terminal_interface-curses__adb.htm#ref_2300_14">Save_Terminal_State</A></span>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_kernel.3x.html">savetty()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1942_14">Save_Terminal_State</A>); - - <span class="comment"><EM>-- <A NAME="AFU_151">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1947_14" HREF="terminal_interface-curses__adb.htm#ref_2310_14">Reset_Terminal_State</A></span>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_kernel.3x.html">resetty();</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1947_14">Reset_Terminal_State</A>); - - <b>type</b> <span class="symbol"><A NAME="ref_1951_9">Stdscr_Init_Proc</A></span> <b>is</b> <b>access</b> - <b>function</b> (<span class="symbol"><A NAME="ref_1952_17" HREF="terminal_interface-curses__ads.htm#ref_1951_9">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A>; - <span class="symbol"><A NAME="ref_1953_17" HREF="terminal_interface-curses__ads.htm#ref_1951_9">Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>) <b>return</b> Integer; - <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses__ads.htm#ref_1951_9">Stdscr_Init_Proc</A>); - <span class="comment"><EM>-- N.B.: the return value is actually ignored, but it seems to be</EM></span> - <span class="comment"><EM>-- a good practice to return 0 if you think all went fine</EM></span> - <span class="comment"><EM>-- and -1 otherwise.</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_152">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1960_14" HREF="terminal_interface-curses__adb.htm#ref_2320_14">Rip_Off_Lines</A></span> (<span class="symbol"><A NAME="ref_1960_29" HREF="terminal_interface-curses__adb.htm#ref_2320_29">Lines</A></span> : Integer; - <span class="symbol"><A NAME="ref_1961_29" HREF="terminal_interface-curses__adb.htm#ref_2321_29">Proc</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1951_9">Stdscr_Init_Proc</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_kernel.3x.html">ripoffline()</A></EM></span> - <span class="comment"><EM>-- N.B.: to be more precise, this uses a ncurses specific enhancement of</EM></span> - <span class="comment"><EM>-- ripoffline(), in which the Lines argument absolute value is the</EM></span> - <span class="comment"><EM>-- number of lines to be ripped of. The official ripoffline() only</EM></span> - <span class="comment"><EM>-- uses the sign of Lines to remove a single line from bottom or top.</EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1960_14">Rip_Off_Lines</A>); - - <b>type</b> <span class="symbol"><A NAME="ref_1969_9">Cursor_Visibility</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_1969_31">Invisible</A></span>, <span class="symbol"><A NAME="ref_1969_42">Normal</A></span>, <span class="symbol"><A NAME="ref_1969_50">Very_Visible</A></span>); - - <span class="comment"><EM>-- <A NAME="AFU_153">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1972_14" HREF="terminal_interface-curses__adb.htm#ref_2332_14">Set_Cursor_Visibility</A></span> (<span class="symbol"><A NAME="ref_1972_37" HREF="terminal_interface-curses__adb.htm#ref_2332_37">Visibility</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_1969_9">Cursor_Visibility</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_kernel.3x.html">curs_set()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1972_14">Set_Cursor_Visibility</A>); - - <span class="comment"><EM>-- <A NAME="AFU_154">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_1977_14" HREF="terminal_interface-curses__adb.htm#ref_2345_14">Nap_Milli_Seconds</A></span> (<span class="symbol"><A NAME="ref_1977_33" HREF="terminal_interface-curses__adb.htm#ref_2345_33">Ms</A></span> : Natural); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_kernel.3x.html">napms()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1977_14">Nap_Milli_Seconds</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Some useful helpers.</EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <b>type</b> <span class="symbol"><A NAME="ref_1984_9">Transform_Direction</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_1984_33">From_Screen</A></span>, <span class="symbol"><A NAME="ref_1984_46">To_Screen</A></span>); - <b>procedure</b> <span class="symbol"><A NAME="ref_1985_14" HREF="terminal_interface-curses__adb.htm#ref_2396_14">Transform_Coordinates</A></span> - (<span class="symbol"><A NAME="ref_1986_7" HREF="terminal_interface-curses__adb.htm#ref_2397_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_1987_7" HREF="terminal_interface-curses__adb.htm#ref_2398_7">Line</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</A>; - <span class="symbol"><A NAME="ref_1988_7" HREF="terminal_interface-curses__adb.htm#ref_2399_7">Column</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</A>; - <span class="symbol"><A NAME="ref_1989_7" HREF="terminal_interface-curses__adb.htm#ref_2400_7">Dir</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1984_9">Transform_Direction</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1984_33">From_Screen</A>); - <span class="comment"><EM>-- This procedure transforms screen coordinates into coordinates relative</EM></span> - <span class="comment"><EM>-- to the window and vice versa, depending on the Dir parameter.</EM></span> - <span class="comment"><EM>-- Screen coordinates are the position information for the physical device.</EM></span> - <span class="comment"><EM>-- An Curses_Exception will be raised if Line and Column are not in the</EM></span> - <span class="comment"><EM>-- Window or if you pass the Null_Window as argument.</EM></span> - <span class="comment"><EM>-- We do not inline this procedure</EM></span> - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/default_colors.3x.html">default_colors.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="symbol"><A NAME="ref_2001_4">Default_Color</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</A> := -1; - - <span class="comment"><EM>-- <A NAME="AFU_155">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_2004_14" HREF="terminal_interface-curses__adb.htm#ref_2425_14">Use_Default_Colors</A></span>; - <span class="comment"><EM>-- AKA: <A HREF="../man/default_colors.3x.html">use_default_colors()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_2004_14">Use_Default_Colors</A>); - - <span class="comment"><EM>-- <A NAME="AFU_156">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_2009_14" HREF="terminal_interface-curses__adb.htm#ref_2435_14">Assume_Default_Colors</A></span> (<span class="symbol"><A NAME="ref_2009_37" HREF="terminal_interface-curses__adb.htm#ref_2435_37">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</A> := <A HREF="terminal_interface-curses__ads.htm#ref_2001_4">Default_Color</A>; - <span class="symbol"><A NAME="ref_2010_37" HREF="terminal_interface-curses__adb.htm#ref_2436_37">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</A> := <A HREF="terminal_interface-curses__ads.htm#ref_2001_4">Default_Color</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/default_colors.3x.html">assume_default_colors()</A></EM></span> - <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_2009_14">Assume_Default_Colors</A>); - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_extend.3x.html">curs_extend.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_157">|</A></EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_2019_13" HREF="terminal_interface-curses__adb.htm#ref_2450_13">Curses_Version</A></span> <b>return</b> String; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_extend.3x.html">curses_version()</A></EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_158">|</A></EM></span> - <span class="comment"><EM>-- The returnvalue is the previous setting of the flag</EM></span> - <b>function</b> <span class="symbol"><A NAME="ref_2024_13" HREF="terminal_interface-curses__adb.htm#ref_2473_13">Use_Extended_Names</A></span> (<span class="symbol"><A NAME="ref_2024_33" HREF="terminal_interface-curses__adb.htm#ref_2473_33">Enable</A></span> : Boolean) <b>return</b> Boolean; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_extend.3x.html">use_extended_names()</A></EM></span> - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_159">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_2032_14" HREF="terminal_interface-curses__adb.htm#ref_2459_14">Curses_Free_All</A></span>; - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_trace.3x.html">_nc_freeall()</A></EM></span> - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_scr_dump.3x.html">curs_scr_dump.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_160">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_2040_14" HREF="terminal_interface-curses__adb.htm#ref_2488_14">Screen_Dump_To_File</A></span> (<span class="symbol"><A NAME="ref_2040_35" HREF="terminal_interface-curses__adb.htm#ref_2488_35">Filename</A></span> : String); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_scr_dump.3x.html">scr_dump()</A></EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_161">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_2044_14" HREF="terminal_interface-curses__adb.htm#ref_2501_14">Screen_Restore_From_File</A></span> (<span class="symbol"><A NAME="ref_2044_40" HREF="terminal_interface-curses__adb.htm#ref_2501_40">Filename</A></span> : String); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_scr_dump.3x.html">scr_restore()</A></EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_162">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_2048_14" HREF="terminal_interface-curses__adb.htm#ref_2514_14">Screen_Init_From_File</A></span> (<span class="symbol"><A NAME="ref_2048_37" HREF="terminal_interface-curses__adb.htm#ref_2514_37">Filename</A></span> : String); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_scr_dump.3x.html">scr_init()</A></EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_163">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_2052_14" HREF="terminal_interface-curses__adb.htm#ref_2527_14">Screen_Set_File</A></span> (<span class="symbol"><A NAME="ref_2052_31" HREF="terminal_interface-curses__adb.htm#ref_2527_31">Filename</A></span> : String); - <span class="comment"><EM>-- AKA: <A HREF="../man/curs_scr_dump.3x.html">scr_set()</A></EM></span> - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_print.3x.html">curs_print.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- Not implemented: mcprint</EM></span> - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_printw.3x.html">curs_printw.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- Not implemented: printw, wprintw, mvprintw, mvwprintw, vwprintw,</EM></span> - <span class="comment"><EM>-- vw_printw</EM></span> - <span class="comment"><EM>-- Please use the Ada style Text_IO child packages for formatted</EM></span> - <span class="comment"><EM>-- printing. It does not make a lot of sense to map the printf style</EM></span> - <span class="comment"><EM>-- C functions to Ada.</EM></span> - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/curs_scanw.3x.html">curs_scanw.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- Not implemented: scanw, wscanw, mvscanw, mvwscanw, vwscanw, vw_scanw</EM></span> - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/resizeterm.3x.html">resizeterm.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- Not Implemented: resizeterm</EM></span> - - <span class="comment"><EM>-- |=====================================================================</EM></span> - <span class="comment"><EM>-- | Man page <A HREF="../man/wresize.3x.html">wresize.3x</A></EM></span> - <span class="comment"><EM>-- |=====================================================================</EM></span> - - <span class="comment"><EM>-- <A NAME="AFU_164">|</A></EM></span> - <b>procedure</b> <span class="symbol"><A NAME="ref_2084_14" HREF="terminal_interface-curses__adb.htm#ref_2540_14">Resize</A></span> (<span class="symbol"><A NAME="ref_2084_22" HREF="terminal_interface-curses__adb.htm#ref_2540_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</A>; - <span class="symbol"><A NAME="ref_2085_22" HREF="terminal_interface-curses__adb.htm#ref_2541_22">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</A>; - <span class="symbol"><A NAME="ref_2086_22" HREF="terminal_interface-curses__adb.htm#ref_2542_22">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</A>); - <span class="comment"><EM>-- AKA: <A HREF="../man/wresize.3x.html">wresize()</A></EM></span> + <span class="comment"><em>-- <A NAME="AFU_142">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1883_14" href="terminal_interface-curses__adb.htm#ref_2153_14">Init_Pair</a></span> (<span class="symbol"><a name="ref_1883_25" href="terminal_interface-curses__adb.htm#ref_2153_25">Pair</a></span> : <a href="terminal_interface-curses__ads.htm#ref_412_12">Redefinable_Color_Pair</a>; + <span class="symbol"><a name="ref_1884_25" href="terminal_interface-curses__adb.htm#ref_2154_25">Fore</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>; + <span class="symbol"><a name="ref_1885_25" href="terminal_interface-curses__adb.htm#ref_2155_25">Back</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_color.3x.html">init_pair()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1883_14">Init_Pair</a>); + + <span class="comment"><em>-- <A NAME="AFU_143">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1890_14" href="terminal_interface-curses__adb.htm#ref_2177_14">Pair_Content</a></span> (<span class="symbol"><a name="ref_1890_28" href="terminal_interface-curses__adb.htm#ref_2177_28">Pair</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>; + <span class="symbol"><a name="ref_1891_28" href="terminal_interface-curses__adb.htm#ref_2178_28">Fore</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>; + <span class="symbol"><a name="ref_1892_28" href="terminal_interface-curses__adb.htm#ref_2179_28">Back</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_color.3x.html">pair_content()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1890_14">Pair_Content</a>); + + <span class="comment"><em>-- <A NAME="AFU_144">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_1897_13" href="terminal_interface-curses__adb.htm#ref_2197_13">Has_Colors</a></span> <b>return</b> Boolean; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_color.3x.html">has_colors()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1897_13">Has_Colors</a>); + + <span class="comment"><em>-- <A NAME="AFU_145">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1902_14" href="terminal_interface-curses__adb.htm#ref_2209_14">Init_Color</a></span> (<span class="symbol"><a name="ref_1902_26" href="terminal_interface-curses__adb.htm#ref_2209_26">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>; + <span class="symbol"><a name="ref_1903_26" href="terminal_interface-curses__adb.htm#ref_2210_26">Red</a></span> : <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>; + <span class="symbol"><a name="ref_1904_26" href="terminal_interface-curses__adb.htm#ref_2211_26">Green</a></span> : <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>; + <span class="symbol"><a name="ref_1905_26" href="terminal_interface-curses__adb.htm#ref_2212_26">Blue</a></span> : <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_color.3x.html">init_color()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1902_14">Init_Color</a>); + + <span class="comment"><em>-- <A NAME="AFU_146">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_1910_13" href="terminal_interface-curses__adb.htm#ref_2227_13">Can_Change_Color</a></span> <b>return</b> Boolean; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_color.3x.html">can_change_color()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1910_13">Can_Change_Color</a>); + + <span class="comment"><em>-- <A NAME="AFU_147">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1915_14" href="terminal_interface-curses__adb.htm#ref_2239_14">Color_Content</a></span> (<span class="symbol"><a name="ref_1915_29" href="terminal_interface-curses__adb.htm#ref_2239_29">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a>; + <span class="symbol"><a name="ref_1916_29" href="terminal_interface-curses__adb.htm#ref_2240_29">Red</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>; + <span class="symbol"><a name="ref_1917_29" href="terminal_interface-curses__adb.htm#ref_2241_29">Green</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>; + <span class="symbol"><a name="ref_1918_29" href="terminal_interface-curses__adb.htm#ref_2242_29">Blue</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_406_9">RGB_Value</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_color.3x.html">color_content()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1915_14">Color_Content</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Not implemented: getsyx, setsyx</em></span> + <span class="comment"><em>--</em></span> + <b>type</b> <span class="symbol"><a name="ref_1927_9">Curses_Mode</a></span> <b>is</b> (<span class="symbol"><a name="ref_1927_25">Curses</a></span>, <span class="symbol"><a name="ref_1927_33">Shell</a></span>); + + <span class="comment"><em>-- <A NAME="AFU_148">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1930_14" href="terminal_interface-curses__adb.htm#ref_2264_14">Save_Curses_Mode</a></span> (<span class="symbol"><a name="ref_1930_32" href="terminal_interface-curses__adb.htm#ref_2264_32">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1927_9">Curses_Mode</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_kernel.3x.html">def_prog_mode()</A></em></span> + <span class="comment"><em>-- AKA: def_shell_mode()</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1930_14">Save_Curses_Mode</a>); + + <span class="comment"><em>-- <A NAME="AFU_149">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1936_14" href="terminal_interface-curses__adb.htm#ref_2282_14">Reset_Curses_Mode</a></span> (<span class="symbol"><a name="ref_1936_33" href="terminal_interface-curses__adb.htm#ref_2282_33">Mode</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1927_9">Curses_Mode</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_kernel.3x.html">reset_prog_mode()</A></em></span> + <span class="comment"><em>-- AKA: reset_shell_mode()</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1936_14">Reset_Curses_Mode</a>); + + <span class="comment"><em>-- <A NAME="AFU_150">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1942_14" href="terminal_interface-curses__adb.htm#ref_2300_14">Save_Terminal_State</a></span>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_kernel.3x.html">savetty()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1942_14">Save_Terminal_State</a>); + + <span class="comment"><em>-- <A NAME="AFU_151">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1947_14" href="terminal_interface-curses__adb.htm#ref_2310_14">Reset_Terminal_State</a></span>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_kernel.3x.html">resetty();</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1947_14">Reset_Terminal_State</a>); + + <b>type</b> <span class="symbol"><a name="ref_1951_9">Stdscr_Init_Proc</a></span> <b>is</b> <b>access</b> + <b>function</b> (<span class="symbol"><a name="ref_1952_17">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>; + <span class="symbol"><a name="ref_1953_17">Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>) <b>return</b> Integer; + <b>pragma</b> Convention (C, <a href="terminal_interface-curses__ads.htm#ref_1951_9">Stdscr_Init_Proc</a>); + <span class="comment"><em>-- N.B.: the return value is actually ignored, but it seems to be</em></span> + <span class="comment"><em>-- a good practice to return 0 if you think all went fine</em></span> + <span class="comment"><em>-- and -1 otherwise.</em></span> + + <span class="comment"><em>-- <A NAME="AFU_152">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1960_14" href="terminal_interface-curses__adb.htm#ref_2320_14">Rip_Off_Lines</a></span> (<span class="symbol"><a name="ref_1960_29" href="terminal_interface-curses__adb.htm#ref_2320_29">Lines</a></span> : Integer; + <span class="symbol"><a name="ref_1961_29" href="terminal_interface-curses__adb.htm#ref_2321_29">Proc</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1951_9">Stdscr_Init_Proc</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_kernel.3x.html">ripoffline()</A></em></span> + <span class="comment"><em>-- N.B.: to be more precise, this uses a ncurses specific enhancement of</em></span> + <span class="comment"><em>-- ripoffline(), in which the Lines argument absolute value is the</em></span> + <span class="comment"><em>-- number of lines to be ripped of. The official ripoffline() only</em></span> + <span class="comment"><em>-- uses the sign of Lines to remove a single line from bottom or top.</em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1960_14">Rip_Off_Lines</a>); + + <b>type</b> <span class="symbol"><a name="ref_1969_9">Cursor_Visibility</a></span> <b>is</b> (<span class="symbol"><a name="ref_1969_31">Invisible</a></span>, <span class="symbol"><a name="ref_1969_42">Normal</a></span>, <span class="symbol"><a name="ref_1969_50">Very_Visible</a></span>); + + <span class="comment"><em>-- <A NAME="AFU_153">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1972_14" href="terminal_interface-curses__adb.htm#ref_2332_14">Set_Cursor_Visibility</a></span> (<span class="symbol"><a name="ref_1972_37" href="terminal_interface-curses__adb.htm#ref_2332_37">Visibility</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_1969_9">Cursor_Visibility</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_kernel.3x.html">curs_set()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1972_14">Set_Cursor_Visibility</a>); + + <span class="comment"><em>-- <A NAME="AFU_154">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_1977_14" href="terminal_interface-curses__adb.htm#ref_2345_14">Nap_Milli_Seconds</a></span> (<span class="symbol"><a name="ref_1977_33" href="terminal_interface-curses__adb.htm#ref_2345_33">Ms</a></span> : Natural); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_kernel.3x.html">napms()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_1977_14">Nap_Milli_Seconds</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Some useful helpers.</em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <b>type</b> <span class="symbol"><a name="ref_1984_9">Transform_Direction</a></span> <b>is</b> (<span class="symbol"><a name="ref_1984_33">From_Screen</a></span>, <span class="symbol"><a name="ref_1984_46">To_Screen</a></span>); + <b>procedure</b> <span class="symbol"><a name="ref_1985_14" href="terminal_interface-curses__adb.htm#ref_2396_14">Transform_Coordinates</a></span> + (<span class="symbol"><a name="ref_1986_7" href="terminal_interface-curses__adb.htm#ref_2397_7">W</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_1987_7" href="terminal_interface-curses__adb.htm#ref_2398_7">Line</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>; + <span class="symbol"><a name="ref_1988_7" href="terminal_interface-curses__adb.htm#ref_2399_7">Column</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>; + <span class="symbol"><a name="ref_1989_7" href="terminal_interface-curses__adb.htm#ref_2400_7">Dir</a></span> : <a href="terminal_interface-curses__ads.htm#ref_1984_9">Transform_Direction</a> := <a href="terminal_interface-curses__ads.htm#ref_1984_33">From_Screen</a>); + <span class="comment"><em>-- This procedure transforms screen coordinates into coordinates relative</em></span> + <span class="comment"><em>-- to the window and vice versa, depending on the Dir parameter.</em></span> + <span class="comment"><em>-- Screen coordinates are the position information for the physical device.</em></span> + <span class="comment"><em>-- An Curses_Exception will be raised if Line and Column are not in the</em></span> + <span class="comment"><em>-- Window or if you pass the Null_Window as argument.</em></span> + <span class="comment"><em>-- We do not inline this procedure</em></span> + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/default_colors.3x.html">default_colors.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="symbol"><a name="ref_2001_4">Default_Color</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> := -1; + + <span class="comment"><em>-- <A NAME="AFU_155">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_2004_14" href="terminal_interface-curses__adb.htm#ref_2425_14">Use_Default_Colors</a></span>; + <span class="comment"><em>-- AKA: <A HREF="../man/default_colors.3x.html">use_default_colors()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_2004_14">Use_Default_Colors</a>); + + <span class="comment"><em>-- <A NAME="AFU_156">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_2009_14" href="terminal_interface-curses__adb.htm#ref_2435_14">Assume_Default_Colors</a></span> (<span class="symbol"><a name="ref_2009_37" href="terminal_interface-curses__adb.htm#ref_2435_37">Fore</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> := <a href="terminal_interface-curses__ads.htm#ref_2001_4">Default_Color</a>; + <span class="symbol"><a name="ref_2010_37" href="terminal_interface-curses__adb.htm#ref_2436_37">Back</a></span> : <a href="terminal_interface-curses__ads.htm#ref_390_9">Color_Number</a> := <a href="terminal_interface-curses__ads.htm#ref_2001_4">Default_Color</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/default_colors.3x.html">assume_default_colors()</A></em></span> + <b>pragma</b> Inline (<a href="terminal_interface-curses__ads.htm#ref_2009_14">Assume_Default_Colors</a>); + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_extend.3x.html">curs_extend.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_157">|</A></em></span> + <b>function</b> <span class="symbol"><a name="ref_2019_13" href="terminal_interface-curses__adb.htm#ref_2450_13">Curses_Version</a></span> <b>return</b> String; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_extend.3x.html">curses_version()</A></em></span> + + <span class="comment"><em>-- <A NAME="AFU_158">|</A></em></span> + <span class="comment"><em>-- The returnvalue is the previous setting of the flag</em></span> + <b>function</b> <span class="symbol"><a name="ref_2024_13" href="terminal_interface-curses__adb.htm#ref_2473_13">Use_Extended_Names</a></span> (<span class="symbol"><a name="ref_2024_33" href="terminal_interface-curses__adb.htm#ref_2473_33">Enable</a></span> : Boolean) <b>return</b> Boolean; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_extend.3x.html">use_extended_names()</A></em></span> + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_159">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_2032_14" href="terminal_interface-curses__adb.htm#ref_2459_14">Curses_Free_All</a></span>; + <span class="comment"><em>-- AKA: <A HREF="../man/curs_trace.3x.html">_nc_freeall()</A></em></span> + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_scr_dump.3x.html">curs_scr_dump.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_160">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_2040_14" href="terminal_interface-curses__adb.htm#ref_2488_14">Screen_Dump_To_File</a></span> (<span class="symbol"><a name="ref_2040_35" href="terminal_interface-curses__adb.htm#ref_2488_35">Filename</a></span> : String); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_scr_dump.3x.html">scr_dump()</A></em></span> + + <span class="comment"><em>-- <A NAME="AFU_161">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_2044_14" href="terminal_interface-curses__adb.htm#ref_2501_14">Screen_Restore_From_File</a></span> (<span class="symbol"><a name="ref_2044_40" href="terminal_interface-curses__adb.htm#ref_2501_40">Filename</a></span> : String); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_scr_dump.3x.html">scr_restore()</A></em></span> + + <span class="comment"><em>-- <A NAME="AFU_162">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_2048_14" href="terminal_interface-curses__adb.htm#ref_2514_14">Screen_Init_From_File</a></span> (<span class="symbol"><a name="ref_2048_37" href="terminal_interface-curses__adb.htm#ref_2514_37">Filename</a></span> : String); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_scr_dump.3x.html">scr_init()</A></em></span> + + <span class="comment"><em>-- <A NAME="AFU_163">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_2052_14" href="terminal_interface-curses__adb.htm#ref_2527_14">Screen_Set_File</a></span> (<span class="symbol"><a name="ref_2052_31" href="terminal_interface-curses__adb.htm#ref_2527_31">Filename</a></span> : String); + <span class="comment"><em>-- AKA: <A HREF="../man/curs_scr_dump.3x.html">scr_set()</A></em></span> + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_print.3x.html">curs_print.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- Not implemented: mcprint</em></span> + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_printw.3x.html">curs_printw.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- Not implemented: printw, wprintw, mvprintw, mvwprintw, vwprintw,</em></span> + <span class="comment"><em>-- vw_printw</em></span> + <span class="comment"><em>-- Please use the Ada style Text_IO child packages for formatted</em></span> + <span class="comment"><em>-- printing. It does not make a lot of sense to map the printf style</em></span> + <span class="comment"><em>-- C functions to Ada.</em></span> + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/curs_scanw.3x.html">curs_scanw.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- Not implemented: scanw, wscanw, mvscanw, mvwscanw, vwscanw, vw_scanw</em></span> + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/resizeterm.3x.html">resizeterm.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- Not Implemented: resizeterm</em></span> + + <span class="comment"><em>-- |=====================================================================</em></span> + <span class="comment"><em>-- | Man page <A HREF="../man/wresize.3x.html">wresize.3x</A></em></span> + <span class="comment"><em>-- |=====================================================================</em></span> + + <span class="comment"><em>-- <A NAME="AFU_164">|</A></em></span> + <b>procedure</b> <span class="symbol"><a name="ref_2084_14" href="terminal_interface-curses__adb.htm#ref_2540_14">Resize</a></span> (<span class="symbol"><a name="ref_2084_22" href="terminal_interface-curses__adb.htm#ref_2540_22">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := <a href="terminal_interface-curses__ads.htm#ref_645_13">Standard_Window</a>; + <span class="symbol"><a name="ref_2085_22" href="terminal_interface-curses__adb.htm#ref_2541_22">Number_Of_Lines</a></span> : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>; + <span class="symbol"><a name="ref_2086_22" href="terminal_interface-curses__adb.htm#ref_2542_22">Number_Of_Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>); + <span class="comment"><em>-- AKA: <A HREF="../man/wresize.3x.html">wresize()</A></em></span> <b>private</b> - <b>type</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address; - <A HREF="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</A> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_56_9">Window</A> := 0; + <b>type</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address; + <a href="terminal_interface-curses__ads.htm#ref_57_4">Null_Window</a> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a> := 0; - <span class="comment"><EM>-- The next constants are generated and may be different on your</EM></span> - <span class="comment"><EM>-- architecture.</EM></span> - <span class="comment"><EM>--</EM></span> + <span class="comment"><em>-- The next constants are generated and may be different on your</em></span> + <span class="comment"><em>-- architecture.</em></span> + <span class="comment"><em>--</em></span> - <span class="symbol"><A NAME="ref_2097_4">Sizeof_Bool</A></span> : <b>constant</b> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_11_4">Sizeof_Bool</A>; + <span class="symbol"><a name="ref_2097_4">Sizeof_Bool</a></span> : <b>constant</b> := <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_11_4">Sizeof_Bool</a>; - <b>type</b> <span class="symbol"><A NAME="ref_2099_9">Curses_Bool</A></span> <b>is</b> <b>mod</b> 2 ** <A HREF="terminal_interface-curses__ads.htm#ref_2097_4">Sizeof_Bool</A>; + <b>type</b> <span class="symbol"><a name="ref_2099_9">Curses_Bool</a></span> <b>is</b> <b>mod</b> 2 ** <a href="terminal_interface-curses__ads.htm#ref_2097_4">Sizeof_Bool</a>; - <span class="symbol"><A NAME="ref_2101_4">Curses_Bool_False</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</A> := 0; + <span class="symbol"><a name="ref_2101_4">Curses_Bool_False</a></span> : <b>constant</b> <a href="terminal_interface-curses__ads.htm#ref_2099_9">Curses_Bool</a> := 0; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_48_28">Curses</A>; -</PRE></BODY></HTML> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface-curses_constants__ads.htm b/doc/html/ada/terminal_interface-curses_constants__ads.htm index d94896312f10..5a10ea48fef9 100644 --- a/doc/html/ada/terminal_interface-curses_constants__ads.htm +++ b/doc/html/ada/terminal_interface-curses_constants__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface-curses_constants.ads</TITLE> +<html> +<head> +<title>terminal_interface-curses_constants.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,391 +11,391 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses_constants.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>-- Generated by the C program ./generate (source ./gen.c).</EM></span> -<span class="comment"><EM>-- Do not edit this file directly.</EM></span> -<span class="comment"><EM>-- The values provided here may vary on your system.</EM></span> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface-curses_constants.ads </h1></div><hr> +<pre> +<span class="comment"><em>-- Generated by the C program ./generate (source ./gen.c).</em></span> +<span class="comment"><em>-- Do not edit this file directly.</em></span> +<span class="comment"><em>-- The values provided here may vary on your system.</em></span> <b>with</b> System; -<b>package</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<span class="symbol"><A NAME="ref_6_28">Curses_Constants</A></span> <b>is</b> +<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<span class="symbol"><a name="ref_6_28">Curses_Constants</a></span> <b>is</b> <b>pragma</b> Pure; - <span class="symbol"><A NAME="ref_9_4">DFT_ARG_SUFFIX</A></span> : <b>constant</b> String := ""; - <span class="symbol"><A NAME="ref_10_4">Bit_Order</A></span> : <b>constant</b> System.Bit_Order := System.Low_Order_First; - <span class="symbol"><A NAME="ref_11_4">Sizeof_Bool</A></span> : <b>constant</b> := 8; - <span class="symbol"><A NAME="ref_12_4">OK</A></span> : <b>constant</b> := 0; - <span class="symbol"><A NAME="ref_13_4">ERR</A></span> : <b>constant</b> := -1; - <b>pragma</b> Warnings (Off); <span class="comment"><EM>-- redefinition of Standard.True and False</EM></span> - <span class="symbol"><A NAME="ref_15_4">TRUE</A></span> : <b>constant</b> := 1; - <span class="symbol"><A NAME="ref_16_4">FALSE</A></span> : <b>constant</b> := 0; + <span class="symbol"><a name="ref_9_4">DFT_ARG_SUFFIX</a></span> : <b>constant</b> String := "w"; + <span class="symbol"><a name="ref_10_4">Bit_Order</a></span> : <b>constant</b> System.Bit_Order := System.Low_Order_First; + <span class="symbol"><a name="ref_11_4">Sizeof_Bool</a></span> : <b>constant</b> := 8; + <span class="symbol"><a name="ref_12_4">OK</a></span> : <b>constant</b> := 0; + <span class="symbol"><a name="ref_13_4">ERR</a></span> : <b>constant</b> := -1; + <b>pragma</b> Warnings (Off); <span class="comment"><em>-- redefinition of Standard.True and False</em></span> + <span class="symbol"><a name="ref_15_4">TRUE</a></span> : <b>constant</b> := 1; + <span class="symbol"><a name="ref_16_4">FALSE</a></span> : <b>constant</b> := 0; <b>pragma</b> Warnings (On); - <span class="comment"><EM>-- Version of the ncurses library from extensions(3NCURSES)</EM></span> + <span class="comment"><em>-- Version of the ncurses library from extensions(3NCURSES)</em></span> - <span class="symbol"><A NAME="ref_21_4">NCURSES_VERSION_MAJOR</A></span> : <b>constant</b> := 6; - <span class="symbol"><A NAME="ref_22_4">NCURSES_VERSION_MINOR</A></span> : <b>constant</b> := 2; - <span class="symbol"><A NAME="ref_23_4">Version</A></span> : <b>constant</b> String := "6.2"; + <span class="symbol"><a name="ref_21_4">NCURSES_VERSION_MAJOR</a></span> : <b>constant</b> := 6; + <span class="symbol"><a name="ref_22_4">NCURSES_VERSION_MINOR</a></span> : <b>constant</b> := 5; + <span class="symbol"><a name="ref_23_4">Version</a></span> : <b>constant</b> String := "6.5"; - <span class="comment"><EM>-- Character non-color attributes from attr(3NCURSES)</EM></span> + <span class="comment"><em>-- Character non-color attributes from attr(3NCURSES)</em></span> - <span class="comment"><EM>-- attr_t and chtype may be signed in C.</EM></span> - <b>type</b> <span class="symbol"><A NAME="ref_28_9">attr_t</A></span> <b>is</b> <b>mod</b> 2 ** 32; - <span class="symbol"><A NAME="ref_29_4">A_CHARTEXT_First</A></span> : <b>constant</b> := 0; - <span class="symbol"><A NAME="ref_30_4">A_CHARTEXT_Last</A></span> : <b>constant</b> := 7; - <span class="symbol"><A NAME="ref_31_4">A_COLOR_First</A></span> : <b>constant</b> := 8; - <span class="symbol"><A NAME="ref_32_4">A_COLOR_Last</A></span> : <b>constant</b> := 15; - <span class="symbol"><A NAME="ref_33_4">Attr_First</A></span> : <b>constant</b> := 16; - <span class="symbol"><A NAME="ref_34_4">Attr_Last</A></span> : <b>constant</b> := 31; - <span class="symbol"><A NAME="ref_35_4">A_STANDOUT_First</A></span> : <b>constant</b> := 16; - <span class="symbol"><A NAME="ref_36_4">A_STANDOUT_Last</A></span> : <b>constant</b> := 16; - <span class="symbol"><A NAME="ref_37_4">A_UNDERLINE_First</A></span> : <b>constant</b> := 17; - <span class="symbol"><A NAME="ref_38_4">A_UNDERLINE_Last</A></span> : <b>constant</b> := 17; - <span class="symbol"><A NAME="ref_39_4">A_REVERSE_First</A></span> : <b>constant</b> := 18; - <span class="symbol"><A NAME="ref_40_4">A_REVERSE_Last</A></span> : <b>constant</b> := 18; - <span class="symbol"><A NAME="ref_41_4">A_BLINK_First</A></span> : <b>constant</b> := 19; - <span class="symbol"><A NAME="ref_42_4">A_BLINK_Last</A></span> : <b>constant</b> := 19; - <span class="symbol"><A NAME="ref_43_4">A_DIM_First</A></span> : <b>constant</b> := 20; - <span class="symbol"><A NAME="ref_44_4">A_DIM_Last</A></span> : <b>constant</b> := 20; - <span class="symbol"><A NAME="ref_45_4">A_BOLD_First</A></span> : <b>constant</b> := 21; - <span class="symbol"><A NAME="ref_46_4">A_BOLD_Last</A></span> : <b>constant</b> := 21; - <span class="symbol"><A NAME="ref_47_4">A_PROTECT_First</A></span> : <b>constant</b> := 24; - <span class="symbol"><A NAME="ref_48_4">A_PROTECT_Last</A></span> : <b>constant</b> := 24; - <span class="symbol"><A NAME="ref_49_4">A_INVIS_First</A></span> : <b>constant</b> := 23; - <span class="symbol"><A NAME="ref_50_4">A_INVIS_Last</A></span> : <b>constant</b> := 23; - <span class="symbol"><A NAME="ref_51_4">A_ALTCHARSET_First</A></span> : <b>constant</b> := 22; - <span class="symbol"><A NAME="ref_52_4">A_ALTCHARSET_Last</A></span> : <b>constant</b> := 22; - <span class="symbol"><A NAME="ref_53_4">A_HORIZONTAL_First</A></span> : <b>constant</b> := 25; - <span class="symbol"><A NAME="ref_54_4">A_HORIZONTAL_Last</A></span> : <b>constant</b> := 25; - <span class="symbol"><A NAME="ref_55_4">A_LEFT_First</A></span> : <b>constant</b> := 26; - <span class="symbol"><A NAME="ref_56_4">A_LEFT_Last</A></span> : <b>constant</b> := 26; - <span class="symbol"><A NAME="ref_57_4">A_LOW_First</A></span> : <b>constant</b> := 27; - <span class="symbol"><A NAME="ref_58_4">A_LOW_Last</A></span> : <b>constant</b> := 27; - <span class="symbol"><A NAME="ref_59_4">A_RIGHT_First</A></span> : <b>constant</b> := 28; - <span class="symbol"><A NAME="ref_60_4">A_RIGHT_Last</A></span> : <b>constant</b> := 28; - <span class="symbol"><A NAME="ref_61_4">A_TOP_First</A></span> : <b>constant</b> := 29; - <span class="symbol"><A NAME="ref_62_4">A_TOP_Last</A></span> : <b>constant</b> := 29; - <span class="symbol"><A NAME="ref_63_4">A_VERTICAL_First</A></span> : <b>constant</b> := 30; - <span class="symbol"><A NAME="ref_64_4">A_VERTICAL_Last</A></span> : <b>constant</b> := 30; - <span class="symbol"><A NAME="ref_65_4">chtype_Size</A></span> : <b>constant</b> := 32; + <span class="comment"><em>-- attr_t and chtype may be signed in C.</em></span> + <b>type</b> <span class="symbol"><a name="ref_28_9">attr_t</a></span> <b>is</b> <b>mod</b> 2 ** 32; + <span class="symbol"><a name="ref_29_4">A_CHARTEXT_First</a></span> : <b>constant</b> := 0; + <span class="symbol"><a name="ref_30_4">A_CHARTEXT_Last</a></span> : <b>constant</b> := 7; + <span class="symbol"><a name="ref_31_4">A_COLOR_First</a></span> : <b>constant</b> := 8; + <span class="symbol"><a name="ref_32_4">A_COLOR_Last</a></span> : <b>constant</b> := 15; + <span class="symbol"><a name="ref_33_4">Attr_First</a></span> : <b>constant</b> := 16; + <span class="symbol"><a name="ref_34_4">Attr_Last</a></span> : <b>constant</b> := 31; + <span class="symbol"><a name="ref_35_4">A_STANDOUT_First</a></span> : <b>constant</b> := 16; + <span class="symbol"><a name="ref_36_4">A_STANDOUT_Last</a></span> : <b>constant</b> := 16; + <span class="symbol"><a name="ref_37_4">A_UNDERLINE_First</a></span> : <b>constant</b> := 17; + <span class="symbol"><a name="ref_38_4">A_UNDERLINE_Last</a></span> : <b>constant</b> := 17; + <span class="symbol"><a name="ref_39_4">A_REVERSE_First</a></span> : <b>constant</b> := 18; + <span class="symbol"><a name="ref_40_4">A_REVERSE_Last</a></span> : <b>constant</b> := 18; + <span class="symbol"><a name="ref_41_4">A_BLINK_First</a></span> : <b>constant</b> := 19; + <span class="symbol"><a name="ref_42_4">A_BLINK_Last</a></span> : <b>constant</b> := 19; + <span class="symbol"><a name="ref_43_4">A_DIM_First</a></span> : <b>constant</b> := 20; + <span class="symbol"><a name="ref_44_4">A_DIM_Last</a></span> : <b>constant</b> := 20; + <span class="symbol"><a name="ref_45_4">A_BOLD_First</a></span> : <b>constant</b> := 21; + <span class="symbol"><a name="ref_46_4">A_BOLD_Last</a></span> : <b>constant</b> := 21; + <span class="symbol"><a name="ref_47_4">A_PROTECT_First</a></span> : <b>constant</b> := 24; + <span class="symbol"><a name="ref_48_4">A_PROTECT_Last</a></span> : <b>constant</b> := 24; + <span class="symbol"><a name="ref_49_4">A_INVIS_First</a></span> : <b>constant</b> := 23; + <span class="symbol"><a name="ref_50_4">A_INVIS_Last</a></span> : <b>constant</b> := 23; + <span class="symbol"><a name="ref_51_4">A_ALTCHARSET_First</a></span> : <b>constant</b> := 22; + <span class="symbol"><a name="ref_52_4">A_ALTCHARSET_Last</a></span> : <b>constant</b> := 22; + <span class="symbol"><a name="ref_53_4">A_HORIZONTAL_First</a></span> : <b>constant</b> := 25; + <span class="symbol"><a name="ref_54_4">A_HORIZONTAL_Last</a></span> : <b>constant</b> := 25; + <span class="symbol"><a name="ref_55_4">A_LEFT_First</a></span> : <b>constant</b> := 26; + <span class="symbol"><a name="ref_56_4">A_LEFT_Last</a></span> : <b>constant</b> := 26; + <span class="symbol"><a name="ref_57_4">A_LOW_First</a></span> : <b>constant</b> := 27; + <span class="symbol"><a name="ref_58_4">A_LOW_Last</a></span> : <b>constant</b> := 27; + <span class="symbol"><a name="ref_59_4">A_RIGHT_First</a></span> : <b>constant</b> := 28; + <span class="symbol"><a name="ref_60_4">A_RIGHT_Last</a></span> : <b>constant</b> := 28; + <span class="symbol"><a name="ref_61_4">A_TOP_First</a></span> : <b>constant</b> := 29; + <span class="symbol"><a name="ref_62_4">A_TOP_Last</a></span> : <b>constant</b> := 29; + <span class="symbol"><a name="ref_63_4">A_VERTICAL_First</a></span> : <b>constant</b> := 30; + <span class="symbol"><a name="ref_64_4">A_VERTICAL_Last</a></span> : <b>constant</b> := 30; + <span class="symbol"><a name="ref_65_4">chtype_Size</a></span> : <b>constant</b> := 32; - <span class="comment"><EM>-- predefined color numbers from color(3NCURSES)</EM></span> + <span class="comment"><em>-- predefined color numbers from color(3NCURSES)</em></span> - <span class="symbol"><A NAME="ref_69_4">COLOR_BLACK</A></span> : <b>constant</b> := 0; - <span class="symbol"><A NAME="ref_70_4">COLOR_RED</A></span> : <b>constant</b> := 1; - <span class="symbol"><A NAME="ref_71_4">COLOR_GREEN</A></span> : <b>constant</b> := 2; - <span class="symbol"><A NAME="ref_72_4">COLOR_YELLOW</A></span> : <b>constant</b> := 3; - <span class="symbol"><A NAME="ref_73_4">COLOR_BLUE</A></span> : <b>constant</b> := 4; - <span class="symbol"><A NAME="ref_74_4">COLOR_MAGENTA</A></span> : <b>constant</b> := 5; - <span class="symbol"><A NAME="ref_75_4">COLOR_CYAN</A></span> : <b>constant</b> := 6; - <span class="symbol"><A NAME="ref_76_4">COLOR_WHITE</A></span> : <b>constant</b> := 7; + <span class="symbol"><a name="ref_69_4">COLOR_BLACK</a></span> : <b>constant</b> := 0; + <span class="symbol"><a name="ref_70_4">COLOR_RED</a></span> : <b>constant</b> := 1; + <span class="symbol"><a name="ref_71_4">COLOR_GREEN</a></span> : <b>constant</b> := 2; + <span class="symbol"><a name="ref_72_4">COLOR_YELLOW</a></span> : <b>constant</b> := 3; + <span class="symbol"><a name="ref_73_4">COLOR_BLUE</a></span> : <b>constant</b> := 4; + <span class="symbol"><a name="ref_74_4">COLOR_MAGENTA</a></span> : <b>constant</b> := 5; + <span class="symbol"><a name="ref_75_4">COLOR_CYAN</a></span> : <b>constant</b> := 6; + <span class="symbol"><a name="ref_76_4">COLOR_WHITE</a></span> : <b>constant</b> := 7; - <span class="comment"><EM>-- ETI return codes from ncurses.h</EM></span> + <span class="comment"><em>-- ETI return codes from ncurses.h</em></span> - <span class="symbol"><A NAME="ref_80_4">E_OK</A></span> : <b>constant</b> := 0; - <span class="symbol"><A NAME="ref_81_4">E_SYSTEM_ERROR</A></span> : <b>constant</b> := -1; - <span class="symbol"><A NAME="ref_82_4">E_BAD_ARGUMENT</A></span> : <b>constant</b> := -2; - <span class="symbol"><A NAME="ref_83_4">E_POSTED</A></span> : <b>constant</b> := -3; - <span class="symbol"><A NAME="ref_84_4">E_CONNECTED</A></span> : <b>constant</b> := -4; - <span class="symbol"><A NAME="ref_85_4">E_BAD_STATE</A></span> : <b>constant</b> := -5; - <span class="symbol"><A NAME="ref_86_4">E_NO_ROOM</A></span> : <b>constant</b> := -6; - <span class="symbol"><A NAME="ref_87_4">E_NOT_POSTED</A></span> : <b>constant</b> := -7; - <span class="symbol"><A NAME="ref_88_4">E_UNKNOWN_COMMAND</A></span> : <b>constant</b> := -8; - <span class="symbol"><A NAME="ref_89_4">E_NO_MATCH</A></span> : <b>constant</b> := -9; - <span class="symbol"><A NAME="ref_90_4">E_NOT_SELECTABLE</A></span> : <b>constant</b> := -10; - <span class="symbol"><A NAME="ref_91_4">E_NOT_CONNECTED</A></span> : <b>constant</b> := -11; - <span class="symbol"><A NAME="ref_92_4">E_REQUEST_DENIED</A></span> : <b>constant</b> := -12; - <span class="symbol"><A NAME="ref_93_4">E_INVALID_FIELD</A></span> : <b>constant</b> := -13; - <span class="symbol"><A NAME="ref_94_4">E_CURRENT</A></span> : <b>constant</b> := -14; + <span class="symbol"><a name="ref_80_4">E_OK</a></span> : <b>constant</b> := 0; + <span class="symbol"><a name="ref_81_4">E_SYSTEM_ERROR</a></span> : <b>constant</b> := -1; + <span class="symbol"><a name="ref_82_4">E_BAD_ARGUMENT</a></span> : <b>constant</b> := -2; + <span class="symbol"><a name="ref_83_4">E_POSTED</a></span> : <b>constant</b> := -3; + <span class="symbol"><a name="ref_84_4">E_CONNECTED</a></span> : <b>constant</b> := -4; + <span class="symbol"><a name="ref_85_4">E_BAD_STATE</a></span> : <b>constant</b> := -5; + <span class="symbol"><a name="ref_86_4">E_NO_ROOM</a></span> : <b>constant</b> := -6; + <span class="symbol"><a name="ref_87_4">E_NOT_POSTED</a></span> : <b>constant</b> := -7; + <span class="symbol"><a name="ref_88_4">E_UNKNOWN_COMMAND</a></span> : <b>constant</b> := -8; + <span class="symbol"><a name="ref_89_4">E_NO_MATCH</a></span> : <b>constant</b> := -9; + <span class="symbol"><a name="ref_90_4">E_NOT_SELECTABLE</a></span> : <b>constant</b> := -10; + <span class="symbol"><a name="ref_91_4">E_NOT_CONNECTED</a></span> : <b>constant</b> := -11; + <span class="symbol"><a name="ref_92_4">E_REQUEST_DENIED</a></span> : <b>constant</b> := -12; + <span class="symbol"><a name="ref_93_4">E_INVALID_FIELD</a></span> : <b>constant</b> := -13; + <span class="symbol"><a name="ref_94_4">E_CURRENT</a></span> : <b>constant</b> := -14; - <span class="comment"><EM>-- Input key codes not defined in any ncurses manpage</EM></span> + <span class="comment"><em>-- Input key codes not defined in any ncurses manpage</em></span> - <span class="symbol"><A NAME="ref_98_4">KEY_MIN</A></span> : <b>constant</b> := 257; - <span class="symbol"><A NAME="ref_99_4">KEY_MAX</A></span> : <b>constant</b> := 511; - <span class="symbol"><A NAME="ref_100_4">KEY_CODE_YES</A></span> : <b>constant</b> := 256; + <span class="symbol"><a name="ref_98_4">KEY_MIN</a></span> : <b>constant</b> := 257; + <span class="symbol"><a name="ref_99_4">KEY_MAX</a></span> : <b>constant</b> := 511; + <span class="symbol"><a name="ref_100_4">KEY_CODE_YES</a></span> : <b>constant</b> := 256; - <span class="comment"><EM>-- Input key codes from getch(3NCURSES)</EM></span> + <span class="comment"><em>-- Input key codes from getch(3NCURSES)</em></span> - <span class="symbol"><A NAME="ref_104_4">KEY_BREAK</A></span> : <b>constant</b> := 257; - <span class="symbol"><A NAME="ref_105_4">KEY_DOWN</A></span> : <b>constant</b> := 258; - <span class="symbol"><A NAME="ref_106_4">KEY_UP</A></span> : <b>constant</b> := 259; - <span class="symbol"><A NAME="ref_107_4">KEY_LEFT</A></span> : <b>constant</b> := 260; - <span class="symbol"><A NAME="ref_108_4">KEY_RIGHT</A></span> : <b>constant</b> := 261; - <span class="symbol"><A NAME="ref_109_4">KEY_HOME</A></span> : <b>constant</b> := 262; - <span class="symbol"><A NAME="ref_110_4">KEY_BACKSPACE</A></span> : <b>constant</b> := 263; - <span class="symbol"><A NAME="ref_111_4">KEY_F0</A></span> : <b>constant</b> := 264; - <span class="symbol"><A NAME="ref_112_4">KEY_F1</A></span> : <b>constant</b> := 265; - <span class="symbol"><A NAME="ref_113_4">KEY_F2</A></span> : <b>constant</b> := 266; - <span class="symbol"><A NAME="ref_114_4">KEY_F3</A></span> : <b>constant</b> := 267; - <span class="symbol"><A NAME="ref_115_4">KEY_F4</A></span> : <b>constant</b> := 268; - <span class="symbol"><A NAME="ref_116_4">KEY_F5</A></span> : <b>constant</b> := 269; - <span class="symbol"><A NAME="ref_117_4">KEY_F6</A></span> : <b>constant</b> := 270; - <span class="symbol"><A NAME="ref_118_4">KEY_F7</A></span> : <b>constant</b> := 271; - <span class="symbol"><A NAME="ref_119_4">KEY_F8</A></span> : <b>constant</b> := 272; - <span class="symbol"><A NAME="ref_120_4">KEY_F9</A></span> : <b>constant</b> := 273; - <span class="symbol"><A NAME="ref_121_4">KEY_F10</A></span> : <b>constant</b> := 274; - <span class="symbol"><A NAME="ref_122_4">KEY_F11</A></span> : <b>constant</b> := 275; - <span class="symbol"><A NAME="ref_123_4">KEY_F12</A></span> : <b>constant</b> := 276; - <span class="symbol"><A NAME="ref_124_4">KEY_F13</A></span> : <b>constant</b> := 277; - <span class="symbol"><A NAME="ref_125_4">KEY_F14</A></span> : <b>constant</b> := 278; - <span class="symbol"><A NAME="ref_126_4">KEY_F15</A></span> : <b>constant</b> := 279; - <span class="symbol"><A NAME="ref_127_4">KEY_F16</A></span> : <b>constant</b> := 280; - <span class="symbol"><A NAME="ref_128_4">KEY_F17</A></span> : <b>constant</b> := 281; - <span class="symbol"><A NAME="ref_129_4">KEY_F18</A></span> : <b>constant</b> := 282; - <span class="symbol"><A NAME="ref_130_4">KEY_F19</A></span> : <b>constant</b> := 283; - <span class="symbol"><A NAME="ref_131_4">KEY_F20</A></span> : <b>constant</b> := 284; - <span class="symbol"><A NAME="ref_132_4">KEY_F21</A></span> : <b>constant</b> := 285; - <span class="symbol"><A NAME="ref_133_4">KEY_F22</A></span> : <b>constant</b> := 286; - <span class="symbol"><A NAME="ref_134_4">KEY_F23</A></span> : <b>constant</b> := 287; - <span class="symbol"><A NAME="ref_135_4">KEY_F24</A></span> : <b>constant</b> := 288; - <span class="symbol"><A NAME="ref_136_4">KEY_DL</A></span> : <b>constant</b> := 328; - <span class="symbol"><A NAME="ref_137_4">KEY_IL</A></span> : <b>constant</b> := 329; - <span class="symbol"><A NAME="ref_138_4">KEY_DC</A></span> : <b>constant</b> := 330; - <span class="symbol"><A NAME="ref_139_4">KEY_IC</A></span> : <b>constant</b> := 331; - <span class="symbol"><A NAME="ref_140_4">KEY_EIC</A></span> : <b>constant</b> := 332; - <span class="symbol"><A NAME="ref_141_4">KEY_CLEAR</A></span> : <b>constant</b> := 333; - <span class="symbol"><A NAME="ref_142_4">KEY_EOS</A></span> : <b>constant</b> := 334; - <span class="symbol"><A NAME="ref_143_4">KEY_EOL</A></span> : <b>constant</b> := 335; - <span class="symbol"><A NAME="ref_144_4">KEY_SF</A></span> : <b>constant</b> := 336; - <span class="symbol"><A NAME="ref_145_4">KEY_SR</A></span> : <b>constant</b> := 337; - <span class="symbol"><A NAME="ref_146_4">KEY_NPAGE</A></span> : <b>constant</b> := 338; - <span class="symbol"><A NAME="ref_147_4">KEY_PPAGE</A></span> : <b>constant</b> := 339; - <span class="symbol"><A NAME="ref_148_4">KEY_STAB</A></span> : <b>constant</b> := 340; - <span class="symbol"><A NAME="ref_149_4">KEY_CTAB</A></span> : <b>constant</b> := 341; - <span class="symbol"><A NAME="ref_150_4">KEY_CATAB</A></span> : <b>constant</b> := 342; - <span class="symbol"><A NAME="ref_151_4">KEY_ENTER</A></span> : <b>constant</b> := 343; - <span class="symbol"><A NAME="ref_152_4">KEY_SRESET</A></span> : <b>constant</b> := 344; - <span class="symbol"><A NAME="ref_153_4">KEY_RESET</A></span> : <b>constant</b> := 345; - <span class="symbol"><A NAME="ref_154_4">KEY_PRINT</A></span> : <b>constant</b> := 346; - <span class="symbol"><A NAME="ref_155_4">KEY_LL</A></span> : <b>constant</b> := 347; - <span class="symbol"><A NAME="ref_156_4">KEY_A1</A></span> : <b>constant</b> := 348; - <span class="symbol"><A NAME="ref_157_4">KEY_A3</A></span> : <b>constant</b> := 349; - <span class="symbol"><A NAME="ref_158_4">KEY_B2</A></span> : <b>constant</b> := 350; - <span class="symbol"><A NAME="ref_159_4">KEY_C1</A></span> : <b>constant</b> := 351; - <span class="symbol"><A NAME="ref_160_4">KEY_C3</A></span> : <b>constant</b> := 352; - <span class="symbol"><A NAME="ref_161_4">KEY_BTAB</A></span> : <b>constant</b> := 353; - <span class="symbol"><A NAME="ref_162_4">KEY_BEG</A></span> : <b>constant</b> := 354; - <span class="symbol"><A NAME="ref_163_4">KEY_CANCEL</A></span> : <b>constant</b> := 355; - <span class="symbol"><A NAME="ref_164_4">KEY_CLOSE</A></span> : <b>constant</b> := 356; - <span class="symbol"><A NAME="ref_165_4">KEY_COMMAND</A></span> : <b>constant</b> := 357; - <span class="symbol"><A NAME="ref_166_4">KEY_COPY</A></span> : <b>constant</b> := 358; - <span class="symbol"><A NAME="ref_167_4">KEY_CREATE</A></span> : <b>constant</b> := 359; - <span class="symbol"><A NAME="ref_168_4">KEY_END</A></span> : <b>constant</b> := 360; - <span class="symbol"><A NAME="ref_169_4">KEY_EXIT</A></span> : <b>constant</b> := 361; - <span class="symbol"><A NAME="ref_170_4">KEY_FIND</A></span> : <b>constant</b> := 362; - <span class="symbol"><A NAME="ref_171_4">KEY_HELP</A></span> : <b>constant</b> := 363; - <span class="symbol"><A NAME="ref_172_4">KEY_MARK</A></span> : <b>constant</b> := 364; - <span class="symbol"><A NAME="ref_173_4">KEY_MESSAGE</A></span> : <b>constant</b> := 365; - <span class="symbol"><A NAME="ref_174_4">KEY_MOVE</A></span> : <b>constant</b> := 366; - <span class="symbol"><A NAME="ref_175_4">KEY_NEXT</A></span> : <b>constant</b> := 367; - <span class="symbol"><A NAME="ref_176_4">KEY_OPEN</A></span> : <b>constant</b> := 368; - <span class="symbol"><A NAME="ref_177_4">KEY_OPTIONS</A></span> : <b>constant</b> := 369; - <span class="symbol"><A NAME="ref_178_4">KEY_PREVIOUS</A></span> : <b>constant</b> := 370; - <span class="symbol"><A NAME="ref_179_4">KEY_REDO</A></span> : <b>constant</b> := 371; - <span class="symbol"><A NAME="ref_180_4">KEY_REFERENCE</A></span> : <b>constant</b> := 372; - <span class="symbol"><A NAME="ref_181_4">KEY_REFRESH</A></span> : <b>constant</b> := 373; - <span class="symbol"><A NAME="ref_182_4">KEY_REPLACE</A></span> : <b>constant</b> := 374; - <span class="symbol"><A NAME="ref_183_4">KEY_RESTART</A></span> : <b>constant</b> := 375; - <span class="symbol"><A NAME="ref_184_4">KEY_RESUME</A></span> : <b>constant</b> := 376; - <span class="symbol"><A NAME="ref_185_4">KEY_SAVE</A></span> : <b>constant</b> := 377; - <span class="symbol"><A NAME="ref_186_4">KEY_SBEG</A></span> : <b>constant</b> := 378; - <span class="symbol"><A NAME="ref_187_4">KEY_SCANCEL</A></span> : <b>constant</b> := 379; - <span class="symbol"><A NAME="ref_188_4">KEY_SCOMMAND</A></span> : <b>constant</b> := 380; - <span class="symbol"><A NAME="ref_189_4">KEY_SCOPY</A></span> : <b>constant</b> := 381; - <span class="symbol"><A NAME="ref_190_4">KEY_SCREATE</A></span> : <b>constant</b> := 382; - <span class="symbol"><A NAME="ref_191_4">KEY_SDC</A></span> : <b>constant</b> := 383; - <span class="symbol"><A NAME="ref_192_4">KEY_SDL</A></span> : <b>constant</b> := 384; - <span class="symbol"><A NAME="ref_193_4">KEY_SELECT</A></span> : <b>constant</b> := 385; - <span class="symbol"><A NAME="ref_194_4">KEY_SEND</A></span> : <b>constant</b> := 386; - <span class="symbol"><A NAME="ref_195_4">KEY_SEOL</A></span> : <b>constant</b> := 387; - <span class="symbol"><A NAME="ref_196_4">KEY_SEXIT</A></span> : <b>constant</b> := 388; - <span class="symbol"><A NAME="ref_197_4">KEY_SFIND</A></span> : <b>constant</b> := 389; - <span class="symbol"><A NAME="ref_198_4">KEY_SHELP</A></span> : <b>constant</b> := 390; - <span class="symbol"><A NAME="ref_199_4">KEY_SHOME</A></span> : <b>constant</b> := 391; - <span class="symbol"><A NAME="ref_200_4">KEY_SIC</A></span> : <b>constant</b> := 392; - <span class="symbol"><A NAME="ref_201_4">KEY_SLEFT</A></span> : <b>constant</b> := 393; - <span class="symbol"><A NAME="ref_202_4">KEY_SMESSAGE</A></span> : <b>constant</b> := 394; - <span class="symbol"><A NAME="ref_203_4">KEY_SMOVE</A></span> : <b>constant</b> := 395; - <span class="symbol"><A NAME="ref_204_4">KEY_SNEXT</A></span> : <b>constant</b> := 396; - <span class="symbol"><A NAME="ref_205_4">KEY_SOPTIONS</A></span> : <b>constant</b> := 397; - <span class="symbol"><A NAME="ref_206_4">KEY_SPREVIOUS</A></span> : <b>constant</b> := 398; - <span class="symbol"><A NAME="ref_207_4">KEY_SPRINT</A></span> : <b>constant</b> := 399; - <span class="symbol"><A NAME="ref_208_4">KEY_SREDO</A></span> : <b>constant</b> := 400; - <span class="symbol"><A NAME="ref_209_4">KEY_SREPLACE</A></span> : <b>constant</b> := 401; - <span class="symbol"><A NAME="ref_210_4">KEY_SRIGHT</A></span> : <b>constant</b> := 402; - <span class="symbol"><A NAME="ref_211_4">KEY_SRSUME</A></span> : <b>constant</b> := 403; - <span class="symbol"><A NAME="ref_212_4">KEY_SSAVE</A></span> : <b>constant</b> := 404; - <span class="symbol"><A NAME="ref_213_4">KEY_SSUSPEND</A></span> : <b>constant</b> := 405; - <span class="symbol"><A NAME="ref_214_4">KEY_SUNDO</A></span> : <b>constant</b> := 406; - <span class="symbol"><A NAME="ref_215_4">KEY_SUSPEND</A></span> : <b>constant</b> := 407; - <span class="symbol"><A NAME="ref_216_4">KEY_UNDO</A></span> : <b>constant</b> := 408; - <span class="symbol"><A NAME="ref_217_4">KEY_MOUSE</A></span> : <b>constant</b> := 409; - <span class="symbol"><A NAME="ref_218_4">KEY_RESIZE</A></span> : <b>constant</b> := 410; + <span class="symbol"><a name="ref_104_4">KEY_BREAK</a></span> : <b>constant</b> := 257; + <span class="symbol"><a name="ref_105_4">KEY_DOWN</a></span> : <b>constant</b> := 258; + <span class="symbol"><a name="ref_106_4">KEY_UP</a></span> : <b>constant</b> := 259; + <span class="symbol"><a name="ref_107_4">KEY_LEFT</a></span> : <b>constant</b> := 260; + <span class="symbol"><a name="ref_108_4">KEY_RIGHT</a></span> : <b>constant</b> := 261; + <span class="symbol"><a name="ref_109_4">KEY_HOME</a></span> : <b>constant</b> := 262; + <span class="symbol"><a name="ref_110_4">KEY_BACKSPACE</a></span> : <b>constant</b> := 263; + <span class="symbol"><a name="ref_111_4">KEY_F0</a></span> : <b>constant</b> := 264; + <span class="symbol"><a name="ref_112_4">KEY_F1</a></span> : <b>constant</b> := 265; + <span class="symbol"><a name="ref_113_4">KEY_F2</a></span> : <b>constant</b> := 266; + <span class="symbol"><a name="ref_114_4">KEY_F3</a></span> : <b>constant</b> := 267; + <span class="symbol"><a name="ref_115_4">KEY_F4</a></span> : <b>constant</b> := 268; + <span class="symbol"><a name="ref_116_4">KEY_F5</a></span> : <b>constant</b> := 269; + <span class="symbol"><a name="ref_117_4">KEY_F6</a></span> : <b>constant</b> := 270; + <span class="symbol"><a name="ref_118_4">KEY_F7</a></span> : <b>constant</b> := 271; + <span class="symbol"><a name="ref_119_4">KEY_F8</a></span> : <b>constant</b> := 272; + <span class="symbol"><a name="ref_120_4">KEY_F9</a></span> : <b>constant</b> := 273; + <span class="symbol"><a name="ref_121_4">KEY_F10</a></span> : <b>constant</b> := 274; + <span class="symbol"><a name="ref_122_4">KEY_F11</a></span> : <b>constant</b> := 275; + <span class="symbol"><a name="ref_123_4">KEY_F12</a></span> : <b>constant</b> := 276; + <span class="symbol"><a name="ref_124_4">KEY_F13</a></span> : <b>constant</b> := 277; + <span class="symbol"><a name="ref_125_4">KEY_F14</a></span> : <b>constant</b> := 278; + <span class="symbol"><a name="ref_126_4">KEY_F15</a></span> : <b>constant</b> := 279; + <span class="symbol"><a name="ref_127_4">KEY_F16</a></span> : <b>constant</b> := 280; + <span class="symbol"><a name="ref_128_4">KEY_F17</a></span> : <b>constant</b> := 281; + <span class="symbol"><a name="ref_129_4">KEY_F18</a></span> : <b>constant</b> := 282; + <span class="symbol"><a name="ref_130_4">KEY_F19</a></span> : <b>constant</b> := 283; + <span class="symbol"><a name="ref_131_4">KEY_F20</a></span> : <b>constant</b> := 284; + <span class="symbol"><a name="ref_132_4">KEY_F21</a></span> : <b>constant</b> := 285; + <span class="symbol"><a name="ref_133_4">KEY_F22</a></span> : <b>constant</b> := 286; + <span class="symbol"><a name="ref_134_4">KEY_F23</a></span> : <b>constant</b> := 287; + <span class="symbol"><a name="ref_135_4">KEY_F24</a></span> : <b>constant</b> := 288; + <span class="symbol"><a name="ref_136_4">KEY_DL</a></span> : <b>constant</b> := 328; + <span class="symbol"><a name="ref_137_4">KEY_IL</a></span> : <b>constant</b> := 329; + <span class="symbol"><a name="ref_138_4">KEY_DC</a></span> : <b>constant</b> := 330; + <span class="symbol"><a name="ref_139_4">KEY_IC</a></span> : <b>constant</b> := 331; + <span class="symbol"><a name="ref_140_4">KEY_EIC</a></span> : <b>constant</b> := 332; + <span class="symbol"><a name="ref_141_4">KEY_CLEAR</a></span> : <b>constant</b> := 333; + <span class="symbol"><a name="ref_142_4">KEY_EOS</a></span> : <b>constant</b> := 334; + <span class="symbol"><a name="ref_143_4">KEY_EOL</a></span> : <b>constant</b> := 335; + <span class="symbol"><a name="ref_144_4">KEY_SF</a></span> : <b>constant</b> := 336; + <span class="symbol"><a name="ref_145_4">KEY_SR</a></span> : <b>constant</b> := 337; + <span class="symbol"><a name="ref_146_4">KEY_NPAGE</a></span> : <b>constant</b> := 338; + <span class="symbol"><a name="ref_147_4">KEY_PPAGE</a></span> : <b>constant</b> := 339; + <span class="symbol"><a name="ref_148_4">KEY_STAB</a></span> : <b>constant</b> := 340; + <span class="symbol"><a name="ref_149_4">KEY_CTAB</a></span> : <b>constant</b> := 341; + <span class="symbol"><a name="ref_150_4">KEY_CATAB</a></span> : <b>constant</b> := 342; + <span class="symbol"><a name="ref_151_4">KEY_ENTER</a></span> : <b>constant</b> := 343; + <span class="symbol"><a name="ref_152_4">KEY_SRESET</a></span> : <b>constant</b> := 344; + <span class="symbol"><a name="ref_153_4">KEY_RESET</a></span> : <b>constant</b> := 345; + <span class="symbol"><a name="ref_154_4">KEY_PRINT</a></span> : <b>constant</b> := 346; + <span class="symbol"><a name="ref_155_4">KEY_LL</a></span> : <b>constant</b> := 347; + <span class="symbol"><a name="ref_156_4">KEY_A1</a></span> : <b>constant</b> := 348; + <span class="symbol"><a name="ref_157_4">KEY_A3</a></span> : <b>constant</b> := 349; + <span class="symbol"><a name="ref_158_4">KEY_B2</a></span> : <b>constant</b> := 350; + <span class="symbol"><a name="ref_159_4">KEY_C1</a></span> : <b>constant</b> := 351; + <span class="symbol"><a name="ref_160_4">KEY_C3</a></span> : <b>constant</b> := 352; + <span class="symbol"><a name="ref_161_4">KEY_BTAB</a></span> : <b>constant</b> := 353; + <span class="symbol"><a name="ref_162_4">KEY_BEG</a></span> : <b>constant</b> := 354; + <span class="symbol"><a name="ref_163_4">KEY_CANCEL</a></span> : <b>constant</b> := 355; + <span class="symbol"><a name="ref_164_4">KEY_CLOSE</a></span> : <b>constant</b> := 356; + <span class="symbol"><a name="ref_165_4">KEY_COMMAND</a></span> : <b>constant</b> := 357; + <span class="symbol"><a name="ref_166_4">KEY_COPY</a></span> : <b>constant</b> := 358; + <span class="symbol"><a name="ref_167_4">KEY_CREATE</a></span> : <b>constant</b> := 359; + <span class="symbol"><a name="ref_168_4">KEY_END</a></span> : <b>constant</b> := 360; + <span class="symbol"><a name="ref_169_4">KEY_EXIT</a></span> : <b>constant</b> := 361; + <span class="symbol"><a name="ref_170_4">KEY_FIND</a></span> : <b>constant</b> := 362; + <span class="symbol"><a name="ref_171_4">KEY_HELP</a></span> : <b>constant</b> := 363; + <span class="symbol"><a name="ref_172_4">KEY_MARK</a></span> : <b>constant</b> := 364; + <span class="symbol"><a name="ref_173_4">KEY_MESSAGE</a></span> : <b>constant</b> := 365; + <span class="symbol"><a name="ref_174_4">KEY_MOVE</a></span> : <b>constant</b> := 366; + <span class="symbol"><a name="ref_175_4">KEY_NEXT</a></span> : <b>constant</b> := 367; + <span class="symbol"><a name="ref_176_4">KEY_OPEN</a></span> : <b>constant</b> := 368; + <span class="symbol"><a name="ref_177_4">KEY_OPTIONS</a></span> : <b>constant</b> := 369; + <span class="symbol"><a name="ref_178_4">KEY_PREVIOUS</a></span> : <b>constant</b> := 370; + <span class="symbol"><a name="ref_179_4">KEY_REDO</a></span> : <b>constant</b> := 371; + <span class="symbol"><a name="ref_180_4">KEY_REFERENCE</a></span> : <b>constant</b> := 372; + <span class="symbol"><a name="ref_181_4">KEY_REFRESH</a></span> : <b>constant</b> := 373; + <span class="symbol"><a name="ref_182_4">KEY_REPLACE</a></span> : <b>constant</b> := 374; + <span class="symbol"><a name="ref_183_4">KEY_RESTART</a></span> : <b>constant</b> := 375; + <span class="symbol"><a name="ref_184_4">KEY_RESUME</a></span> : <b>constant</b> := 376; + <span class="symbol"><a name="ref_185_4">KEY_SAVE</a></span> : <b>constant</b> := 377; + <span class="symbol"><a name="ref_186_4">KEY_SBEG</a></span> : <b>constant</b> := 378; + <span class="symbol"><a name="ref_187_4">KEY_SCANCEL</a></span> : <b>constant</b> := 379; + <span class="symbol"><a name="ref_188_4">KEY_SCOMMAND</a></span> : <b>constant</b> := 380; + <span class="symbol"><a name="ref_189_4">KEY_SCOPY</a></span> : <b>constant</b> := 381; + <span class="symbol"><a name="ref_190_4">KEY_SCREATE</a></span> : <b>constant</b> := 382; + <span class="symbol"><a name="ref_191_4">KEY_SDC</a></span> : <b>constant</b> := 383; + <span class="symbol"><a name="ref_192_4">KEY_SDL</a></span> : <b>constant</b> := 384; + <span class="symbol"><a name="ref_193_4">KEY_SELECT</a></span> : <b>constant</b> := 385; + <span class="symbol"><a name="ref_194_4">KEY_SEND</a></span> : <b>constant</b> := 386; + <span class="symbol"><a name="ref_195_4">KEY_SEOL</a></span> : <b>constant</b> := 387; + <span class="symbol"><a name="ref_196_4">KEY_SEXIT</a></span> : <b>constant</b> := 388; + <span class="symbol"><a name="ref_197_4">KEY_SFIND</a></span> : <b>constant</b> := 389; + <span class="symbol"><a name="ref_198_4">KEY_SHELP</a></span> : <b>constant</b> := 390; + <span class="symbol"><a name="ref_199_4">KEY_SHOME</a></span> : <b>constant</b> := 391; + <span class="symbol"><a name="ref_200_4">KEY_SIC</a></span> : <b>constant</b> := 392; + <span class="symbol"><a name="ref_201_4">KEY_SLEFT</a></span> : <b>constant</b> := 393; + <span class="symbol"><a name="ref_202_4">KEY_SMESSAGE</a></span> : <b>constant</b> := 394; + <span class="symbol"><a name="ref_203_4">KEY_SMOVE</a></span> : <b>constant</b> := 395; + <span class="symbol"><a name="ref_204_4">KEY_SNEXT</a></span> : <b>constant</b> := 396; + <span class="symbol"><a name="ref_205_4">KEY_SOPTIONS</a></span> : <b>constant</b> := 397; + <span class="symbol"><a name="ref_206_4">KEY_SPREVIOUS</a></span> : <b>constant</b> := 398; + <span class="symbol"><a name="ref_207_4">KEY_SPRINT</a></span> : <b>constant</b> := 399; + <span class="symbol"><a name="ref_208_4">KEY_SREDO</a></span> : <b>constant</b> := 400; + <span class="symbol"><a name="ref_209_4">KEY_SREPLACE</a></span> : <b>constant</b> := 401; + <span class="symbol"><a name="ref_210_4">KEY_SRIGHT</a></span> : <b>constant</b> := 402; + <span class="symbol"><a name="ref_211_4">KEY_SRSUME</a></span> : <b>constant</b> := 403; + <span class="symbol"><a name="ref_212_4">KEY_SSAVE</a></span> : <b>constant</b> := 404; + <span class="symbol"><a name="ref_213_4">KEY_SSUSPEND</a></span> : <b>constant</b> := 405; + <span class="symbol"><a name="ref_214_4">KEY_SUNDO</a></span> : <b>constant</b> := 406; + <span class="symbol"><a name="ref_215_4">KEY_SUSPEND</a></span> : <b>constant</b> := 407; + <span class="symbol"><a name="ref_216_4">KEY_UNDO</a></span> : <b>constant</b> := 408; + <span class="symbol"><a name="ref_217_4">KEY_MOUSE</a></span> : <b>constant</b> := 409; + <span class="symbol"><a name="ref_218_4">KEY_RESIZE</a></span> : <b>constant</b> := 410; - <span class="comment"><EM>-- alternate character codes (ACS) from addch(3NCURSES)</EM></span> + <span class="comment"><em>-- alternate character codes (ACS) from addch(3NCURSES)</em></span> - <span class="symbol"><A NAME="ref_222_4">ACS_ULCORNER</A></span> : <b>constant</b> := 108; - <span class="symbol"><A NAME="ref_223_4">ACS_LLCORNER</A></span> : <b>constant</b> := 109; - <span class="symbol"><A NAME="ref_224_4">ACS_URCORNER</A></span> : <b>constant</b> := 107; - <span class="symbol"><A NAME="ref_225_4">ACS_LRCORNER</A></span> : <b>constant</b> := 106; - <span class="symbol"><A NAME="ref_226_4">ACS_LTEE</A></span> : <b>constant</b> := 116; - <span class="symbol"><A NAME="ref_227_4">ACS_RTEE</A></span> : <b>constant</b> := 117; - <span class="symbol"><A NAME="ref_228_4">ACS_BTEE</A></span> : <b>constant</b> := 118; - <span class="symbol"><A NAME="ref_229_4">ACS_TTEE</A></span> : <b>constant</b> := 119; - <span class="symbol"><A NAME="ref_230_4">ACS_HLINE</A></span> : <b>constant</b> := 113; - <span class="symbol"><A NAME="ref_231_4">ACS_VLINE</A></span> : <b>constant</b> := 120; - <span class="symbol"><A NAME="ref_232_4">ACS_PLUS</A></span> : <b>constant</b> := 110; - <span class="symbol"><A NAME="ref_233_4">ACS_S1</A></span> : <b>constant</b> := 111; - <span class="symbol"><A NAME="ref_234_4">ACS_S9</A></span> : <b>constant</b> := 115; - <span class="symbol"><A NAME="ref_235_4">ACS_DIAMOND</A></span> : <b>constant</b> := 96; - <span class="symbol"><A NAME="ref_236_4">ACS_CKBOARD</A></span> : <b>constant</b> := 97; - <span class="symbol"><A NAME="ref_237_4">ACS_DEGREE</A></span> : <b>constant</b> := 102; - <span class="symbol"><A NAME="ref_238_4">ACS_PLMINUS</A></span> : <b>constant</b> := 103; - <span class="symbol"><A NAME="ref_239_4">ACS_BULLET</A></span> : <b>constant</b> := 126; - <span class="symbol"><A NAME="ref_240_4">ACS_LARROW</A></span> : <b>constant</b> := 44; - <span class="symbol"><A NAME="ref_241_4">ACS_RARROW</A></span> : <b>constant</b> := 43; - <span class="symbol"><A NAME="ref_242_4">ACS_DARROW</A></span> : <b>constant</b> := 46; - <span class="symbol"><A NAME="ref_243_4">ACS_UARROW</A></span> : <b>constant</b> := 45; - <span class="symbol"><A NAME="ref_244_4">ACS_BOARD</A></span> : <b>constant</b> := 104; - <span class="symbol"><A NAME="ref_245_4">ACS_LANTERN</A></span> : <b>constant</b> := 105; - <span class="symbol"><A NAME="ref_246_4">ACS_BLOCK</A></span> : <b>constant</b> := 48; - <span class="symbol"><A NAME="ref_247_4">ACS_S3</A></span> : <b>constant</b> := 112; - <span class="symbol"><A NAME="ref_248_4">ACS_S7</A></span> : <b>constant</b> := 114; - <span class="symbol"><A NAME="ref_249_4">ACS_LEQUAL</A></span> : <b>constant</b> := 121; - <span class="symbol"><A NAME="ref_250_4">ACS_GEQUAL</A></span> : <b>constant</b> := 122; - <span class="symbol"><A NAME="ref_251_4">ACS_PI</A></span> : <b>constant</b> := 123; - <span class="symbol"><A NAME="ref_252_4">ACS_NEQUAL</A></span> : <b>constant</b> := 124; - <span class="symbol"><A NAME="ref_253_4">ACS_STERLING</A></span> : <b>constant</b> := 125; + <span class="symbol"><a name="ref_222_4">ACS_ULCORNER</a></span> : <b>constant</b> := 108; + <span class="symbol"><a name="ref_223_4">ACS_LLCORNER</a></span> : <b>constant</b> := 109; + <span class="symbol"><a name="ref_224_4">ACS_URCORNER</a></span> : <b>constant</b> := 107; + <span class="symbol"><a name="ref_225_4">ACS_LRCORNER</a></span> : <b>constant</b> := 106; + <span class="symbol"><a name="ref_226_4">ACS_LTEE</a></span> : <b>constant</b> := 116; + <span class="symbol"><a name="ref_227_4">ACS_RTEE</a></span> : <b>constant</b> := 117; + <span class="symbol"><a name="ref_228_4">ACS_BTEE</a></span> : <b>constant</b> := 118; + <span class="symbol"><a name="ref_229_4">ACS_TTEE</a></span> : <b>constant</b> := 119; + <span class="symbol"><a name="ref_230_4">ACS_HLINE</a></span> : <b>constant</b> := 113; + <span class="symbol"><a name="ref_231_4">ACS_VLINE</a></span> : <b>constant</b> := 120; + <span class="symbol"><a name="ref_232_4">ACS_PLUS</a></span> : <b>constant</b> := 110; + <span class="symbol"><a name="ref_233_4">ACS_S1</a></span> : <b>constant</b> := 111; + <span class="symbol"><a name="ref_234_4">ACS_S9</a></span> : <b>constant</b> := 115; + <span class="symbol"><a name="ref_235_4">ACS_DIAMOND</a></span> : <b>constant</b> := 96; + <span class="symbol"><a name="ref_236_4">ACS_CKBOARD</a></span> : <b>constant</b> := 97; + <span class="symbol"><a name="ref_237_4">ACS_DEGREE</a></span> : <b>constant</b> := 102; + <span class="symbol"><a name="ref_238_4">ACS_PLMINUS</a></span> : <b>constant</b> := 103; + <span class="symbol"><a name="ref_239_4">ACS_BULLET</a></span> : <b>constant</b> := 126; + <span class="symbol"><a name="ref_240_4">ACS_LARROW</a></span> : <b>constant</b> := 44; + <span class="symbol"><a name="ref_241_4">ACS_RARROW</a></span> : <b>constant</b> := 43; + <span class="symbol"><a name="ref_242_4">ACS_DARROW</a></span> : <b>constant</b> := 46; + <span class="symbol"><a name="ref_243_4">ACS_UARROW</a></span> : <b>constant</b> := 45; + <span class="symbol"><a name="ref_244_4">ACS_BOARD</a></span> : <b>constant</b> := 104; + <span class="symbol"><a name="ref_245_4">ACS_LANTERN</a></span> : <b>constant</b> := 105; + <span class="symbol"><a name="ref_246_4">ACS_BLOCK</a></span> : <b>constant</b> := 48; + <span class="symbol"><a name="ref_247_4">ACS_S3</a></span> : <b>constant</b> := 112; + <span class="symbol"><a name="ref_248_4">ACS_S7</a></span> : <b>constant</b> := 114; + <span class="symbol"><a name="ref_249_4">ACS_LEQUAL</a></span> : <b>constant</b> := 121; + <span class="symbol"><a name="ref_250_4">ACS_GEQUAL</a></span> : <b>constant</b> := 122; + <span class="symbol"><a name="ref_251_4">ACS_PI</a></span> : <b>constant</b> := 123; + <span class="symbol"><a name="ref_252_4">ACS_NEQUAL</a></span> : <b>constant</b> := 124; + <span class="symbol"><a name="ref_253_4">ACS_STERLING</a></span> : <b>constant</b> := 125; - <span class="comment"><EM>-- Menu_Options from opts(3MENU)</EM></span> + <span class="comment"><em>-- Menu_Options from opts(3MENU)</em></span> - <span class="symbol"><A NAME="ref_257_4">O_ONEVALUE_First</A></span> : <b>constant</b> := 0; - <span class="symbol"><A NAME="ref_258_4">O_ONEVALUE_Last</A></span> : <b>constant</b> := 0; - <span class="symbol"><A NAME="ref_259_4">O_SHOWDESC_First</A></span> : <b>constant</b> := 1; - <span class="symbol"><A NAME="ref_260_4">O_SHOWDESC_Last</A></span> : <b>constant</b> := 1; - <span class="symbol"><A NAME="ref_261_4">O_ROWMAJOR_First</A></span> : <b>constant</b> := 2; - <span class="symbol"><A NAME="ref_262_4">O_ROWMAJOR_Last</A></span> : <b>constant</b> := 2; - <span class="symbol"><A NAME="ref_263_4">O_IGNORECASE_First</A></span> : <b>constant</b> := 3; - <span class="symbol"><A NAME="ref_264_4">O_IGNORECASE_Last</A></span> : <b>constant</b> := 3; - <span class="symbol"><A NAME="ref_265_4">O_SHOWMATCH_First</A></span> : <b>constant</b> := 4; - <span class="symbol"><A NAME="ref_266_4">O_SHOWMATCH_Last</A></span> : <b>constant</b> := 4; - <span class="symbol"><A NAME="ref_267_4">O_NONCYCLIC_First</A></span> : <b>constant</b> := 5; - <span class="symbol"><A NAME="ref_268_4">O_NONCYCLIC_Last</A></span> : <b>constant</b> := 5; - <span class="symbol"><A NAME="ref_269_4">Menu_Options_Size</A></span> : <b>constant</b> := 32; + <span class="symbol"><a name="ref_257_4">O_ONEVALUE_First</a></span> : <b>constant</b> := 0; + <span class="symbol"><a name="ref_258_4">O_ONEVALUE_Last</a></span> : <b>constant</b> := 0; + <span class="symbol"><a name="ref_259_4">O_SHOWDESC_First</a></span> : <b>constant</b> := 1; + <span class="symbol"><a name="ref_260_4">O_SHOWDESC_Last</a></span> : <b>constant</b> := 1; + <span class="symbol"><a name="ref_261_4">O_ROWMAJOR_First</a></span> : <b>constant</b> := 2; + <span class="symbol"><a name="ref_262_4">O_ROWMAJOR_Last</a></span> : <b>constant</b> := 2; + <span class="symbol"><a name="ref_263_4">O_IGNORECASE_First</a></span> : <b>constant</b> := 3; + <span class="symbol"><a name="ref_264_4">O_IGNORECASE_Last</a></span> : <b>constant</b> := 3; + <span class="symbol"><a name="ref_265_4">O_SHOWMATCH_First</a></span> : <b>constant</b> := 4; + <span class="symbol"><a name="ref_266_4">O_SHOWMATCH_Last</a></span> : <b>constant</b> := 4; + <span class="symbol"><a name="ref_267_4">O_NONCYCLIC_First</a></span> : <b>constant</b> := 5; + <span class="symbol"><a name="ref_268_4">O_NONCYCLIC_Last</a></span> : <b>constant</b> := 5; + <span class="symbol"><a name="ref_269_4">Menu_Options_Size</a></span> : <b>constant</b> := 32; - <span class="comment"><EM>-- Item_Options from menu_opts(3MENU)</EM></span> + <span class="comment"><em>-- Item_Options from menu_opts(3MENU)</em></span> - <span class="symbol"><A NAME="ref_273_4">O_SELECTABLE_First</A></span> : <b>constant</b> := 0; - <span class="symbol"><A NAME="ref_274_4">O_SELECTABLE_Last</A></span> : <b>constant</b> := 0; - <span class="symbol"><A NAME="ref_275_4">Item_Options_Size</A></span> : <b>constant</b> := 32; + <span class="symbol"><a name="ref_273_4">O_SELECTABLE_First</a></span> : <b>constant</b> := 0; + <span class="symbol"><a name="ref_274_4">O_SELECTABLE_Last</a></span> : <b>constant</b> := 0; + <span class="symbol"><a name="ref_275_4">Item_Options_Size</a></span> : <b>constant</b> := 32; - <span class="comment"><EM>-- Field_Options from field_opts(3FORM)</EM></span> + <span class="comment"><em>-- Field_Options from field_opts(3FORM)</em></span> - <span class="symbol"><A NAME="ref_279_4">O_VISIBLE_First</A></span> : <b>constant</b> := 0; - <span class="symbol"><A NAME="ref_280_4">O_VISIBLE_Last</A></span> : <b>constant</b> := 0; - <span class="symbol"><A NAME="ref_281_4">O_ACTIVE_First</A></span> : <b>constant</b> := 1; - <span class="symbol"><A NAME="ref_282_4">O_ACTIVE_Last</A></span> : <b>constant</b> := 1; - <span class="symbol"><A NAME="ref_283_4">O_PUBLIC_First</A></span> : <b>constant</b> := 2; - <span class="symbol"><A NAME="ref_284_4">O_PUBLIC_Last</A></span> : <b>constant</b> := 2; - <span class="symbol"><A NAME="ref_285_4">O_EDIT_First</A></span> : <b>constant</b> := 3; - <span class="symbol"><A NAME="ref_286_4">O_EDIT_Last</A></span> : <b>constant</b> := 3; - <span class="symbol"><A NAME="ref_287_4">O_WRAP_First</A></span> : <b>constant</b> := 4; - <span class="symbol"><A NAME="ref_288_4">O_WRAP_Last</A></span> : <b>constant</b> := 4; - <span class="symbol"><A NAME="ref_289_4">O_BLANK_First</A></span> : <b>constant</b> := 5; - <span class="symbol"><A NAME="ref_290_4">O_BLANK_Last</A></span> : <b>constant</b> := 5; - <span class="symbol"><A NAME="ref_291_4">O_AUTOSKIP_First</A></span> : <b>constant</b> := 6; - <span class="symbol"><A NAME="ref_292_4">O_AUTOSKIP_Last</A></span> : <b>constant</b> := 6; - <span class="symbol"><A NAME="ref_293_4">O_NULLOK_First</A></span> : <b>constant</b> := 7; - <span class="symbol"><A NAME="ref_294_4">O_NULLOK_Last</A></span> : <b>constant</b> := 7; - <span class="symbol"><A NAME="ref_295_4">O_PASSOK_First</A></span> : <b>constant</b> := 8; - <span class="symbol"><A NAME="ref_296_4">O_PASSOK_Last</A></span> : <b>constant</b> := 8; - <span class="symbol"><A NAME="ref_297_4">O_STATIC_First</A></span> : <b>constant</b> := 9; - <span class="symbol"><A NAME="ref_298_4">O_STATIC_Last</A></span> : <b>constant</b> := 9; - <span class="symbol"><A NAME="ref_299_4">Field_Options_Size</A></span> : <b>constant</b> := 32; + <span class="symbol"><a name="ref_279_4">O_VISIBLE_First</a></span> : <b>constant</b> := 0; + <span class="symbol"><a name="ref_280_4">O_VISIBLE_Last</a></span> : <b>constant</b> := 0; + <span class="symbol"><a name="ref_281_4">O_ACTIVE_First</a></span> : <b>constant</b> := 1; + <span class="symbol"><a name="ref_282_4">O_ACTIVE_Last</a></span> : <b>constant</b> := 1; + <span class="symbol"><a name="ref_283_4">O_PUBLIC_First</a></span> : <b>constant</b> := 2; + <span class="symbol"><a name="ref_284_4">O_PUBLIC_Last</a></span> : <b>constant</b> := 2; + <span class="symbol"><a name="ref_285_4">O_EDIT_First</a></span> : <b>constant</b> := 3; + <span class="symbol"><a name="ref_286_4">O_EDIT_Last</a></span> : <b>constant</b> := 3; + <span class="symbol"><a name="ref_287_4">O_WRAP_First</a></span> : <b>constant</b> := 4; + <span class="symbol"><a name="ref_288_4">O_WRAP_Last</a></span> : <b>constant</b> := 4; + <span class="symbol"><a name="ref_289_4">O_BLANK_First</a></span> : <b>constant</b> := 5; + <span class="symbol"><a name="ref_290_4">O_BLANK_Last</a></span> : <b>constant</b> := 5; + <span class="symbol"><a name="ref_291_4">O_AUTOSKIP_First</a></span> : <b>constant</b> := 6; + <span class="symbol"><a name="ref_292_4">O_AUTOSKIP_Last</a></span> : <b>constant</b> := 6; + <span class="symbol"><a name="ref_293_4">O_NULLOK_First</a></span> : <b>constant</b> := 7; + <span class="symbol"><a name="ref_294_4">O_NULLOK_Last</a></span> : <b>constant</b> := 7; + <span class="symbol"><a name="ref_295_4">O_PASSOK_First</a></span> : <b>constant</b> := 8; + <span class="symbol"><a name="ref_296_4">O_PASSOK_Last</a></span> : <b>constant</b> := 8; + <span class="symbol"><a name="ref_297_4">O_STATIC_First</a></span> : <b>constant</b> := 9; + <span class="symbol"><a name="ref_298_4">O_STATIC_Last</a></span> : <b>constant</b> := 9; + <span class="symbol"><a name="ref_299_4">Field_Options_Size</a></span> : <b>constant</b> := 32; - <span class="comment"><EM>-- Field_Options from opts(3FORM)</EM></span> + <span class="comment"><em>-- Field_Options from opts(3FORM)</em></span> - <span class="symbol"><A NAME="ref_303_4">O_NL_OVERLOAD_First</A></span> : <b>constant</b> := 0; - <span class="symbol"><A NAME="ref_304_4">O_NL_OVERLOAD_Last</A></span> : <b>constant</b> := 0; - <span class="symbol"><A NAME="ref_305_4">O_BS_OVERLOAD_First</A></span> : <b>constant</b> := 1; - <span class="symbol"><A NAME="ref_306_4">O_BS_OVERLOAD_Last</A></span> : <b>constant</b> := 1; + <span class="symbol"><a name="ref_303_4">O_NL_OVERLOAD_First</a></span> : <b>constant</b> := 0; + <span class="symbol"><a name="ref_304_4">O_NL_OVERLOAD_Last</a></span> : <b>constant</b> := 0; + <span class="symbol"><a name="ref_305_4">O_BS_OVERLOAD_First</a></span> : <b>constant</b> := 1; + <span class="symbol"><a name="ref_306_4">O_BS_OVERLOAD_Last</a></span> : <b>constant</b> := 1; - <span class="comment"><EM>-- MEVENT structure from mouse(3NCURSES)</EM></span> + <span class="comment"><em>-- MEVENT structure from mouse(3NCURSES)</em></span> - <span class="symbol"><A NAME="ref_310_4">MEVENT_id_First</A></span> : <b>constant</b> := 0; - <span class="symbol"><A NAME="ref_311_4">MEVENT_id_Last</A></span> : <b>constant</b> := 15; - <span class="symbol"><A NAME="ref_312_4">MEVENT_x_First</A></span> : <b>constant</b> := 32; - <span class="symbol"><A NAME="ref_313_4">MEVENT_x_Last</A></span> : <b>constant</b> := 63; - <span class="symbol"><A NAME="ref_314_4">MEVENT_y_First</A></span> : <b>constant</b> := 64; - <span class="symbol"><A NAME="ref_315_4">MEVENT_y_Last</A></span> : <b>constant</b> := 95; - <span class="symbol"><A NAME="ref_316_4">MEVENT_z_First</A></span> : <b>constant</b> := 96; - <span class="symbol"><A NAME="ref_317_4">MEVENT_z_Last</A></span> : <b>constant</b> := 127; - <span class="symbol"><A NAME="ref_318_4">MEVENT_bstate_First</A></span> : <b>constant</b> := 128; - <span class="symbol"><A NAME="ref_319_4">MEVENT_bstate_Last</A></span> : <b>constant</b> := 159; - <span class="symbol"><A NAME="ref_320_4">MEVENT_Size</A></span> : <b>constant</b> := 160; + <span class="symbol"><a name="ref_310_4">MEVENT_id_First</a></span> : <b>constant</b> := 0; + <span class="symbol"><a name="ref_311_4">MEVENT_id_Last</a></span> : <b>constant</b> := 15; + <span class="symbol"><a name="ref_312_4">MEVENT_x_First</a></span> : <b>constant</b> := 32; + <span class="symbol"><a name="ref_313_4">MEVENT_x_Last</a></span> : <b>constant</b> := 63; + <span class="symbol"><a name="ref_314_4">MEVENT_y_First</a></span> : <b>constant</b> := 64; + <span class="symbol"><a name="ref_315_4">MEVENT_y_Last</a></span> : <b>constant</b> := 95; + <span class="symbol"><a name="ref_316_4">MEVENT_z_First</a></span> : <b>constant</b> := 96; + <span class="symbol"><a name="ref_317_4">MEVENT_z_Last</a></span> : <b>constant</b> := 127; + <span class="symbol"><a name="ref_318_4">MEVENT_bstate_First</a></span> : <b>constant</b> := 128; + <span class="symbol"><a name="ref_319_4">MEVENT_bstate_Last</a></span> : <b>constant</b> := 159; + <span class="symbol"><a name="ref_320_4">MEVENT_Size</a></span> : <b>constant</b> := 160; - <span class="comment"><EM>-- mouse events from mouse(3NCURSES)</EM></span> + <span class="comment"><em>-- mouse events from mouse(3NCURSES)</em></span> - <span class="symbol"><A NAME="ref_324_4">BUTTON1_RELEASED</A></span> : <b>constant</b> := 1; - <span class="symbol"><A NAME="ref_325_4">BUTTON1_PRESSED</A></span> : <b>constant</b> := 2; - <span class="symbol"><A NAME="ref_326_4">BUTTON1_CLICKED</A></span> : <b>constant</b> := 4; - <span class="symbol"><A NAME="ref_327_4">BUTTON1_DOUBLE_CLICKED</A></span> : <b>constant</b> := 8; - <span class="symbol"><A NAME="ref_328_4">BUTTON1_TRIPLE_CLICKED</A></span> : <b>constant</b> := 16; - <span class="symbol"><A NAME="ref_329_4">all_events_button_1</A></span> : <b>constant</b> := 31; - <span class="symbol"><A NAME="ref_330_4">BUTTON2_RELEASED</A></span> : <b>constant</b> := 32; - <span class="symbol"><A NAME="ref_331_4">BUTTON2_PRESSED</A></span> : <b>constant</b> := 64; - <span class="symbol"><A NAME="ref_332_4">BUTTON2_CLICKED</A></span> : <b>constant</b> := 128; - <span class="symbol"><A NAME="ref_333_4">BUTTON2_DOUBLE_CLICKED</A></span> : <b>constant</b> := 256; - <span class="symbol"><A NAME="ref_334_4">BUTTON2_TRIPLE_CLICKED</A></span> : <b>constant</b> := 512; - <span class="symbol"><A NAME="ref_335_4">all_events_button_2</A></span> : <b>constant</b> := 992; - <span class="symbol"><A NAME="ref_336_4">BUTTON3_RELEASED</A></span> : <b>constant</b> := 1024; - <span class="symbol"><A NAME="ref_337_4">BUTTON3_PRESSED</A></span> : <b>constant</b> := 2048; - <span class="symbol"><A NAME="ref_338_4">BUTTON3_CLICKED</A></span> : <b>constant</b> := 4096; - <span class="symbol"><A NAME="ref_339_4">BUTTON3_DOUBLE_CLICKED</A></span> : <b>constant</b> := 8192; - <span class="symbol"><A NAME="ref_340_4">BUTTON3_TRIPLE_CLICKED</A></span> : <b>constant</b> := 16384; - <span class="symbol"><A NAME="ref_341_4">all_events_button_3</A></span> : <b>constant</b> := 31744; - <span class="symbol"><A NAME="ref_342_4">BUTTON4_RELEASED</A></span> : <b>constant</b> := 32768; - <span class="symbol"><A NAME="ref_343_4">BUTTON4_PRESSED</A></span> : <b>constant</b> := 65536; - <span class="symbol"><A NAME="ref_344_4">BUTTON4_CLICKED</A></span> : <b>constant</b> := 131072; - <span class="symbol"><A NAME="ref_345_4">BUTTON4_DOUBLE_CLICKED</A></span> : <b>constant</b> := 262144; - <span class="symbol"><A NAME="ref_346_4">BUTTON4_TRIPLE_CLICKED</A></span> : <b>constant</b> := 524288; - <span class="symbol"><A NAME="ref_347_4">all_events_button_4</A></span> : <b>constant</b> := 1015808; - <span class="symbol"><A NAME="ref_348_4">BUTTON_CTRL</A></span> : <b>constant</b> := 33554432; - <span class="symbol"><A NAME="ref_349_4">BUTTON_SHIFT</A></span> : <b>constant</b> := 67108864; - <span class="symbol"><A NAME="ref_350_4">BUTTON_ALT</A></span> : <b>constant</b> := 134217728; - <span class="symbol"><A NAME="ref_351_4">REPORT_MOUSE_POSITION</A></span> : <b>constant</b> := 268435456; - <span class="symbol"><A NAME="ref_352_4">ALL_MOUSE_EVENTS</A></span> : <b>constant</b> := 268435455; + <span class="symbol"><a name="ref_324_4">BUTTON1_RELEASED</a></span> : <b>constant</b> := 1; + <span class="symbol"><a name="ref_325_4">BUTTON1_PRESSED</a></span> : <b>constant</b> := 2; + <span class="symbol"><a name="ref_326_4">BUTTON1_CLICKED</a></span> : <b>constant</b> := 4; + <span class="symbol"><a name="ref_327_4">BUTTON1_DOUBLE_CLICKED</a></span> : <b>constant</b> := 8; + <span class="symbol"><a name="ref_328_4">BUTTON1_TRIPLE_CLICKED</a></span> : <b>constant</b> := 16; + <span class="symbol"><a name="ref_329_4">all_events_button_1</a></span> : <b>constant</b> := 31; + <span class="symbol"><a name="ref_330_4">BUTTON2_RELEASED</a></span> : <b>constant</b> := 32; + <span class="symbol"><a name="ref_331_4">BUTTON2_PRESSED</a></span> : <b>constant</b> := 64; + <span class="symbol"><a name="ref_332_4">BUTTON2_CLICKED</a></span> : <b>constant</b> := 128; + <span class="symbol"><a name="ref_333_4">BUTTON2_DOUBLE_CLICKED</a></span> : <b>constant</b> := 256; + <span class="symbol"><a name="ref_334_4">BUTTON2_TRIPLE_CLICKED</a></span> : <b>constant</b> := 512; + <span class="symbol"><a name="ref_335_4">all_events_button_2</a></span> : <b>constant</b> := 992; + <span class="symbol"><a name="ref_336_4">BUTTON3_RELEASED</a></span> : <b>constant</b> := 1024; + <span class="symbol"><a name="ref_337_4">BUTTON3_PRESSED</a></span> : <b>constant</b> := 2048; + <span class="symbol"><a name="ref_338_4">BUTTON3_CLICKED</a></span> : <b>constant</b> := 4096; + <span class="symbol"><a name="ref_339_4">BUTTON3_DOUBLE_CLICKED</a></span> : <b>constant</b> := 8192; + <span class="symbol"><a name="ref_340_4">BUTTON3_TRIPLE_CLICKED</a></span> : <b>constant</b> := 16384; + <span class="symbol"><a name="ref_341_4">all_events_button_3</a></span> : <b>constant</b> := 31744; + <span class="symbol"><a name="ref_342_4">BUTTON4_RELEASED</a></span> : <b>constant</b> := 32768; + <span class="symbol"><a name="ref_343_4">BUTTON4_PRESSED</a></span> : <b>constant</b> := 65536; + <span class="symbol"><a name="ref_344_4">BUTTON4_CLICKED</a></span> : <b>constant</b> := 131072; + <span class="symbol"><a name="ref_345_4">BUTTON4_DOUBLE_CLICKED</a></span> : <b>constant</b> := 262144; + <span class="symbol"><a name="ref_346_4">BUTTON4_TRIPLE_CLICKED</a></span> : <b>constant</b> := 524288; + <span class="symbol"><a name="ref_347_4">all_events_button_4</a></span> : <b>constant</b> := 1015808; + <span class="symbol"><a name="ref_348_4">BUTTON_CTRL</a></span> : <b>constant</b> := 33554432; + <span class="symbol"><a name="ref_349_4">BUTTON_SHIFT</a></span> : <b>constant</b> := 67108864; + <span class="symbol"><a name="ref_350_4">BUTTON_ALT</a></span> : <b>constant</b> := 134217728; + <span class="symbol"><a name="ref_351_4">REPORT_MOUSE_POSITION</a></span> : <b>constant</b> := 268435456; + <span class="symbol"><a name="ref_352_4">ALL_MOUSE_EVENTS</a></span> : <b>constant</b> := 268435455; - <span class="comment"><EM>-- trace selection from trace(3NCURSES)</EM></span> + <span class="comment"><em>-- trace selection from trace(3NCURSES)</em></span> - <span class="symbol"><A NAME="ref_356_4">TRACE_TIMES_First</A></span> : <b>constant</b> := 0; - <span class="symbol"><A NAME="ref_357_4">TRACE_TIMES_Last</A></span> : <b>constant</b> := 0; - <span class="symbol"><A NAME="ref_358_4">TRACE_TPUTS_First</A></span> : <b>constant</b> := 1; - <span class="symbol"><A NAME="ref_359_4">TRACE_TPUTS_Last</A></span> : <b>constant</b> := 1; - <span class="symbol"><A NAME="ref_360_4">TRACE_UPDATE_First</A></span> : <b>constant</b> := 2; - <span class="symbol"><A NAME="ref_361_4">TRACE_UPDATE_Last</A></span> : <b>constant</b> := 2; - <span class="symbol"><A NAME="ref_362_4">TRACE_MOVE_First</A></span> : <b>constant</b> := 3; - <span class="symbol"><A NAME="ref_363_4">TRACE_MOVE_Last</A></span> : <b>constant</b> := 3; - <span class="symbol"><A NAME="ref_364_4">TRACE_CHARPUT_First</A></span> : <b>constant</b> := 4; - <span class="symbol"><A NAME="ref_365_4">TRACE_CHARPUT_Last</A></span> : <b>constant</b> := 4; - <span class="symbol"><A NAME="ref_366_4">TRACE_CALLS_First</A></span> : <b>constant</b> := 5; - <span class="symbol"><A NAME="ref_367_4">TRACE_CALLS_Last</A></span> : <b>constant</b> := 5; - <span class="symbol"><A NAME="ref_368_4">TRACE_VIRTPUT_First</A></span> : <b>constant</b> := 6; - <span class="symbol"><A NAME="ref_369_4">TRACE_VIRTPUT_Last</A></span> : <b>constant</b> := 6; - <span class="symbol"><A NAME="ref_370_4">TRACE_IEVENT_First</A></span> : <b>constant</b> := 7; - <span class="symbol"><A NAME="ref_371_4">TRACE_IEVENT_Last</A></span> : <b>constant</b> := 7; - <span class="symbol"><A NAME="ref_372_4">TRACE_BITS_First</A></span> : <b>constant</b> := 8; - <span class="symbol"><A NAME="ref_373_4">TRACE_BITS_Last</A></span> : <b>constant</b> := 8; - <span class="symbol"><A NAME="ref_374_4">TRACE_ICALLS_First</A></span> : <b>constant</b> := 9; - <span class="symbol"><A NAME="ref_375_4">TRACE_ICALLS_Last</A></span> : <b>constant</b> := 9; - <span class="symbol"><A NAME="ref_376_4">TRACE_CCALLS_First</A></span> : <b>constant</b> := 10; - <span class="symbol"><A NAME="ref_377_4">TRACE_CCALLS_Last</A></span> : <b>constant</b> := 10; - <span class="symbol"><A NAME="ref_378_4">TRACE_DATABASE_First</A></span> : <b>constant</b> := 11; - <span class="symbol"><A NAME="ref_379_4">TRACE_DATABASE_Last</A></span> : <b>constant</b> := 11; - <span class="symbol"><A NAME="ref_380_4">TRACE_ATTRS_First</A></span> : <b>constant</b> := 12; - <span class="symbol"><A NAME="ref_381_4">TRACE_ATTRS_Last</A></span> : <b>constant</b> := 12; - <span class="symbol"><A NAME="ref_382_4">Trace_Size</A></span> : <b>constant</b> := 32; -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>; -</PRE></BODY></HTML> + <span class="symbol"><a name="ref_356_4">TRACE_TIMES_First</a></span> : <b>constant</b> := 0; + <span class="symbol"><a name="ref_357_4">TRACE_TIMES_Last</a></span> : <b>constant</b> := 0; + <span class="symbol"><a name="ref_358_4">TRACE_TPUTS_First</a></span> : <b>constant</b> := 1; + <span class="symbol"><a name="ref_359_4">TRACE_TPUTS_Last</a></span> : <b>constant</b> := 1; + <span class="symbol"><a name="ref_360_4">TRACE_UPDATE_First</a></span> : <b>constant</b> := 2; + <span class="symbol"><a name="ref_361_4">TRACE_UPDATE_Last</a></span> : <b>constant</b> := 2; + <span class="symbol"><a name="ref_362_4">TRACE_MOVE_First</a></span> : <b>constant</b> := 3; + <span class="symbol"><a name="ref_363_4">TRACE_MOVE_Last</a></span> : <b>constant</b> := 3; + <span class="symbol"><a name="ref_364_4">TRACE_CHARPUT_First</a></span> : <b>constant</b> := 4; + <span class="symbol"><a name="ref_365_4">TRACE_CHARPUT_Last</a></span> : <b>constant</b> := 4; + <span class="symbol"><a name="ref_366_4">TRACE_CALLS_First</a></span> : <b>constant</b> := 5; + <span class="symbol"><a name="ref_367_4">TRACE_CALLS_Last</a></span> : <b>constant</b> := 5; + <span class="symbol"><a name="ref_368_4">TRACE_VIRTPUT_First</a></span> : <b>constant</b> := 6; + <span class="symbol"><a name="ref_369_4">TRACE_VIRTPUT_Last</a></span> : <b>constant</b> := 6; + <span class="symbol"><a name="ref_370_4">TRACE_IEVENT_First</a></span> : <b>constant</b> := 7; + <span class="symbol"><a name="ref_371_4">TRACE_IEVENT_Last</a></span> : <b>constant</b> := 7; + <span class="symbol"><a name="ref_372_4">TRACE_BITS_First</a></span> : <b>constant</b> := 8; + <span class="symbol"><a name="ref_373_4">TRACE_BITS_Last</a></span> : <b>constant</b> := 8; + <span class="symbol"><a name="ref_374_4">TRACE_ICALLS_First</a></span> : <b>constant</b> := 9; + <span class="symbol"><a name="ref_375_4">TRACE_ICALLS_Last</a></span> : <b>constant</b> := 9; + <span class="symbol"><a name="ref_376_4">TRACE_CCALLS_First</a></span> : <b>constant</b> := 10; + <span class="symbol"><a name="ref_377_4">TRACE_CCALLS_Last</a></span> : <b>constant</b> := 10; + <span class="symbol"><a name="ref_378_4">TRACE_DATABASE_First</a></span> : <b>constant</b> := 11; + <span class="symbol"><a name="ref_379_4">TRACE_DATABASE_Last</a></span> : <b>constant</b> := 11; + <span class="symbol"><a name="ref_380_4">TRACE_ATTRS_First</a></span> : <b>constant</b> := 12; + <span class="symbol"><a name="ref_381_4">TRACE_ATTRS_Last</a></span> : <b>constant</b> := 12; + <span class="symbol"><a name="ref_382_4">Trace_Size</a></span> : <b>constant</b> := 32; +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>; +</pre></body></html> diff --git a/doc/html/ada/terminal_interface__ads.htm b/doc/html/ada/terminal_interface__ads.htm index 08b3879a5f25..6876bd0b9f8e 100644 --- a/doc/html/ada/terminal_interface__ads.htm +++ b/doc/html/ada/terminal_interface__ads.htm @@ -1,7 +1,7 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<TITLE>terminal_interface.ads</TITLE> +<html> +<head> +<title>terminal_interface.ads</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> *.comment { @@ -11,56 +11,56 @@ color: red; } </style> -</HEAD> -<BODY> -<HR><DIV style="text-align:center"><H1> File : terminal_interface.ads </H1></DIV><HR> -<PRE> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Terminal_Interface --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- S P E C --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Copyright 2020 Thomas E. Dickey --</EM></span> -<span class="comment"><EM>-- Copyright 1999-2003,2006 Free Software Foundation, Inc. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span> -<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span> -<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span> -<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span> -<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span> -<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span> -<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span> -<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span> -<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span> -<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span> -<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span> -<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span> -<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span> -<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span> -<span class="comment"><EM>-- --</EM></span> -<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span> -<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span> -<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span> -<span class="comment"><EM>-- authorization. --</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span> -<span class="comment"><EM>-- Version Control:</EM></span> -<span class="comment"><EM>-- @Revision: 1.15 @</EM></span> -<span class="comment"><EM>-- @Date: 2020/02/02 23:34:34 @</EM></span> -<span class="comment"><EM>-- Binding Version 01.00</EM></span> -<span class="comment"><EM>------------------------------------------------------------------------------</EM></span> -<b>package</b> <span class="symbol"><A NAME="ref_43_9">Terminal_Interface</A></span> <b>is</b> - <b>pragma</b> Pure (<A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>); -<span class="comment"><EM>--</EM></span> -<span class="comment"><EM>-- Everything is in the child units</EM></span> -<span class="comment"><EM>--</EM></span> -<b>end</b> <A HREF="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</A>; -</PRE></BODY></HTML> +</head> +<body> +<hr><div style="text-align:center"><h1> File : terminal_interface.ads </h1></div><hr> +<pre> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- <strong>GNAT</strong> ncurses Binding --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Terminal_Interface --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- S P E C --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey --</em></span> +<span class="comment"><em>-- Copyright 1999-2003,2006 Free Software Foundation, Inc. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a --</em></span> +<span class="comment"><em>-- copy of this software and associated documentation files (the --</em></span> +<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including --</em></span> +<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish, --</em></span> +<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell --</em></span> +<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is --</em></span> +<span class="comment"><em>-- furnished to do so, subject to the following conditions: --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- The above copyright notice and this permission notice shall be included --</em></span> +<span class="comment"><em>-- in all copies or substantial portions of the Software. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</em></span> +<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</em></span> +<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</em></span> +<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</em></span> +<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</em></span> +<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</em></span> +<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</em></span> +<span class="comment"><em>-- --</em></span> +<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright --</em></span> +<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the --</em></span> +<span class="comment"><em>-- sale, use or other dealings in this Software without prior written --</em></span> +<span class="comment"><em>-- authorization. --</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<span class="comment"><em>-- Author: Juergen Pfeifer, 1996</em></span> +<span class="comment"><em>-- Version Control:</em></span> +<span class="comment"><em>-- @Revision: 1.15 @</em></span> +<span class="comment"><em>-- @Date: 2020/02/02 23:34:34 @</em></span> +<span class="comment"><em>-- Binding Version 01.00</em></span> +<span class="comment"><em>------------------------------------------------------------------------------</em></span> +<b>package</b> <span class="symbol"><a name="ref_43_9">Terminal_Interface</a></span> <b>is</b> + <b>pragma</b> Pure (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>); +<span class="comment"><em>--</em></span> +<span class="comment"><em>-- Everything is in the child units</em></span> +<span class="comment"><em>--</em></span> +<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>; +</pre></body></html> diff --git a/doc/html/announce.html b/doc/html/announce.html index 699372019b83..2aa03cfab131 100644 --- a/doc/html/announce.html +++ b/doc/html/announce.html @@ -1,7 +1,7 @@ <!-- - $Id: announce.html,v 1.64 2020/10/19 08:18:48 tom Exp $ + $Id: announce.html,v 1.70 2024/04/27 18:38:45 tom Exp $ **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -29,13 +29,11 @@ **************************************************************************** --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> - <html> <head> <meta name="generator" content= - "HTML Tidy for HTML5 for Linux version 5.2.0"> - - <title>Announcing ncurses 6.2</title> + "HTML Tidy for HTML5 for Linux version 5.6.0"> + <title>Announcing ncurses 6.5</title> <link rel="author" href="mailto:bug-ncurses@gnu.org"> <meta http-equiv="Content-Type" content= "text/html; charset=us-ascii"> @@ -57,9 +55,8 @@ } </style> </head> - <body> - <h1 class="no-header">Announcing ncurses 6.2</h1> + <h1 class="no-header">Announcing ncurses 6.5</h1> <h2><a name="h2-overview" id="h2-overview">Overview</a></h2> @@ -103,38 +100,33 @@ including</p> <ul> - <li><a href= - "https://invisible-island.net/ncurses/man/captoinfo.1m.html"><span class="part-name"> - captoinfo</span></a>, a termcap conversion tool</li> + <li><a href="https://invisible-island.net/ncurses/man/captoinfo.1m.html"><span class= + "part-name">captoinfo</span></a>, a termcap conversion + tool</li> - <li><a href= - "https://invisible-island.net/ncurses/man/clear.1.html"><span class="part-name"> - clear</span></a>, utility for clearing the screen</li> + <li><a href="https://invisible-island.net/ncurses/man/clear.1.html"><span class= + "part-name">clear</span></a>, utility for clearing the + screen</li> - <li><a href= - "https://invisible-island.net/ncurses/man/infocmp.1m.html"><span class="part-name"> - infocmp</span></a>, the terminfo decompiler</li> + <li><a href="https://invisible-island.net/ncurses/man/infocmp.1m.html"><span class= + "part-name">infocmp</span></a>, the terminfo decompiler</li> - <li><a href= - "https://invisible-island.net/ncurses/man/tabs.1.html"><span class="part-name"> - tabs</span></a>, set tabs on a terminal</li> + <li><a href="https://invisible-island.net/ncurses/man/tabs.1.html"><span class= + "part-name">tabs</span></a>, set tabs on a terminal</li> - <li><a href= - "https://invisible-island.net/ncurses/man/tic.1m.html"><span class="part-name"> - tic</span></a>, the terminfo compiler</li> + <li><a href="https://invisible-island.net/ncurses/man/tic.1m.html"><span class= + "part-name">tic</span></a>, the terminfo compiler</li> - <li><a href= - "https://invisible-island.net/ncurses/man/toe.1m.html"><span class="part-name"> - toe</span></a>, list (table of) terminfo entries</li> + <li><a href="https://invisible-island.net/ncurses/man/toe.1m.html"><span class= + "part-name">toe</span></a>, list (table of) terminfo + entries</li> - <li><a href= - "https://invisible-island.net/ncurses/man/tput.1.html"><span class="part-name"> - tput</span></a>, utility for retrieving terminal capabilities - in shell scripts</li> + <li><a href="https://invisible-island.net/ncurses/man/tput.1.html"><span class= + "part-name">tput</span></a>, utility for retrieving terminal + capabilities in shell scripts</li> - <li><a href= - "https://invisible-island.net/ncurses/man/tset.1.html"><span class="part-name"> - tset</span></a>, to initialize the terminal</li> + <li><a href="https://invisible-island.net/ncurses/man/tset.1.html"><span class= + "part-name">tset</span></a>, to initialize the terminal</li> </ul> <p>Full manual pages are provided for the library and tools.</p> @@ -145,28 +137,27 @@ <blockquote> <p><a href= - "ftp://ftp.invisible-island.net/ncurses/">ftp://ftp.invisible-island.net/ncurses/</a> + "https://invisible-island.net/archives/ncurses/">https://invisible-island.net/archives/ncurses/</a> or<br> <a href= "https://invisible-mirror.net/archives/ncurses/">https://invisible-mirror.net/archives/ncurses/</a> .</p> </blockquote> - <p>It is also available via anonymous FTP at the GNU distribution - site</p> + <p>It is also available at the GNU distribution site</p> <blockquote> <p><a href= - "ftp://ftp.gnu.org/gnu/ncurses/">ftp://ftp.gnu.org/gnu/ncurses/</a> .</p> + "https://ftp.gnu.org/gnu/ncurses/">https://ftp.gnu.org/gnu/ncurses/</a> .</p> </blockquote> <h2><a name="h2-release-notes" id="h2-release-notes">Release Notes</a></h2> <p>These notes are for <span class="main-name">ncurses</span> - 6.2, released <strong>February 12, 2020</strong>.</p> + 6.5, released <strong>April 27, 2024</strong>.</p> <p>This release is designed to be source-compatible with - <span class="main-name">ncurses</span> 5.0 through 6.1; providing + <span class="main-name">ncurses</span> 5.0 through 6.4; providing extensions to the application binary interface (ABI). Although the source can still be configured to support the <span class= "main-name">ncurses</span> 5 ABI, the reason for the release is @@ -178,303 +169,181 @@ this announcement.</p> <p>The most <a href="#h3-bug-fixes">important - bug-fixes/improvements</a> dealt with user-defined capabilities - in terminal descriptions. The release notes also mention some - other bug-fixes, but are focused on new features and improvements - to existing features since <span class="main-name">ncurses</span> - 6.1 release.</p> + bug-fixes/improvements</a> dealt with robustness issues. The + release notes also mention some other bug-fixes, but are focused + on new features and improvements to existing features since + <span class="main-name">ncurses</span> 6.4 release.</p> <h3><a name="h3-library" id="h3-library">Library improvements</a></h3> <h4><a name="h4-new-library" id="h4-new-library">New features</a></h4> - <p>There are several new features:</p> + <p>These are new features:</p> <ul> <li> - <p><a href= - "https://invisible-island.net/ncurses/man/form_field_opts.3x.html"> - O_EDGE_INSERT_STAY</a> tells the form library to optionally - delay cursor movement on a field edge/boundary</p> - </li> - - <li> - <p><a href= - "https://invisible-island.net/ncurses/man/form_field_opts.3x.html"> - O_INPUT_FIELD</a> extension to form library allows a dynamic - field to shrink if the new limit is smaller than the current - field size.</p> - </li> - - <li> - <p>added <a href= - "https://invisible-island.net/ncurses/man/curs_memleaks.3x.html"> - exit_curses</a> and <a href= - "https://invisible-island.net/ncurses/man/curs_memleaks.3x.html"> - exit_terminfo</a> to replace internal symbols for - leak-checking.</p> - </li> + <p>The low-level terminfo and termcap interfaces are used + both by the higher-level curses library, as well as by many + applications.</p> - <li> - <p>added <a href= - "https://invisible-island.net/ncurses/man/curs_trace.3x.html#h3-Functions"> - curses_trace</a>, to replace trace().</p> - </li> - </ul> + <p>The functions which convert parameterized terminal + capability strings for output to the terminal + (<code>tiparm</code> and <code>tparm</code>) analyze the + capability string to determine which parameters are strings + (i.e., addresses), versus numbers (not addresses).</p> - <p>Additionally, to improve performance other changes (and - extensions) are provided in this release:</p> - - <ul> - <li> - <p>mouse decoding now handles shift/control/alt logic when - decoding xterm's 1006 mode</p> - </li> - - <li> - <p>ncurses now defines a limit for <a href= - "https://invisible-island.net/ncurses/man/curs_getstr.3x.html"> - wgetnstr</a>, <a href= - "https://invisible-island.net/ncurses/man/curs_get_wstr.3x.html"> - wgetn_wstr</a> when length is negative or “too - large”.</p> - </li> + <p>The library's analysis of a capability string may differ + from the calling application's design if environment + variables are used to point to an invalid terminal database. + This is a longstanding problem with <em>all</em> + implementations of terminfo, dating from the early 1980s.</p> - <li>reordered loop-limit checks in <a href= - "https://invisible-island.net/ncurses/man/curs_insstr.3x.html">winsnstr</a> - in case the string has no terminating null and only the number - of characters is used.</li> + <p>Two new functions address this problem: by providing a + function which allows the calling application to tell ncurses + how many string-parameters to expect:</p> - <li> - <p>there is now no buffer-size limit when reading the - <a href="https://invisible-island.net/ncurses/man/ncurses.3x.html#h3-TERMCAP"> - <tt>$TERMCAP</tt></a> variable.</p> - </li> - - <li> - <p>the <a href= - "https://invisible-island.net/ncurses/man/ncurses.3x.html#h3-TERMCAP"> - <tt>$TERMCAP</tt></a> variable may be interpreted as a - fallback to a terminfo entry</p> - </li> + <ul> + <li><code>tiscan_s</code> helps applications check + formatting capabilities that would be passed to + <code>tiparm_s</code>.</li> - <li> - <p><a href= - "https://invisible-island.net/ncurses/man/curs_terminfo.3x.html#h3-Output-Functions"> - <tt>mvcur</tt></a> now decides whether to use hard-tabs, - using <strong><tt>xt</tt></strong>, - <strong><tt>tbc</tt></strong> and - <strong><tt>hts</tt></strong> as clues.</p> + <li><code>tiparm_s</code> provides applications a way to + tell ncurses what the expected parameters are for a + capability.</li> + </ul> </li> <li> - <p>extended colors are improved by modifying an internal call - to <a href= - "https://invisible-island.net/ncurses/man/curs_terminfo.3x.html#h3-Output-Functions"> - <tt>vid_puts</tt></a> to pass extended color pairs e.g., from - <tt>tty_update.c</tt> and <tt>lib_mvcur.c</tt></p> - </li> + <p>The ncurses library supports a compile-time feature + (enabled with the configure <code>--enable-check-size</code> + option) which simplifies initialization with terminals which + do not negotiate window (screen) size. This is done in + <code>setupterm</code>, by providing for using ANSI + cursor-position report (in user6/user7 terminfo capabilities) + to obtain the screen size if neither environment variables or + ioctl is used.</p> - <li> - <p id="getenv-fixes">the initialization functions now avoid - relying upon persistent data for the result from <a href= - "#getenv-check"><tt>getenv</tt></a></p> + <p>The ncurses test-program with options + “<code>-E -T</code>” demonstrates this + feature.</p> </li> - <li> - <p>scrolling is improved:</p> - - <ul> - <li>a limit check in <tt>newline_forces_scroll</tt> handles - the case where the row is inside scroll-margins, but not at - the end.</li> - - <li> - <p>improved loop limits in <tt>_nc_scroll_window</tt> - handle a case where the scrolled data is a pad which is - taller than the window.</p> - </li> - </ul> - </li> + <li>add functions to query tty-flags in + <code>SCREEN</code></li> </ul> + <p>This release drops compatibility with obsolete versions of + <a href="https://invisible-island.net/ncurses/tack/">tack</a>, e.g., pre-1.08</p> + <h4><a name="h4-fixes-library" id="h4-fixes-library">Other improvements</a></h4> - <p>These are revised features:</p> + <p>These are improvements to existing features:</p> <ul> <li> - <p>used “<tt>const</tt>” in some prototypes - rather than <tt>NCURSES_CONST</tt> where X/Open Curses was - updated to do this, e.g., <tt>wscanw</tt>, <tt>newterm</tt>, - the terminfo interface. Also use “<tt>const</tt>” - for consistency in the termcap interface, which was withdrawn - by X/Open Curses in Issue 5 (2007). As of Issue 7, X/Open - Curses still lacks “<tt>const</tt>” for certain - return values, e.g., <a href= - "https://invisible-island.net/ncurses/man/curs_util.3x.html#h3-keyname_key_name"> - keyname</a>.</p> - </li> - - <li> - <p>modified <a href= - "https://invisible-island.net/ncurses/man/curs_bkgd.3x.html#h3-bkgd"> - <tt>wbkgd</tt></a> and <a href= - "https://invisible-island.net/ncurses/man/curs_bkgrnd.3x.html#h3-bkgrnd"> - <tt>wbkgrnd</tt></a> to improve compatibility with SVr4 - curses, changing the way the window rendition is updated when - the background character is modified</p> - </li> - - <li> - <p>improved terminfo write/read by modifying the fourth item - of the extended header to denote the number of valid strings - in the extended string table (see <a href= - "https://invisible-island.net/ncurses/man/term.5.html#h3-EXTENDED-STORAGE-FORMAT"> - term(5)</a>).</p> - </li> - - <li> - <p>modified the initialization checks for mouse so that the - <a href= - "/ncurses/terminfo.src.html#tic-xterm_sm_1006"><tt>xterm+sm+1006</tt></a> - block will work with terminal descriptions not mentioning - <em>xterm</em>.</p> - </li> - </ul> + <p>In addition to the new, safer function + <code>tiparm_s</code>, ncurses adds checks to make the older + <code>tiparm</code>, <code>tparm</code> and + <code>tgoto</code> functions safer:</p> - <p>These were done to limit or ultimately deprecate features:</p> + <ul> + <li> + <p>the terminfo functions <code>tiparm</code> and + <code>tparm</code> ensure that the capability string + comes from the terminal description which ncurses loads, + rather than from random data which the application + happens to have.</p> + </li> - <ul> - <li> - <p>deprecated <a href= - "https://invisible-island.net/ncurses/NEWS.html#t970831">safe-sprintf</a>, - since the <tt>vsnprintf</tt> function, which does what was - needed, was standardized long ago.</p> - </li> + <li> + <p>the <code>tgoto</code> function disallows capabilities + which its analysis shows will attempt to use string + parameters.</p> + </li> - <li> - <p>marked <a href= - "https://invisible-island.net/ncurses/man/curs_printw.3x.html#h2-PORTABILITY"> - <tt>vwprintw</tt></a> and <tt>vwscanw</tt> as deprecated; - recommend using <a href= - "https://invisible-island.net/ncurses/man/curs_printw.3x.html"> - <tt>vw_printw</tt></a> and <tt>vw_scanw</tt>, - respectively.</p> + <li> + <p>ncurses uses internal functions which correspond to + <code>tiparm</code>, and <code>tgoto</code> which ensure + that the capability strings which are passed to these + functions come from the loaded terminal description.</p> + </li> + </ul> </li> <li> - <p>added deprecation warnings for internal functions called - by older versions of <a href= - "https://invisible-island.net/ncurses/tack.html">tack</a>.</p> + <p>improve check in <code>lib_tparm.c</code>, ensuring that a + char* fits into a <code>TPARM_ARG</code></p> </li> <li> - <p>removed unused <tt>_nc_import_termtype2</tt> function.</p> + <p>modify <code>_nc_syserr_abort</code> to use + <code>_nc_env_access</code>, rather than only checking root + uid</p> </li> - </ul> - - <p>These are improvements to existing features:</p> - <ul> <li> - <p>check parameter of <a href= - "https://invisible-island.net/ncurses/man/curs_threads.3x.html"> - set_escdelay</a>, return ERR if negative.</p> + <p>improve thread lock in <code>lib_trace.c</code></p> </li> <li> - <p>check parameter of <a href= - "https://invisible-island.net/ncurses/man/curs_threads.3x.html"> - set_tabsize</a>, return ERR if not greater than zero</p> + <p>modify <code>flushinp</code> to use file descriptors in + <code>SCREEN</code>, rather than from <code>TERMINAL</code>, + and check if they are for a terminal, like SVr4</p> </li> <li> - <p>correct a status-check in _nc_read_tic_entry() so that if - reading a hex/b64 <a href= - "https://invisible-island.net/ncurses/man/ncurses.3x.html#h3-TERMINFO"> - <tt>$TERMINFO</tt></a>, and the <a href= - "https://invisible-island.net/ncurses/man/ncurses.3x.html#h3-TERM"> - <tt>$TERM</tt></a> does not match, fall-through to the - compiled-in search list.</p> + <p>modify <code>mcprint</code> to use file descriptor in + <code>SCREEN</code>, for consistency</p> </li> <li> - <p>amend check for <a href= - "https://invisible-island.net/ncurses/man/terminfo.5.html#h3-Predefined-Capabilities"> - <tt>repeat_char</tt></a> to handle a case where setlocale() - was called after <a href= - "https://invisible-island.net/ncurses/man/curs_initscr.3x.html"> - <tt>initscr</tt></a></p> + <p>modify internal function <code>_nc_read_file_entry</code> + to show relevant filename in warnings</p> </li> <li> - <p>move macro for <a href= - "https://invisible-island.net/ncurses/man/curs_touch.3x.html"> - <tt>is_linetouched</tt></a> inside - <strong><tt>NCURSES_NOMACROS</tt></strong> - <em><tt>ifndef</tt></em>.</p> + <p>improve checks in internal function + <code>convert_string</code> for corrupt terminfo entry</p> </li> <li> - <p>use <tt>_nc_copy_termtype2</tt> rather than direct - assignment in <a href= - "https://invisible-island.net/ncurses/man/curs_terminfo.3x.html#h3-Initialization"> - setupterm</a>, in case it is called repeatedly using fallback - terminfo descriptions</p> + <p>review/improve handling of out-of-memory conditions</p> </li> <li> - <p>improve workaround for Solaris wcwidth versus line-drawing - characters</p> + <p>limit delays to 30 seconds, i.e., padding delays in + terminfo, as well as <code>napms</code> and + <code>delay_output</code> functions</p> </li> <li> - <p>add checks in <a href= - "https://invisible-island.net/ncurses/man/resizeterm.3x.html"> - <tt>repair_subwindows</tt></a> to keep the current position - and scroll-margins inside the resized subwindow.</p> + <p>fix reallocation loop for <code>vsnprintf</code> in + <code>_nc_sprintf_string</code> by copying the va_list + variable</p> </li> <li> - <p>correct a buffer-limit in <tt>write_entry.c</tt> for - systems that use caseless filenames.</p> + <p>modify <code>delscreen</code> to limit the windows which + it creates to just those associated with the screen</p> </li> <li> - <p>improved build-time utility <em>report_offsets</em>:</p> - - <ul> - <li> - <p>add categories, e.g., "w" for wide-character, "t" for - threads to make the report more readable. Reorganized the - structures reported to make the categories more - apparent.</p> - </li> - - <li> - <p>add <tt>NCURSES_GLOBALS</tt> and - <tt>NCURSES_PRESCREEN</tt> to report to show how similar - the different <em>libtinfo</em> configurations are.</p> - </li> - </ul> + <p>modify <code>endwin</code> to return an error if it is + called again without an intervening screen update</p> </li> <li> - <p>modified some header files to ensure that those include - necessary files except for the previously-documented - cases</p> + <p>modify <code>wenclose</code> to handle pads</p> </li> <li> - <p>added some traces in initialization to show whether a - fallback entry is used.</p> + <p>eliminate use of <code>PATH_MAX</code> in + <code>lib_trace.c</code></p> </li> <li> - <p>made minor optimization to reduce calls to - _nc_reserve_pairs</p> + <p>provide for any <code>CCHARW_MAX</code> greater than 1</p> </li> </ul> @@ -482,38 +351,32 @@ <ul> <li> - <p>fix a special case in <tt>PutAttrChar</tt> where a cell is - marked as alternate-character set, but the terminal does not - actually support the given graphic character. This would - happen in an older terminal such as <em>vt52</em>, which - lacks most line-drawing capability.</p> + <p>correct loop termination condition in + <code>waddnstr</code> and <code>waddnwstr</code></p> </li> <li> - <p>corrected flag for "seq" method of db 1.8.5 interface, - needed by toe on some of the BSDs.</p> + <p>improve parsing in internal function + <code>_nc_msec_cost</code>, allowing a single decimal + point</p> </li> <li> - <p>modify comparison in make_hash.c to correct a special case - in collision handling for Caps-hpux11</p> + <p>amend parameter check for entire string versus specific + length in <code>winsnstr</code> and <code>wins_nwstr</code> + to match Solaris; make similar correction to + <code>wins_nwstr</code></p> </li> <li> - <p>add extended_slk_color{,_sp} symbols to the appropriate - package/*.{map,sym} files</p> + <p>correct internal function <code>wadd_wch_literal</code> + when adding a non-spacing character to a double-width + character</p> </li> <li> - <p>modify lib_setup to avoid calling pthread_self() without - first verifying that the address is valid, i.e., for weak - symbols</p> - </li> - - <li> - <p>add a couple of broken-linker symbols to the list of - versioned symbols to help with link-time optimization versus - weak symbols.</p> + <p>correct definition of <code>Charable</code> macro for + non-wide ncurses library .</p> </li> </ul> @@ -521,467 +384,303 @@ improvements</a></h3> <p id="h4-utilities">Several improvements were made to the - utility programs:</p> + utility programs. Some were done to make the <code>infocmp</code> + option “<tt>-u</tt>” option help refactor the + terminal database.</p> <dl> - <dt><span class="part-name">clear</span> + <dt><span class="part-name"><a href= + "https://invisible-island.net/ncurses/man/infocmp.1m.html">infocmp</a></span> </dt> <dd> <ul> - <li>improved logic for clearing with the <em>E3</em> - extension, in case the terminal scrolls content onto its - saved-lines before actually clearing the display, by - clearing the saved-lines after clearing the display</li> - </ul> - </dd> + <li> + <p>add limit checks for processing extended capabilities + with the “<code>-u</code>” option</p> + </li> - <dt><span class="part-name">infocmp</span> - </dt> + <li> + <p>correct initial alignment of extended capabilities, so + that the “<code>-u</code>” option can be used + for more than two terminal types</p> + </li> - <dd> - <ul> - <li>omit filtering of “<tt>OTxx</tt>” names - which are used for obsolete capabilities, when the output - is sorted by long-names. This change helps when making a - table of the short/long capability names.</li> + <li> + <p>modify “<code>-u</code>” option to not + report cancels for strings which were already cancelled + in a use'd chunk.</p> + </li> + + <li> + <p>correct an assignment “<code>-u</code>” + for detecting if a boolean is unset in a base entry and + set in a use'd chunk, i.e., if it was cancelled.</p> + </li> </ul> </dd> - <dt><span class="part-name">tic</span> + <dt><span class="part-name"><a href= + "https://invisible-island.net/ncurses/man/tic.1m.html">tic</a></span> </dt> <dd> <ul> - <li>added check for consistent alternate character set - capabilities.</li> - - <li>added check for paired <tt>indn</tt>/<tt>rin</tt>.</li> - - <li>added check for terminals with <tt>parm_dch</tt> vs - <tt>parm_ich</tt>.</li> - - <li>added check for the case where - <tt>setf</tt>/<tt>setb</tt> are given using different - strings, but provide identical results to - <tt>setaf</tt>/<tt>setab</tt>.</li> - - <li>corrected check for <tt>ich1</tt>.</li> + <li> + <p>correct limit-check when dumping tc/use clause via + “<code>-I</code>”</p> + </li> - <li>changed a too-large terminal entry from a fatal error - to a warning.</li> - </ul> - </dd> + <li> + <p>check return value of <code>_nc_save_str</code>, in + special case where extended capabilities are processed + but the terminal description was not initialized</p> + </li> - <dt><span class="part-name">toe</span> - </dt> + <li> + <p>modify check for multiply defined aliases to report + problems within the current runtime rather than for + conflicts with pre-existing terminal descriptions.</p> + </li> - <dd> - <ul> - <li>ignores any hex/b64 <tt>$TERMINFO</tt> value in the - list of terminfo databases.</li> + <li> + <p>disallow using <code>$TERMINFO</code> or + <code>$HOME/.terminfo</code> when + “<code>-o</code>” option is used</p> + </li> </ul> </dd> - <dt><span class="part-name">tset</span> - </dt> + <dt><span class="part-name"><a href= + "https://invisible-island.net/ncurses/man/tput.1.html">tput</a></span> and <span class= + "part-name"><a href= + "https://invisible-island.net/ncurses/man/tset.1.html">tset</a></span></dt> <dd> <ul> - <li>replace check in <span class="part-name">reset</span> - command for obsolete “<tt>pt</tt>” capability - using <tt>tbc</tt> and <tt>hts</tt> capabilities as - clues</li> - - <li>modify <span class="part-name">reset</span> to allow - for tabstops at intervals other than 8.</li> - - <li>change <span class="part-name">reset</span>'s behavior - for margins to simply clear soft-margins if possible, - rather than clearing and then setting them according to the - terminal's width.</li> - </ul> - </dd> + <li> + <p>add “<code>-v</code>” option to tput, to + show warnings</p> + </li> - <dt><span class="part-name">tput</span> - </dt> + <li> + <p>modify <em>reset</em> command to avoid altering clocal + if the terminal uses a modem</p> + </li> - <dd> - <ul> - <li>add “<tt>x</tt>” to <tt>getopt</tt> string - so that “<tt>tput -x clear</tt>” - works.</li> + <li> + <p>modify <em>reset</em> feature to avoid 1-second sleep + if running in a pseudo-terminal</p> + </li> </ul> </dd> </dl> - <p>Several changes were made to the generated ncurses*config - scripts and the analogous “<tt>.pc</tt>” files to - reduce differences between the configurations they report:</p> - - <ul> - <li> - <p>modified the ncurse*-config and pc-files to more closely - match for the <tt>-I</tt> and <tt>-l</tt> options.</p> - </li> - - <li> - <p>filtered out linker-specs from the <tt>--libs</tt> - report.</p> - </li> - - <li> - <p>amended the ncurses*-config and pc-files to take into - account the rpath hack which differed between those - files.</p> - </li> - - <li> - <p>modified generated ncurses*config and ncurses.pc, - ncursesw.pc, etc., to list helper libraries such as gpm for - static linking.</p> - </li> - </ul> - <h4><a name="h4-examples" id="h4-examples">Examples</a></h4> <p>Along with the library and utilities, improvements were made to the <a href= - "https://invisible-island.net/ncurses/ncurses-examples.html">ncurses-examples</a>. - Most of this activity aimed at improving the test-packages. A few - changes are more generally useful, e.g., for the main ncurses - test-program, and for analyzing traces using the - <em>tracemunch</em> script:</p> + "https://invisible-island.net/ncurses/ncurses-examples.html">ncurses-examples</a>:</p> <ul> <li> - <p>improve recovery from error when reading command-character - in <tt>test/ncurses.c</tt>, showing the relevant error - message and not exiting on EINTR.</p> - </li> - - <li> - <p>improve <em>tracemunch</em>, by keeping track of - <tt>TERMINAL*</tt> values, and if tracing was first turned on - after initialization, attempt to show distinct screen, window - and terminal names anyway.</p> + <p>modify <code>test_tparm</code> to account for extended + capabilities</p> </li> <li> - <p>modify <em>tracemunch</em> to accept filename parameters - in addition to use as a pipe/filter.</p> + <p>corrected mouse mask in <code>test/testcurs.c</code></p> </li> <li> - <p>update <em>tracemunch</em> to work with <em>perl - 5.26.2</em>, which changed the rules for escaping regular - expressions.</p> + <p>modify <code>test/clip_printw.c</code> to optionally test + non-wrapped updates</p> </li> <li> - <p>add some checks in <em>tracemunch</em> for undefined - variables.</p> + <p>modify <code>test/test_mouse.c</code> to use curses api + for raw/noraw</p> </li> <li> - <p>modify <tt>TurnOn</tt>/<tt>TurnOff</tt> macros (in - lib_vidattr.c and lib_vid_attr.c) to avoid expansion of - “<tt>CUR</tt>” in trace.</p> + <p>modify <code>test/clip_printw.c</code> to optionally test + non-wrapped updates</p> </li> </ul> - <p>There are other new demo/test programs and reusable - examples:</p> + <p>There is one new demo/test programs:</p> <dl> - <dt><span class="part-name">color_content</span> + <dt><span class="part-name"><em>test/test_endwin.c</em></span> </dt> - <dd>Demonstrate the <tt>color_content</tt> and - <tt>extended_color_content</tt> functions.</dd> - - <dt><span class="part-name">demo_tabs</span> - </dt> - - <dd>A simple demo of tabs in curses.</dd> - - <dt><span class="part-name">dump_window</span> - </dt> - - <dd>A portable curses screen-dump, used to compare ncurses - screen contents with Solaris.</dd> - - <dt><span class="part-name">pair_content</span> - </dt> - - <dd>Demonstrate the <tt>pair_content</tt> and - <tt>extended_pair_content</tt> functions.</dd> - - <dt><span class="part-name">report_hashing</span> - </dt> - - <dd>Check hash-tables used for terminfo and termcap names.</dd> - - <dt><span class="part-name">parse_rgb</span> - </dt> - - <dd>Sample implementation of the ncurses RGB extension from - <a href= - "https://invisible-island.net/ncurses/man/user_caps.5.html">user_caps.5</a>, - used in <em>picsmap</em> and <em>savescreen</em> programs.</dd> + <dd> + <p>This program shows the return-status from + <code>endwin</code> with different combinations of + <code>endwin</code> (repeated), <code>initscr</code>, + <code>newterm</code>.</p> + </dd> </dl> - <p>A variety of improvements were made to existing programs, both - new features as well as options added to make the set of programs - more consistent.</p> + <h3><a name="h3-database" id="h3-database">Terminal database</a></h3> + + <p>There are several new terminal descriptions:</p> <ul> <li> - <p>add “<tt>-l</tt>” option to test/background, - to dump screen contents in a form that lets different curses - implementations be compared.</p> + <p><a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-ansi_apparrows"><tt>ansi+apparrows</tt></a></p> </li> <li> - <p>add “<tt>@</tt>” command to test/ncurses - F-test, to allow rapid jump to different character pages.</p> + <p><a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-contour"><tt>contour</tt></a></p> </li> <li> - <p>added enum, regex examples to test/demo_forms</p> + <p><a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-linux_kbs"><tt>linux+kbs</tt></a> + for terminals which imitate xterm's behavior with Linux</p> </li> <li> - <p>amend Scaled256() macro in test/picsmap.c to cover the - full range 0..1000</p> + <p><a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-rio"><tt>rio</tt></a>, + <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-rio-direct"><tt>rio-direct</tt></a></p> </li> <li> - <p>corrected pathname used in Ada95 sample programs for - <tt>explain.txt</tt>, to work with test-packages, and used an - awk script to split the resulting pathname when it would be - too long for a single line.</p> + <p><a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-mostlike"><tt>mostlike</tt></a></p> </li> <li> - <p>ignore interrupted system-call in test/ncurses's - command-line, e.g., if the terminal were resized.</p> + <p><a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-ms-vt100-16color"><tt>ms-vt100-16color</tt></a>, + <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-winconsole"><tt>winconsole</tt></a></p> </li> <li> - <p>improved ifdef's for <tt>TABSIZE</tt> variable, to help - with AIX/HPUX ports.</p> + <p><a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-vt100_noapp"><tt>vt100+noapp</tt></a>, + <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-vt100_noapp_pc"><tt>vt100+noapp+pc</tt></a>, + <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm_app_pc"><tt>xterm+app+pc</tt></a>, + <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm_decedit"><tt>xterm+decedit</tt></a> + from <a href="https://invisible-island.net/xterm/xterm.log.html#xterm_389">xterm + #389</a></p> </li> - </ul> - - <h3><a name="h3-database" id="h3-database">Terminal database</a></h3> - - <p>There are several new terminal descriptions:</p> - - <blockquote style="word-break:keep-all"> - <p><tt>alacritty</tt>, <tt>domterm</tt>, <tt>kitty</tt>, - <tt>mintty</tt>, <tt>mintty-direct</tt>, <tt>ms-terminal</tt>, - <tt>n7900</tt>, <tt>nsterm-build309</tt>, - <tt>nsterm-direct</tt>, <tt>screen5</tt>, <tt>ti703</tt>, - <tt>ti707</tt>, <tt>ti703-w</tt>, <tt>ti707-w</tt> - <tt>vscode</tt>, <tt>vscode-direct</tt>, <tt>xterm-mono</tt>, - <tt>xterm.js</tt></p> - </blockquote> - <p>There are many changes to existing terminal descriptions. Some - were updates to several descriptions:</p> - - <ul> - <li>use <a href= - "/ncurses/terminfo.src.html#tic-ansi_rep"><tt>ansi+rep</tt></a> - in a dozen places</li> - - <li>add rs1 to konsole, mlterm</li> - - <li>improve several flash capabilities with trailing mandatory - delays</li> - - <li>drop <tt>ich1</tt> from <tt>rxvt-basic</tt>, <tt>Eterm</tt> - and <tt>mlterm</tt> to improve compatibility with old - non-curses programs</li> - - <li>add/use <a href= - "/ncurses/terminfo.src.html#tic-xterm_keypad"><tt>xterm+keypad</tt></a> - in <tt>xterm-new</tt></li> - - <li>use <a href= - "/ncurses/terminfo.src.html#tic-xterm_sl-twm"><tt>xterm+sl-twm</tt></a> - for consistency, nine places</li> + <li> + <p><a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-putty_cursor"><tt>putty+cursor</tt></a> + to reflect amending of modified cursor-keys in 2021</p> + </li> - <li>improve <em>xm</em> example in <a href= - "/ncurses/terminfo.src.html#tic-xterm_x11mouse">xterm+x11mouse</a> - and <a href= - "/ncurses/terminfo.src.html#tic-xterm_sm_1006">xterm+sm_1006</a>.</li> + <li> + <p><a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-wezterm"><tt>wezterm</tt></a></p> + </li> </ul> - <p>while others affected specific descriptions. These were - retested, to take into account changes by their developers:</p> - - <blockquote> - <p><tt>terminator</tt>, <tt>st</tt></p> - </blockquote> - - <p>while these are specific fixes based on reviewing - documentation, user reports, or warnings from <span class= - "part-name">tic</span>:</p> - - <dl> - <dt><a href= - "/ncurses/terminfo.src.html#tic-adds200">adds200</a>:</dt> - - <dd> - <ul> - <li>fix typo</li> - </ul> - </dd> - - <dt><a href= - "/ncurses/terminfo.src.html#tic-gnome-256color">gnome-256color</a> - </dt> - - <dd> - <ul> - <li>base entry on "gnome", not "vte", for consistency</li> - </ul> - </dd> - - <dt><a href= - "/ncurses/terminfo.src.html#tic-interix">interix</a> - </dt> - - <dd> - <ul> - <li>trim unnecessary setf/setb</li> - </ul> - </dd> - - <dt><a href= - "/ncurses/terminfo.src.html#tic-linux-16color">linux-16color</a> - </dt> - - <dd> - <ul> - <li>accommodate <a href= - "https://lists.gnu.org/archive/html/bug-ncurses/2019-10/msg00061.html"> - Linux console driver</a> incompatibility introduced in - early 2018</li> - </ul> - </dd> - - <dt><a href= - "/ncurses/terminfo.src.html#tic-nsterm-256color">nsterm-256color</a>:</dt> - - <dd> - <ul> - <li>add nsterm-build309 to replace nsterm-256color, - assigning the latter as an alias of nsterm, to make mouse - work with nsterm-256color</li> - </ul> - </dd> - - <dt><a href= - "/ncurses/terminfo.src.html#tic-regent40">regent40</a>:</dt> - - <dd> - <ul> - <li>renumber function-keys to match manual</li> - </ul> - </dd> - - <dt><a href= - "/ncurses/terminfo.src.html#tic-regent60">regent60</a>:</dt> - - <dd> - <ul> - <li>add cd (clr_eos)</li> - - <li>corrected acsc</li> - - <li>add shifted function-keys</li> - </ul> - </dd> - - <dt><a href= - "/ncurses/terminfo.src.html#tic-tvi950">tvi950</a>:</dt> - - <dd> - <ul> - <li>added function-key definitions to agree with Televideo - 950 manual</li> - - <li>corrected acsc</li> + <p>There are many changes to existing terminal descriptions. Some + were updates to several descriptions, using the + <code>infocmp</code> “<code>-u</code>” option in a + script to determine which <em>building-block</em> entries could + be used to replace multiple capability settings (and trim + redundant information).</p> - <li>remove bogus kf0</li> + <p>Other changes include:</p> - <li>add bel</li> - </ul> - </dd> + <ul> + <li> + <p><a href= + "https://invisible-island.net/ncurses/terminfo.src.html#toc-_X_T_E_R_M__Extensions_">document</a> + XF, kxIN and kxOUT</p> + </li> - <dt><a href= - "/ncurses/terminfo.src.html#tic-tvi955">tvi955</a>:</dt> + <li> + <p>add note on <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-sun"><tt>sun</tt></a> + regarding wscons/cmdtool/shelltool</p> + </li> - <dd> - <ul> - <li>fix typo</li> - </ul> - </dd> + <li> + <p>remove DECCOLM+DECSCLM from <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-foot"><tt>foot</tt></a></p> + </li> - <dt><a href= - "/ncurses/terminfo.src.html#tic-vi200">vi200</a>:</dt> + <li> + <p>add xterm+focus to <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-foot_base"><tt>foot+base</tt></a></p> + </li> - <dd> - <ul> - <li>add acsc string, including right/down-arrow</li> - </ul> - </dd> + <li> + <p>add ecma+strikeout to <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-putty"><tt>putty</tt></a></p> + </li> - <dt><a href= - "/ncurses/terminfo.src.html#tic-wy50">wy50</a>:</dt> + <li> + <p>use CSI 3J in <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-vte-2017"><tt>vte-2017</tt></a></p> + </li> - <dd> - <ul> - <li>corrected acsc</li> - </ul> - </dd> + <li> + <p>use oldxterm+sm+1006 in <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-vte-2014"><tt>vte-2014</tt></a></p> + </li> - <dt><a href="/ncurses/terminfo.src.html#tic-wy50">wy50</a> and - <a href="/ncurses/terminfo.src.html#tic-wy60">wy60</a>:</dt> + <li> + <p>modify <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-xgterm"><tt>xgterm</tt></a> + to work around line-drawing bug</p> + </li> - <dd> - <ul> - <li>add shifted function-keys as kF1 to kF16</li> - </ul> - </dd> + <li> + <p>add xterm focus mode 1004 to <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm_focus"><tt>xterm+focus</tt></a> + as fe/fd capabilities, like vim.</p> + </li> - <dt><a href= - "/ncurses/terminfo.src.html#tic-xterm_x11hilite">xterm+x11hilite</a>:</dt> + <li> + <p>add xterm+focus to <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-alacritty_common"><tt>alacritty+common</tt></a></p> + </li> - <dd> - <ul> - <li>eliminate unused <em>p5</em> parameter.</li> - </ul> - </dd> - </dl> + <li> + <p>add XR/xr, to work with vim, and use RV/rv to denote DA2 + and its response</p> + </li> - <p>A few entries use extensions (user-defined terminal - capabilities):</p> + <li> + <p>add XF flag to <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm_focus"><tt>xterm+focus</tt></a> + so that termcap applications can be aware of terminals which + may support focus in/out</p> + </li> - <ul> - <li>use <a href= - "/ncurses/terminfo.src.html#tic-xterm_sm_1006"><tt>xterm+sm+1006</tt></a> - (aka “SGR 1006 mouse”) for konsole-base and - putty</li> + <li> + <p>use xterm+focus in <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm-p370"><tt>xterm-p370</tt></a> + and <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-tmux"><tt>tmux</tt></a></p> + </li> - <li>add <em><tt>Smol/Rmol</tt></em> user-defined capability to - <tt>tmux</tt> and <tt>vte-2018</tt></li> + <li> + <p>remove xterm+sm+1006 from <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-tmux"><tt>tmux</tt></a></p> + </li> - <li>add <em><tt>Smulx</tt></em> user-defined capability to - <tt>tmux</tt>, <tt>vte-2018</tt></li> + <li> + <p>NetBSD-related fixes for <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-x68k"><tt>x68k</tt></a> and + <a href= + "https://invisible-island.net/ncurses/terminfo.src.html#tic-wsvt25"><tt>wsvt25</tt></a></p> + </li> </ul> <h3><a name="h3-documentation" id= @@ -1001,9 +700,8 @@ <li> <p>fills in overlooked descriptions of features which were - described in the <a href= - "https://invisible-island.net/ncurses/NEWS.html">NEWS</a> - file but treated sketchily in manual pages.</p> + described in the <a href="https://invisible-island.net/ncurses/NEWS.html">NEWS</a> file + but treated sketchily in manual pages.</p> </li> </ul> @@ -1016,95 +714,69 @@ <p>Corrections:</p> <ul> - <li>correct error-returns listed in manual pages for a few - form functions</li> + <li> + <p>add assignment in <code>CF_MAN_PAGES</code> to fill in + value for <code>TERMINFO_DIRS</code> in ncurses, terminfo + and tic manpages.</p> + </li> - <li>corrected prototypes in several manpages using script - to extract those in compilable form.</li> + <li> + <p>clarify interaction of <code>-R</code> option versus + <code>-C</code>, <code>-I</code> and <code>-r</code> in + <code>infocmp</code> manpage.</p> + </li> - <li>fix typo in <a href= - "https://invisible-island.net/ncurses/man/term.5.html#h3-EXTENDED-NUMBER-FORMAT"> - term.5</a>, improve explanation of format</li> - </ul> - </li> + <li> + <p>correct manpage description of panel_hidden.</p> + </li> - <li> - <p>Clarify in manual pages that <a href= - "https://invisible-island.net/ncurses/man/curs_printw.3x.html#h2-PORTABILITY"> - vwprintw</a> and <a href= - "https://invisible-island.net/ncurses/man/curs_scanw.3x.html#h2-PORTABILITY"> - vwscanw</a> are obsolete.<br> - They have not been part of X/Open Curses since 2007.</p> - </li> + <li> + <p>improve manpage description for addch versus unctrl + format used for non-printable characters.</p> + </li> - <li> - <p>New/improved history and portability sections:</p> + <li> + <p>improve manpages discussing file descriptors in + low-level functions.</p> + </li> - <ul> - <li><a href= - "https://invisible-island.net/ncurses/man/curs_addch.3x.html#h3-ACS-Symbols"> - curs_addch.3x</a> gives some background for ACS - symbols.</li> - - <li><a href= - "https://invisible-island.net/ncurses/man/curs_getcchar.3x.html#h2-PORTABILITY"> - curs_getcchar.3x</a> explains a difference between ncurses - and X/Open Curses.</li> - - <li><a href= - "https://invisible-island.net/ncurses/man/curs_getstr.3x.html#h2-PORTABILITY"> - curs_getstr.3x</a> gives historical/portability background - for the length parameter of <tt>wgetnstr</tt>.</li> - - <li><a href= - "https://invisible-island.net/ncurses/man/curs_slk.3x.html"> - curs_slk.3x</a> lists a few differences between SVr4 curses - and X/Open Curses for soft-keys.</li> - - <li><a href= - "https://invisible-island.net/ncurses/man/curs_terminfo.3x.html"> - curs_terminfo.3x</a> explains that the initial - implementation of terminfo in SVr2 was mostly replaced by - other developers in SVr3.</li> - - <li><a href= - "https://invisible-island.net/ncurses/man/infocmp.1m.html">infocmp.1</a> - explains that the initial version of terminfo had no tool - for decompiling descriptions. That came later, with SVr3, - with a different developer.</li> - - <li><a href= - "https://invisible-island.net/ncurses/man/tabs.1.html">tabs.1</a> - tells more than you wanted to know about the tool.</li> - - <li><a href= - "https://invisible-island.net/ncurses/man/tic.1m.html">tic.1</a> - explains that the initial version of terminfo had a - rudimentary tool (based on termcap) for compiling entries. - The tool used with Unix was developed by others for - SVr3.</li> - - <li><a href= - "https://invisible-island.net/ncurses/man/toe.1m.html">toe.1</a> - explains the origin of this tool.</li> + <li> + <p>improve description of search rules for terminal + descriptions in terminfo manpage.</p> + </li> + + <li> + <p>modify dist.mk to avoid passing developer's comments + in manpages into the generated html documentation.</p> + </li> + + <li> + <p>modify test-package "ncurses6-doc" to use + manpage-aliases, which in turn required a change to the + configure script to factor in the extra-suffix option + when deriving alias names.</p> + </li> </ul> </li> <li> - <p>Improvements for <a href= - "https://invisible-island.net/ncurses/man/user_caps.5.html">user_caps.5</a>:</p> + <p>New/improved history and portability sections:</p> <ul> - <li>mention <tt>meml</tt>, <tt>memu</tt> and - <tt>box1</tt></li> - - <li>expanded description of <tt>XM</tt></li> + <li> + <p>add information about "ttycap", termcap's forerunner, + to tset.1</p> + </li> - <li>add a clarification regarding the <tt>RGB</tt> - capability.</li> + <li> + <p>document limitations of tparm, and error-returns in + curs_terminfo.3x</p> + </li> - <li>mention user_caps.5 in the tic and infocmp manual - pages.</li> + <li> + <p>document limitations of tgoto, and error-returns in + curs_termcap.3x</p> + </li> </ul> </li> @@ -1112,52 +784,20 @@ <p>Other improvements:</p> <ul> - <li><a href= - "https://invisible-island.net/ncurses/man/curs_add_wch.3x.html#h3-Line-Graphics"> - curs_add_wch.3x</a> adds note about Unicode terminology for - the line-drawing characters.</li> - - <li><a href= - "https://invisible-island.net/ncurses/man/curs_color.3x.html#h2-RETURN-VALUE"> - curs_color.3x</a> improves discussion of error returns and - extensions.</li> - - <li><a href= - "https://invisible-island.net/ncurses/man/curs_mouse.3x.html"> - curs_mouse.3x</a> explains how the <tt>kmous</tt> and - <tt>XM</tt> capabilities are used for xterm-mouse - input.</li> - - <li><a href= - "https://invisible-island.net/ncurses/man/curs_refresh.3x.html#h3-wnoutrefresh_doupdate"> - curs_refresh.3x</a> improves documentation regarding the - virtual and physical screens.</li> - - <li><a href= - "https://invisible-island.net/ncurses/man/curs_util.3x.html"> - curs_util.3x</a> mentions a difference between SVr4 and - X/Open Curses for <tt>unctrl.h</tt></li> - - <li><a href= - "https://invisible-island.net/ncurses/man/curs_variables.3x.html#h2-PORTABILITY"> - curs_variables.3x</a> improves description of the - <em>init_tabs</em> capability and <tt>TABSIZE</tt> - variable.</li> - - <li><a href= - "https://invisible-island.net/ncurses/man/ncurses.3x.html#h2-ALTERNATE-CONFIGURATIONS"> - ncurses.3x</a> improves documentation regarding - feature-test macros in curses.h</li> - - <li><a href= - "https://invisible-island.net/ncurses/man/resizeterm.3x.html#h3-resize_term"> - resizeterm.3x</a> about top-level windows which touch the - screen's borders.</li> - - <li><a href= - "https://invisible-island.net/ncurses/man/tput.1.html#h3-Terminal-Size"> - tput.1</a> clarifies how <em>tput</em> determines the - terminal size.</li> + <li> + <p>This release has many changes to improve the + formatting and style of the manpages.</p> + </li> + + <li> + <p>Manpages now use consistent section-naming, page + headers and footers (including the modification date for + each page).</p> + </li> + + <li> + <p>Table layout has been revised.</p> + </li> </ul> </li> </ul> @@ -1165,249 +805,165 @@ <p>There are no new manual pages (all of the manual page updates are to existing pages).</p> - <p>Some of the improvements are more subtle, relating to the way - the information is presented. For instance, the generated - terminfo.5 file uses a different table layout, allowing it to use - space on wide terminals more effectively.</p> - <h3><a name="h3-bug-fixes" id="h3-bug-fixes">Interesting bug-fixes</a></h3> - <p>While there were many bugs fixed during development of ncurses - 6.2, only a few (the reason for this release) were both important - and interesting. Most of the bug-fixes were for local issues - which did not affect compatibility across releases. Since those - are detailed in the NEWS file no elaboration is needed here.</p> + <p>The changes to <tt>tparm</tt>, <tt>tgoto</tt> which improve + the design of the low-level interfaces are <em>interesting</em>, + but are not bug-fixes <em>per se</em>.</p> - <p>The interesting bugs were in tic/infocmp's handling of - user-defined capabilities. These were not recent bugs. Initially - it was a simple problem:</p> - - <ul> - <li>The user-defined capabilities can be any type (boolean, - number or string), but once given a type all uses of the name - must conform to that type—unless some special support for - a particular multi-typed name is built into ncurses.</li> + <h3><a name="h3-config-config" id= + "h3-config-config">Configuration changes</a></h3> - <li> - <p>One of simpleterm's contributors copied some definitions - for using <em>tmux</em>'s user-defined capabilities in - <a href= - "https://git.suckless.org/st/commit/06f8cf8ca87a81db15816658c40b2afcd1ad5332.html"> - late in 2016</a>.</p> + <h4><a name="h4-config-major" id="h4-config-major">Major + changes</a></h4> - <blockquote> - <pre class="demo-name"> -diff --git a/st.info b/st.info -@@ -185,7 +185,10 @@ st| simpleterm, - tsl=\E]0;, - xenl, - vpa=\E[%i%p1%dd, -- -+# Tmux unofficial extensions, see TERMINFO EXTENSIONS in tmux(1) -+ Se, -+ Ss, -+ Tc, - - st-256color| simpleterm with 256 colors, - use=st, -</pre> - </blockquote> - </li> + <p>These are the major changes (aside from introducing <a href= + "#h4-new-library"><tt>tiparm_s</tt></a>):</p> + <ul> <li> - <p>Later, in (referring to a version from <a href= - "https://git.suckless.org/st/commit/c0882f2ed1d7a2dd0fa2efa52157e6fc6fde3652.html"> - mid-2017</a>), a user asked to have it updated in - ncurses.</p> + <p>use wide-character (ncursesw) by default</p> </li> <li> - <p>However, it had an error from the change in late 2016. The - terminal description made what <em>tmux</em> expected to be - <strong>string</strong> actually a - <strong>boolean</strong>.</p> - - <p>Over the years, there were problems with each of - simpleterm's terminal descriptions. I repaired those, and - usually dealt with the problem.</p> + <p>use opaque typedefs by default</p> </li> + </ul> + + <p>However, most of the work on configure scripts was done to + reduce warnings within the configure script:</p> + <ul> <li> - <p>The difference in this case was that when compiling the - terminal database, <em>tic</em> may have in memory the - definitions for more than one terminal description (so that - it can resolve “<tt>use=</tt>” clauses). Seeing - two different types for the same name, in certain situations - it would incorrectly merge the symbol tables for the two - terminal descriptions.</p> + <p>intrusive warnings from GNU grep regarding fgrep and + egrep</p> </li> <li> - <p>On simpleterm's side, their bug was finally fixed in - <a href= - "https://git.suckless.org/st/commit/83866428de031300eab03fbb116bcf7d2b1d4f60.html"> - late 2019</a>, three years after the bug was created.</p> + <p>fatal errors in compile-checks, arising from recent + “Modern C” efforts by some developers which + caused longstanding configure checks to fail.</p> + + <p>After repairing the configure script, none of that + activity affected ncurses because stricter warnings are used + routinely in development.</p> </li> </ul> - <p>For ncurses, the elapsed time to fix this bug was less than - three years. Someone reported a problem with the terminal - description a few weeks after releasing ncurses 6.1 (in <a href= - "https://github.com/tmux/tmux/issues/1264">tmux #1264</a>), and - the terminal description was updated that week (ncurses patch - <a href= - "https://invisible-island.net/ncurses/NEWS.html#t20180224">20180224</a>):</p> - - <blockquote> - <pre class="demo-name"> -20180224 - + modify _nc_resolve_uses2() to detect incompatible types when merging - a "use=" clause of extended capabilities. The problem was seen in a - defective terminfo integrated from simpleterm sources in 20171111, - compounded by repair in 20180121. - + correct Ss/Ms interchange in st-0.7 entry (tmux #1264) -TD -</pre> - </blockquote> - - <p>The larger part of that change added a check to prevent a - simple merge of terminal descriptions where the same user-defined - name was used with different types. But it raised some - questions:</p> + <p>Other improvements made to configure checks include</p> <ul> <li> - <p>Was there a reliable way to manage terminal descriptions - which used the same extended name in different ways?</p> + <p>use <a href= + "https://invisible-island.net/ncurses/INSTALL.html#option:enable-string-hacks">string-hacks</a> + in alloc_entry.c, alloc_type.c and hardscroll.c, overlooked + due to compiler changes in recent OpenBSD releases</p> </li> <li> - <p>Should ncurses provide a registry of well-known extended - names, with their types?</p> + <p>revise progs.priv.h to provide for NC_ISATTY reuse</p> </li> - </ul> - - <p>Since the correction to <a href= - "https://invisible-island.net/ncurses/ncurses.html#download_database"> - <tt>terminfo.src</tt></a> could have been readily adopted by - packagers, there was nothing more to be done from ncurses' - standpoint on that part. But improving ncurses to prevent issues - like that is the reason for making a release.</p> - <p>Nothing more (constructive) was mentioned with regard to - simpleterm. But a few problems were found in the handling of - user-defined capabilities:</p> + <li> + <p>configure check for MB_LEN_MAX provides warning as + needed</p> + </li> - <ul> <li> - <p>Forward-references to user-defined capabilities in a - “<tt>use=</tt>” clause did not allocate new data - for each use. In <em>tic</em>, successive compilation of - terminal entries could add user-defined capabilities to the - wrong terminal entry.</p> + <p>trim a space after some "-R" options, fixing builds for + applications built using clang and ncurses on Solaris</p> + </li> - <p>This was not noticed before, since xterm's terminal - descriptions were the main users of the feature, and almost - all of the uses of the building-blocks which contained - user-defined capabilities were backward-references.</p> + <li> + <p>work around misconfiguration of MacPorts gcc13, which + exposes invalid definition of <tt>MB_LEN_MAX</tt> in gcc's + fallback copy of <tt>limits.h</tt></p> </li> <li> - <p>There is one (documented) case where ncurses 6.1 supports - a user-defined capability that could be any type (i.e., - “RGB”). The check added in February 2018 to guard - against mismatches did not handle all of the combinations - needed.</p> + <p>modified experimental Windows driver works with xterm + mouse protocol</p> </li> </ul> - <p>Both of these issues dated from the original implementation of - user-defined capabilities. Fixing them does not change the - terminal database, but a older <em>tic</em> without the fixes - will not be able to handle terminfo sources which rely upon those - fixes. Starting in June 2019, the download link for the terminfo - source file was capped at that date. The development sources have - an up-to-date copy of the file, for people with a legitimate need - for it.</p> - - <p>The “<tt>-c</tt>” (check) option of <em>tic</em> - is not very useful if it cannot offer advice on parameters needed - for user-defined capabilities. The various <em>Caps</em> files - were reorganized to reduce redundancy, and in the common portion - (<a href= - "https://github.com/ThomasDickey/ncurses-snapshots/blob/master/include/Caps-ncurses">Caps-ncurses</a>), - a registry of user-defined capabilities is provided for use by - <em>tic</em>. While users can still define their own custom - capabilities, <em>tic</em> will not offer any advice when their - parameters do not match.</p> - - <p>In ncurses 6.2, <em>tic</em> makes a special check to allow - any type for <em>RGB</em>, but its being able to do this relies - upon fixes made in the ncurses library in mid-2019.</p> - - <h3><a name="h3-config-config" id= - "h3-config-config">Configuration changes</a></h3> - - <h4><a name="h4-config-major" id="h4-config-major">Major - changes</a></h4> - - <p>There are no major changes. Several new options were added to - ease integration of packages with systems using different - versions of <em>GNAT</em> and <em>ncurses</em>. Also, - improvements were made to configure checks.</p> - <h4><a name="h4-config-options" id= "h4-config-options">Configuration options</a></h4> - <p>There are a few new/modified configure options:</p> + <p>There are a few new configure options:</p> <dl> - <dt><tt>--with-config-suffix</tt> + <dt><a href= + "https://invisible-island.net/ncurses/INSTALL.html#option:disable-setuid-environ"><tt>--disable-setuid-environ</tt></a> </dt> <dd> - <p>helps work around a filename conflict with Debian packages - versus test-packages.</p> + <p>Compile with environment restriction, so certain + environment variables are not available when running via a + setuid/setgid application. These are (for example + <tt>$TERMINFO</tt>) those that allow the search path for the + terminfo or termcap entry to be customized.</p> + + <p>A setuid/setgid application inherits its environment + variables from the current user, in contrast to sudo which + may limit the environment variables that ncurses uses.</p> </dd> - <dt><tt>--with-ada-libname</tt> + <dt><a href= + "https://invisible-island.net/ncurses/INSTALL.html#option:enable-check-size"><tt>--enable-check-size</tt></a> </dt> <dd> - <p>allows one to rename the “AdaCurses” library - (at least one packager prefers a lowercase name).</p> + <p>Compile-in feature to detect screensize for terminals + which do not advertise their screensize, e.g., serial + terminals.</p> </dd> - <dt><tt>--with-fallbacks</tt> + <dt><a href= + "https://invisible-island.net/ncurses/INSTALL.html#option:with-abi-altered"><tt>--with-abi-altered=<em>NUM</em></tt></a> </dt> <dd> - <p>now ensures there is a value, and adds the fallback - information to top-level Makefile summary.</p> + <p>Override the displayed (rather than compiled-in) ABI. Only + packagers who have created configurations where the ABI + differs from ncurses should be interested in this option.</p> </dd> - <dt><tt>--with-pcre2</tt> + <dt><a href= + "https://invisible-island.net/ncurses/INSTALL.html#option:with-strip-program"><tt>--with-strip-program=<em>XXX</em></tt></a> </dt> <dd> - <p>check for pcre-posix library to help with MinGW port.</p> + <p>When stripping executables during install, use the + specified program rather than “strip” overriding + program chosen by the install program for stripping + executables.</p> </dd> + </dl> - <dt><tt>--with-tic-path</tt> and<br></dt> + <p>These configure options are modified:</p> - <dt><tt>--with-infocmp-path</tt> + <dl> + <dt><a href= + "https://invisible-island.net/ncurses/INSTALL.html#option:with-pkg-config-libdir"><tt>--with-pkg-config-libdir[=<em>DIR</em>]</tt></a> </dt> <dd> - <p>help work around problems building fallback source using - pre-6.0 tic/infocmp.</p> + <p>The optional <em>DIR</em> parameter can now be + “auto” to automatically use pkg-config's library + directory.</p> + + <p>The default is <tt>$(libdir)</tt>.</p> </dd> - <dt><tt>--with-versioned-syms</tt> + <dt><a href= + "https://invisible-island.net/ncurses/INSTALL.html#option:with-xterm-kbs"><tt>--with-xterm-kbs[=<em>XXX</em>]</tt></a> </dt> <dd> - <p>option value can now be a relative pathname.</p> + <p>The default is “auto” which tells the + configure script to choose BS or DEL according to platform + defaults.</p> </dd> </dl> @@ -1418,148 +974,117 @@ diff --git a/st.info b/st.info <ul> <li> - <p>ignore <a href= - "/ncurses/man/ncurses.3x.html#h3-TERMINFO"><tt>$TERMINFO</tt></a> - as a default value in configure script if it came from the - <tt>infocmp</tt> <strong><tt>-Q</tt></strong> option.</p> + <p>add/use configure check for <code>clock_gettime</code>, to + supersede <code>gettimeofday</code>.</p> </li> <li> - <p>distinguish gcc from icc and clang when the - <tt>--enable-warnings</tt> option is not used, to avoid - unnecessary warnings about unrecognized inline options</p> + <p>modify configure script check for pkg-config library + directory to take into account an older version 0.15.0 which + used PKG_CONFIG_PATH but not PKG_CONFIG_LIBDIR</p> </li> <li> - <p>consistently prepend new libraries as they are found - during configuration, rather than relying upon the linker to - resolve order dependencies of libraries.</p> + <p>allow for MinGW32-/64-bit configurations to use + _DEFAULT_SOURCE</p> </li> <li> - <p>modified configure scripts to reduce relinking/ranlib - during library install :</p> - - <ul> - <li>use “<tt>install -p</tt>” when available, - to avoid need for ranlib of static libraries.</li> - - <li>scripts which use - “<tt>--disable-relink</tt>;” add a 1-second - sleep to work around tools which use whole-second - timestamps, e.g., in <tt>utime</tt> rather than the actual - file system resolution.</li> - </ul> + <p>modify CF_XOPEN_SOURCE macro's amend default case to avoid + undefining _XOPEN_SOURCE if _POSIX_C_SOURCE is defined</p> </li> <li> - <p id="getenv-check">add configure check for <a href= - "#getenv-fixes"><tt>getenv</tt></a> to work around - implementation shown in Emscripten which overwrites the - previous return value on each call.</p> - - <p>Use that to optionally suppress <tt>START_TRACE</tt> - macro, whose call to <tt>getenv</tt> may not work - properly</p> + <p>updated configure script macro CF_XOPEN_SOURCE, for + uClibc-ng</p> </li> <li> - <p>change target configure level for <tt>_XOPEN_SOURCE</tt> - to 600 to address use of <tt>vsscanf</tt> and - <tt>setenv</tt>.</p> + <p>modify version-check for gcc/g++, now works for msys2</p> </li> <li> - <p>reduce use of <tt>_GNU_SOURCE</tt> for current glibc where - <tt>_DEFAULT_SOURCE</tt> combines with - <tt>_XOPEN_SOURCE</tt></p> + <p>build-fixes related to configure-options and/or + platform:</p> - <p>Allow for Cygwin's newlib when checking for the - _DEFAULT_SOURCE symbol.</p> + <ul> + <li>fix for <tt>--enable-fvisibility</tt></li> - <p>MidnightBSD is now checked for the - <tt>_XOPEN_SOURCE</tt>-related definitions.</p> - </li> + <li>fix for unusual values of + <tt>--with-rel-version</tt></li> - <li> - <p>If the check for <tt>va_copy</tt> or <tt>__va_copy</tt> - fails,</p> + <li>fix for unusual values of + <tt>--with-abi-version</tt></li> - <ul> - <li>configure now tries copying the pointers for - <tt>va_list</tt>, or as an array.</li> + <li>fix for <tt>--disable-tcap-names</tt></li> - <li>alternatively, it checks for - <tt>__builtin_va_copy</tt>(), which could be used with AIX - <tt>xlc</tt> in <em>c89</em> mode.</li> + <li>fix for termcap in <tt>nc_access.h</tt></li> </ul> </li> <li> - <p>several changes to support a port to Ultrix 3.1:</p> + <p>other configure-script improvements:</p> <ul> - <li>check if "b" binary feature of fopen works</li> + <li>recent msys2 headers work with + <tt>_DEFAULT_SOURCE</tt>; amend check</li> - <li>check for missing feature of locale.h</li> + <li>use <tt>$ac_includes_default</tt> in most cases where + stdlib.h should work</li> - <li>add fallback for strstr() in test-programs</li> + <li>use <tt>#error</tt> consistently vs "make an + error"</li> - <li>add fallback for STDOUT_FILENO in test-programs</li> + <li>add configure macro for <tt>gettimeofday</tt> vs inline + check</li> </ul> </li> + </ul> - <li> - <p>The <em>test/configure</em> script (used for <a href= - "/ncurses/ncurses-examples.html"><em>ncurses-examples</em></a>) - is improved:</p> - - <ul> - <li>work around non-ncurses termcap.h file, e.g., in - Slackware.</li> + <p>Here are some of the other portability fixes:</p> - <li>check for <a href= - "/ncurses/man/curs_variables.3x.html#h3-TABSIZE"><tt>TABSIZE</tt></a> - variable.</li> + <ul> + <li> + <p>modify configure scripts/makefiles to omit + <tt>KEY_RESIZE</tt> if the corresponding <tt>SIGWINCH</tt> + feature is disabled</p> + </li> - <li>checks for the X11/Intrinsic.h header, accommodate - recent MacOS changes which largely emptied - <tt>/usr/include</tt>.</li> - </ul> + <li> + <p>increase <tt>MB_CUR_MAX</tt> to 16, matching glibc's + <tt>MB_LEN_MAX</tt></p> </li> - </ul> - <p>Here are some of the other portability fixes:</p> + <li> + <p>add BSD <tt>erase2</tt> to characters handled by + tset/reset</p> + </li> - <ul> <li> - <p>added dummy "check" rule in top-level and test-Makefile to - simplify building test-packages for ArchLinux.</p> + <p>use <tt>getauxval</tt> when available, to improve + <tt>setuid</tt>/<tt>setgid</tt> checks</p> </li> <li> - <p>dropped library-dependency on psapi for MinGW port, since - win_driver.c defines <tt>PSAPI_VERSION</tt> to 2, making it - use <tt>GetProcessImageFileName</tt> from kernel32.dll</p> + <p>set <tt>dwShareMode</tt> in calls to + <tt>CreateConsoleScreenBuffer</tt></p> </li> <li> - <p>made build-fixes for configuration using --program-suffix - with Ada95, noticed with MacOS but applicable to other - platforms without libpanelw, etc.</p> + <p>use <tt>CreateFile</tt> with "<tt>CONIN$</tt>", + "<tt>CONOUT$</tt>" rather than <tt>GetStdHandle</tt> to + obtain a handle on the actual console, avoiding redirection + in the MinGW/Win32 configurations</p> </li> <li> - <p>modified ncurses/Makefile.in to fix a case where - Debian/testing changes to the ld --as-needed configuration - broke ncurses-examples test packages.</p> + <p>modify MinGW driver to return <tt>KEY_BACKSPACE</tt> when + an unmodified <tt>VK_BACK</tt> virtual key is entered</p> </li> <li> - <p>used <tt>_WIN32</tt>/<tt>_WIN64</tt> in preference to - <tt>__MINGW32__</tt>/<tt>__MINGW64__</tt> symbols to simplify - building with Microsoft Visual C++, since the former are - defined in both compiler configurations.</p> + <p>modify MinGW configuration to provide for running in + MSYS/MSYS2 shells, assuming ConPTY support</p> </li> </ul> @@ -1578,30 +1103,31 @@ diff --git a/st.info b/st.info </li> <li> - <p><span class="main-name">ncurses</span> supports all of the - for SVr4 curses features including keyboard mapping, color, - forms-drawing with ACS characters, and automatic recognition + <p><span class="main-name">ncurses</span> supports the + features of SVr4 curses including keyboard mapping, color, + form drawing with ACS characters, and automatic recognition of keypad and function keys.</p> </li> <li> - <p><span class="main-name">ncurses</span> provides these SVr4 - add-on libraries (not part of X/Open Curses):</p> + <p><span class="main-name">ncurses</span> provides work-alike + replacements of SVr4 supplemental libraries based on curses, + but which were not specified by X/Open Curses:</p> <ul> <li> - <p>the panels library, supporting a stack of windows with - backing store.</p> + <p>the panel library, supporting a stack of windows with + backing store</p> </li> <li> - <p>the menus library, supporting a uniform but flexible - interface for menu programming.</p> + <p>the menu library, supporting a uniform but flexible + interface for menu programming</p> </li> <li> <p>the form library, supporting data collection through - on-screen forms.</p> + on-screen forms</p> </li> </ul> </li> @@ -1613,7 +1139,7 @@ diff --git a/st.info b/st.info <ul> <li> <p><span class="main-name">ncurses</span> supports - user-defined capabilities which it can see, but which are + user-defined capabilities that it can see, but which are hidden from SVr4 curses applications using the <em>same</em> terminal database.</p> </li> @@ -1635,7 +1161,7 @@ diff --git a/st.info b/st.info <p>The <span class="main-name">ncurses</span> utilities have options to allow you to filter terminfo entries for use with less capable <em>curses</em>/<em>terminfo</em> versions such - as the HP/UX and AIX ports.</p> + as the HP-UX and AIX ports.</p> </li> </ul> @@ -1645,11 +1171,11 @@ diff --git a/st.info b/st.info <ul> <li> <p>The API is 8-bit clean and base-level conformant with the - X/OPEN curses specification, XSI curses (that is, it - implements all BASE level features, and most EXTENDED - features). It includes many function calls not supported - under SVr4 curses (but portability of all calls is documented - so you can use the SVr4 subset only).</p> + X/Open Curses specification, XSI curses (that is, it + implements all <em>BASE</em> level features, and almost all + <em>EXTENDED</em> features). It includes many function calls + not supported under SVr4 curses (but portability of all calls + is documented so you can use the SVr4 subset only).</p> </li> <li> @@ -1692,6 +1218,11 @@ diff --git a/st.info b/st.info </li> <li> + <p>Support for direct-color terminals, such as modern + xterm.</p> + </li> + + <li> <p>Support for 256-color terminals, such as modern xterm.</p> </li> @@ -1735,19 +1266,18 @@ diff --git a/st.info b/st.info </li> <li> - <p>The <a href= - "https://invisible-island.net/ncurses/man/tic.1m.html"><span class="part-name"> - tic</span></a>/<a href= - "https://invisible-island.net/ncurses/man/captoinfo.1m.html">captoinfo</a> - utility provided with <span class="main-name">ncurses</span> - has the ability to translate many termcaps from the XENIX, - IBM and AT&T extension sets.</p> + <p>The <a href="https://invisible-island.net/ncurses/man/tic.1m.html"><span class= + "part-name">tic</span></a>/<a href= + "https://invisible-island.net/ncurses/man/captoinfo.1m.html">captoinfo</a> utility + provided with <span class="main-name">ncurses</span> has the + ability to translate many termcaps from the XENIX, IBM and + AT&T extension sets.</p> </li> <li> <p>A BSD-like <a href= - "https://invisible-island.net/ncurses/man/tset.1.html"><span class="part-name"> - tset</span></a> utility is provided.</p> + "https://invisible-island.net/ncurses/man/tset.1.html"><span class= + "part-name">tset</span></a> utility is provided.</p> </li> <li> @@ -1776,24 +1306,42 @@ diff --git a/st.info b/st.info <li> <p>The table-of-entries utility <a href= - "https://invisible-island.net/ncurses/man/toe.1m.html"><span class="part-name"> - toe</span></a> makes it easy for users to see exactly what - terminal types are available on the system.</p> + "https://invisible-island.net/ncurses/man/toe.1m.html"><span class= + "part-name">toe</span></a> makes it easy for users to see + exactly what terminal types are available on the system.</p> </li> <li> - <p>The library meets the XSI requirement that every macro - entry point have a corresponding function which may be linked - (and will be prototype-checked) if the macro definition is - disabled with <code>#undef</code>.</p> + <p>X/Open Curses permits most functions it specifies to be + made available as macros as well. ncurses does this</p> + + <ul> + <li>to improve performance, e.g., for operations composed + of simpler functions such as cursor movement following by + adding text to the screen,</li> + + <li>to simplify the implementation by reusing functions + which use common parameters, e.g., the standard screen + <code>stdscr</code>, and</li> + + <li>to provide functions that return values via their + parameters</li> + </ul> + + <p>Except for the last case, ncurses provides a non-macro + implementation of the function. If the macro definition is + disabled with <code>#undef</code>, or by defining + <code>NCURSES_NOMACROS</code> the function may be linked (and + its calls will be checked against the prototype).</p> </li> <li> <p>Extensive documentation is provided (see the <em><a href= - "https://invisible-island.net/ncurses/ncurses.faq.html#additional_reading"> - Additional Reading</a></em> section of the <em><a href= - "https://invisible-island.net/ncurses/ncurses.faq.html"><span class="main-name"> - ncurses</span> FAQ</a></em> for online documentation).</p> + "https://invisible-island.net/ncurses/ncurses.faq.html#additional_reading">Additional + Reading</a></em> section of the <em><a href= + "https://invisible-island.net/ncurses/ncurses.faq.html"><span class= + "main-name">ncurses</span> FAQ</a></em> for online + documentation).</p> </li> </ul> @@ -1826,9 +1374,7 @@ diff --git a/st.info b/st.info <dd> <p>Curses Development Kit</p> - <p><a href= - "https://invisible-island.net/cdk/">https://invisible-island.net/cdk/</a><br> - + <p><a href="https://invisible-island.net/cdk/">https://invisible-island.net/cdk/</a><br> </p> </dd> @@ -1838,8 +1384,7 @@ diff --git a/st.info b/st.info <dd> <p>directory-editor</p> - <p><a href= - "https://invisible-island.net/ded/">https://invisible-island.net/ded/</a></p> + <p><a href="https://invisible-island.net/ded/">https://invisible-island.net/ded/</a></p> </dd> <dt><span class="part-name">dialog</span> @@ -1850,8 +1395,7 @@ diff --git a/st.info b/st.info and the basis for similar install/configure applications on many systems.</p> - <p><a href= - "https://invisible-island.net/dialog/">https://invisible-island.net/dialog/</a></p> + <p><a href="https://invisible-island.net/dialog/">https://invisible-island.net/dialog/</a></p> </dd> <dt><span class="part-name">lynx</span> @@ -1890,7 +1434,8 @@ diff --git a/st.info b/st.info <p>New vi uses ncurses.</p> <p><a href= - "https://sites.google.com/a/bostic.com/keithbostic/vi">https://sites.google.com/a/bostic.com/keithbostic/vi</a><br> + "https://sites.google.com/a/bostic.com/keithbostic/the-berkeley-vi-editor-home-page"> + https://sites.google.com/a/bostic.com/keithbostic/the-berkeley-vi-editor-home-page</a><br> </p> </dd> @@ -1938,7 +1483,7 @@ diff --git a/st.info b/st.info <p>terminal emulator for serial modem connections</p> <p><a href= - "https://alioth.debian.org/projects/minicom/">https://alioth.debian.org/projects/minicom/</a></p> + "https://salsa.debian.org/minicom-team/minicom">https://salsa.debian.org/minicom-team/minicom</a></p> </dd> <dt><span class="part-name">mosh</span> @@ -1947,8 +1492,7 @@ diff --git a/st.info b/st.info <dd> <p>a replacement for <code>ssh</code>.</p> - <p><a href= - "https://mosh.mit.edu/">https://mosh.mit.edu/</a></p> + <p><a href="https://mosh.org/">https://mosh.org/</a></p> </dd> <dt><span class="part-name">tack</span> @@ -1957,8 +1501,7 @@ diff --git a/st.info b/st.info <dd> <p>terminfo action checker</p> - <p><a href= - "https://invisible-island.net/ncurses/tack.html">https://invisible-island.net/ncurses/tack.html</a></p> + <p><a href="https://invisible-island.net/ncurses/tack.html">https://invisible-island.net/ncurses/tack.html</a></p> </dd> <dt><span class="part-name">tmux</span> @@ -1978,8 +1521,7 @@ diff --git a/st.info b/st.info <p><em>vi-like-emacs</em> may be built to use the terminfo, termcap or curses interfaces.</p> - <p><a href= - "https://invisible-island.net/vile/">https://invisible-island.net/vile/</a></p> + <p><a href="https://invisible-island.net/vile/">https://invisible-island.net/vile/</a></p> </dd> </dl> </blockquote> @@ -2041,13 +1583,13 @@ diff --git a/st.info b/st.info <p>Ongoing development work is done by <a href= "mailto:dickey@invisible-island.net">Thomas E. Dickey</a>. Thomas E. Dickey has acted as the maintainer for the Free Software - Foundation, which holds a <a href= - "https://invisible-island.net/ncurses/ncurses-license.html">copyright - on ncurses</a> for releases 4.2 through 6.1. Following the - release of ncurses 6.1, effective as of release 6.2, copyright - for ncurses reverted to Thomas E. Dickey (see the <a href= - "https://invisible-island.net/ncurses/ncurses.faq.html#relicensed"> - ncurses FAQ</a> for additional information).</p> + Foundation, which held a <a href= + "https://invisible-island.net/ncurses/ncurses-license.html">copyright on ncurses</a> for + releases 4.2 through 6.1. Following the release of ncurses 6.1, + effective as of release 6.2, copyright for ncurses reverted to + Thomas E. Dickey (see the <a href= + "https://invisible-island.net/ncurses/ncurses.faq.html#relicensed">ncurses FAQ</a> for + additional information).</p> <p>Contact the current maintainers at</p> @@ -2062,7 +1604,6 @@ diff --git a/st.info b/st.info "mailto:bug-ncurses-request@gnu.org">bug-ncurses-request@gnu.org</a> </blockquote> containing the line: - <blockquote> <p><code>subscribe</code> <em><name>@<host.domain></em></p> @@ -2076,7 +1617,7 @@ diff --git a/st.info b/st.info <blockquote> <p><a href= - "ftp://ftp.invisible-island.net/ncurses/current/">ftp://ftp.invisible-island.net/ncurses/current/</a> + "https://invisible-island.net/archives/ncurses/current/">https://invisible-island.net/archives/ncurses/current/</a> and<br> <a href= "https://invisible-mirror.net/archives/ncurses/current/">https://invisible-mirror.net/archives/ncurses/current/</a> .</p> @@ -2086,19 +1627,17 @@ diff --git a/st.info b/st.info <blockquote> <p><a href= - "ftp://ftp.invisible-island.net/ncurses/6.1/">ftp://ftp.invisible-island.net/ncurses/6.1/</a> + "https://invisible-island.net/archives/ncurses/6.4/">https://invisible-island.net/archives/ncurses/6.4/</a> and<br> <a href= - "https://invisible-mirror.net/archives/ncurses/6.1/">https://invisible-mirror.net/archives/ncurses/6.1/</a> .</p> + "https://invisible-mirror.net/archives/ncurses/6.4/">https://invisible-mirror.net/archives/ncurses/6.4/</a> .</p> </blockquote> <p>There is an archive of the mailing list here:</p> <blockquote> <p><a href= - "http://lists.gnu.org/archive/html/bug-ncurses">http://lists.gnu.org/archive/html/bug-ncurses</a> - (also <a href= - "https://lists.gnu.org/archive/html/bug-ncurses">https</a>)</p> + "https://lists.gnu.org/archive/html/bug-ncurses">https://lists.gnu.org/archive/html/bug-ncurses</a> .</p> </blockquote> <h2><a name="h2-this-stuff" id="h2-this-stuff">Related @@ -2108,30 +1647,28 @@ diff --git a/st.info b/st.info which may be interesting by themselves:</p> <ul> - <li><a href= - "https://invisible-island.net/ncurses/ncurses-license.html"><span class="main-name"> - ncurses</span> licensing</a></li> + <li><a href="https://invisible-island.net/ncurses/ncurses-license.html"><span class= + "main-name">ncurses</span> licensing</a></li> - <li><a href= - "https://invisible-island.net/ncurses/ncurses-mapsyms.html">Symbol - versioning in <span class="main-name">ncurses</span></a></li> + <li><a href="https://invisible-island.net/ncurses/ncurses-mapsyms.html">Symbol versioning + in <span class="main-name">ncurses</span></a></li> - <li><a href= - "https://invisible-island.net/ncurses/ncurses-slang.html">Comments - on <span class="main-name">ncurses</span> versus <span class= + <li><a href="https://invisible-island.net/ncurses/ncurses-slang.html">Comments on + <span class="main-name">ncurses</span> versus <span class= "main-name">slang</span> (S-Lang)</a></li> - <li><a href= - "https://invisible-island.net/ncurses/tack.html">tack – - terminfo action checker</a></li> + <li><a href="https://invisible-island.net/ncurses/ncurses-openbsd.html">Comments on + <span class="main-name">OpenBSD</span></a></li> - <li><a href= - "https://invisible-island.net/ncurses/tctest.html">tctest - – termcap library checker</a></li> + <li><a href="https://invisible-island.net/ncurses/tack.html">tack – terminfo action + checker</a></li> + + <li><a href="https://invisible-island.net/ncurses/tctest.html">tctest – termcap + library checker</a></li> <li><a href= - "https://invisible-island.net/ncurses/ncurses.html#download_database"> - Terminal Database</a></li> + "https://invisible-island.net/ncurses/ncurses.html#download_database">Terminal + Database</a></li> </ul> <h2><a name="h2-other-stuff" id="h2-other-stuff">Other @@ -2142,14 +1679,15 @@ diff --git a/st.info b/st.info <a href="http://www.catb.org/~esr/terminfo/">Eric Raymond</a> . Unlike the older version, the termcap and terminfo data are provided in the same file, which also provides - several user-definable extensions beyond the X/Open + several user-definable extensions beyond the X/Open Curses specification.</p> <p>You can find lots of information on terminal-related topics - not covered in the terminfo file at <a href= - "http://web.archive.org/web/*/http://www.cs.utk.edu/~shuford/terminal"> - Richard Shuford's archive</a> . The collection of computer - manuals at <a href= + not covered in the terminfo file in <a href= + "https://shuford.invisible-island.net/">Richard Shuford's + archive</a> (<a href= + "http://web.archive.org/web/*/http://www.cs.utk.edu/~shuford/terminal">original</a>). + The collection of computer manuals at <a href= "http://www.bitsavers.org/pdf/">bitsavers.org</a> has also been useful.</p> @@ -2159,11 +1697,9 @@ diff --git a/st.info b/st.info <li> <a href="#h2-release-notes">Release Notes</a> - <ul> <li> <a href="#h3-library">Library improvements</a> - <ul> <li><a href="#h4-new-library">New features</a></li> @@ -2174,7 +1710,6 @@ diff --git a/st.info b/st.info <li> <a href="#h3-programs">Program improvements</a> - <ul> <li><a href="#h4-utilities">Utilities</a></li> @@ -2190,7 +1725,6 @@ diff --git a/st.info b/st.info <li> <a href="#h3-config-config">Configuration changes</a> - <ul> <li><a href="#h4-config-major">Major changes</a></li> diff --git a/doc/html/hackguide.html b/doc/html/hackguide.html index 71312a565f4c..2b9445538dc8 100644 --- a/doc/html/hackguide.html +++ b/doc/html/hackguide.html @@ -1,7 +1,7 @@ <!-- - $Id: hackguide.html,v 1.33 2020/02/02 23:34:34 tom Exp $ + $Id: hackguide.html,v 1.36 2022/11/26 19:31:56 tom Exp $ **************************************************************************** - * Copyright 2019,2020 Thomas E. Dickey * + * Copyright 2019-2020,2022 Thomas E. Dickey * * Copyright 2000-2013,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -30,12 +30,10 @@ **************************************************************************** --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> - <html> <head> <meta name="generator" content= - "HTML Tidy for HTML5 for Linux version 5.2.0"> - + "HTML Tidy for HTML5 for Linux version 5.6.0"> <title>A Hacker's Guide to Ncurses Internals</title> <link rel="author" href="mailto:bugs-ncurses@gnu.org"> <meta http-equiv="Content-Type" content= @@ -45,70 +43,70 @@ the ncurses-intro.html document, expected to be in the same directory with this one. --> </head> - <body> - <h1>A Hacker's Guide to NCURSES</h1> + <h1 class="no-header">A Hacker's Guide to NCURSES</h1> - <h1>Contents</h1> + <h2>A Hacker's Guide to NCURSES</h2> - <ul> - <li><a href="#abstract">Abstract</a></li> + <div class="nav"> + <h2>Contents</h2> - <li> - <a href="#objective">Objective of the Package</a> + <ul> + <li><a href="#abstract">Abstract</a></li> - <ul> - <li><a href="#whysvr4">Why System V Curses?</a></li> + <li> + <a href="#objective">Objective of the Package</a> + <ul> + <li><a href="#whysvr4">Why System V Curses?</a></li> - <li><a href="#extensions">How to Design Extensions</a></li> - </ul> - </li> - - <li><a href="#portability">Portability and Configuration</a></li> + <li><a href="#extensions">How to Design Extensions</a></li> + </ul> + </li> - <li><a href="#documentation">Documentation Conventions</a></li> + <li><a href="#portability">Portability and Configuration</a></li> - <li><a href="#bugtrack">How to Report Bugs</a></li> - - <li> - <a href="#ncurslib">A Tour of the Ncurses Library</a> + <li><a href="#documentation">Documentation Conventions</a></li> - <ul> - <li><a href="#loverview">Library Overview</a></li> + <li><a href="#bugtrack">How to Report Bugs</a></li> - <li><a href="#engine">The Engine Room</a></li> + <li> + <a href="#ncurslib">A Tour of the Ncurses Library</a> + <ul> + <li><a href="#loverview">Library Overview</a></li> - <li><a href="#input">Keyboard Input</a></li> + <li><a href="#engine">The Engine Room</a></li> - <li><a href="#mouse">Mouse Events</a></li> + <li><a href="#input">Keyboard Input</a></li> - <li><a href="#output">Output and Screen Updating</a></li> - </ul> - </li> + <li><a href="#mouse">Mouse Events</a></li> - <li><a href="#fmnote">The Forms and Menu Libraries</a></li> + <li><a href="#output">Output and Screen Updating</a></li> + </ul> + </li> - <li> - <a href="#tic">A Tour of the Terminfo Compiler</a> + <li><a href="#fmnote">The Forms and Menu Libraries</a></li> - <ul> - <li><a href="#nonuse">Translation of - Non-<strong>use</strong> Capabilities</a></li> + <li> + <a href="#tic">A Tour of the Terminfo Compiler</a> + <ul> + <li><a href="#nonuse">Translation of + Non-<strong>use</strong> Capabilities</a></li> - <li><a href="#uses">Use Capability Resolution</a></li> + <li><a href="#uses">Use Capability Resolution</a></li> - <li><a href="#translation">Source-Form Translation</a></li> - </ul> - </li> + <li><a href="#translation">Source-Form Translation</a></li> + </ul> + </li> - <li><a href="#utils">Other Utilities</a></li> + <li><a href="#utils">Other Utilities</a></li> - <li><a href="#style">Style Tips for Developers</a></li> + <li><a href="#style">Style Tips for Developers</a></li> - <li><a href="#port">Porting Hints</a></li> - </ul> + <li><a href="#port">Porting Hints</a></li> + </ul> + </div> - <h1><a name="abstract" id="abstract">Abstract</a></h1> + <h2><a name="abstract" id="abstract">Abstract</a></h2> <p>This document is a hacker's tour of the <strong>ncurses</strong> library and utilities. It discusses @@ -117,8 +115,8 @@ this one. anyone who is interested in porting, extending or improving the package.</p> - <h1><a name="objective" id="objective">Objective of the - Package</a></h1> + <h2><a name="objective" id="objective">Objective of the + Package</a></h2> <p>The objective of the <strong>ncurses</strong> package is to provide a free software API for character-cell terminals and @@ -144,7 +142,7 @@ this one. — we cannot add features if it means breaking the portion of the API corresponding to historical curses versions.</p> - <h2><a name="whysvr4" id="whysvr4">Why System V Curses?</a></h2> + <h3><a name="whysvr4" id="whysvr4">Why System V Curses?</a></h3> <p>We used System V curses as a model, reverse-engineering their API, in order to fulfill the first two objectives.</p> @@ -158,8 +156,8 @@ this one. So conformance with System V took us most of the way to base-level XSI conformance.</p> - <h2><a name="extensions" id="extensions">How to Design - Extensions</a></h2> + <h3><a name="extensions" id="extensions">How to Design + Extensions</a></h3> <p>The third objective (standards conformance) requires that it be easy to condition source code using <strong>ncurses</strong> @@ -177,8 +175,8 @@ this one. library header. You can use this to condition the calls to the mouse API calls.</p> - <h1><a name="portability" id="portability">Portability and - Configuration</a></h1> + <h2><a name="portability" id="portability">Portability and + Configuration</a></h2> <p>Code written for <strong>ncurses</strong> may assume an ANSI-standard C compiler and POSIX-compatible OS interface. It @@ -208,8 +206,8 @@ this one. (configure.in and aclocal.m4) to set up a new feature macro, which you then use to condition your code.</p> - <h1><a name="documentation" id="documentation">Documentation - Conventions</a></h1> + <h2><a name="documentation" id="documentation">Documentation + Conventions</a></h2> <p>There are three kinds of documentation associated with this package. Each has a different preferred format:</p> @@ -226,7 +224,7 @@ this one. <ol> <li><strong>Maintain package-internal files in plain - text.</strong> The expected viewer for them <em>more(1)</em> or + text.</strong> The expected viewer for them is <em>more(1)</em> or an editor window; there is no point in elaborate mark-up.</li> <li><strong>Mark up manual pages in the man macros.</strong> @@ -249,7 +247,7 @@ this one. course, it make exporting things like the announcement document to WWW pretty trivial.</p> - <h1><a name="bugtrack" id="bugtrack">How to Report Bugs</a></h1> + <h2><a name="bugtrack" id="bugtrack">How to Report Bugs</a></h2> <p>The <a name="bugreport" id="bugreport">reporting address for bugs</a> is <a href= @@ -258,10 +256,9 @@ this one. <code>bug-ncurses-request@gnu.org</code> with a message containing the line:</p> - <pre> + <pre class="code-block"> subscribe <name>@<host.domain> </pre> - <p>The <code>ncurses</code> code is maintained by a small group of volunteers. While we try our best to fix bugs promptly, we simply do not have a lot of hours to spend on elementary @@ -276,8 +273,7 @@ this one. tail end and have to wait a while.</p> <ol> - <li>Develop a recipe to reproduce the bug. - + <li><p>Develop a recipe to reproduce the bug. <p>Bugs we can reproduce are likely to be fixed very quickly, often within days. The most effective single thing you can do to get a quick fix is develop a way we can duplicate the bad @@ -287,8 +283,7 @@ this one. with the distribution.)</p> </li> - <li>Try to reproduce the bug on a different terminal type. - + <li><p>Try to reproduce the bug on a different terminal type. <p>In our experience, most of the behaviors people report as library bugs are actually due to subtle problems in terminal descriptions. This is especially likely to be true if you are @@ -309,8 +304,7 @@ this one. triggered or masked by these.</p> </li> - <li>Generate and examine a trace file for the broken behavior. - + <li><p>Generate and examine a trace file for the broken behavior. <p>Recompile your program with the debugging versions of the libraries. Insert a <code>trace()</code> call with the argument set to <code>TRACE_UPDATE</code>. (See <a href= @@ -341,8 +335,7 @@ this one. screen-update logic quite exactly.</p> </li> - <li>Report details and symptoms, not just interpretations. - + <li><p>Report details and symptoms, not just interpretations. <p>If you do the preceding two steps, it is very likely that you will discover the nature of the problem yourself and be able to send us a fix. This will create happy feelings all @@ -397,10 +390,10 @@ this one. out. You can also test the hardware-scrolling optimization separately with <code>hardscroll</code>.</p> - <h1><a name="ncurslib" id="ncurslib">A Tour of the Ncurses - Library</a></h1> + <h2><a name="ncurslib" id="ncurslib">A Tour of the Ncurses + Library</a></h2> - <h2><a name="loverview" id="loverview">Library Overview</a></h2> + <h3><a name="loverview" id="loverview">Library Overview</a></h3> <p>Most of the library is superstructure — fairly trivial convenience interfaces to a small set of basic functions and data @@ -495,9 +488,9 @@ this one. <p>We will discuss these in the compiler tour.</p> - <h2><a name="engine" id="engine">The Engine Room</a></h2> + <h3><a name="engine" id="engine">The Engine Room</a></h3> - <h3><a name="input" id="input">Keyboard Input</a></h3> + <h4><a name="input" id="input">Keyboard Input</a></h4> <p>All <code>ncurses</code> input funnels through the function <code>wgetch()</code>, defined in <code>lib_getch.c</code>. This @@ -523,7 +516,7 @@ this one. The function <code>timed_wait()</code> effectively simulates a System V select.</p> - <h3><a name="mouse" id="mouse">Mouse Events</a></h3> + <h4><a name="mouse" id="mouse">Mouse Events</a></h4> <p>If the mouse interface is active, <code>wgetch()</code> polls for mouse events each call, before it goes to the keyboard for @@ -568,7 +561,7 @@ this one. reports (low-level events) into a gesture (a high-level or composite event).</p> - <h3><a name="output" id="output">Output and Screen Updating</a></h3> + <h4><a name="output" id="output">Output and Screen Updating</a></h4> <p>With the single exception of character echoes during a <code>wgetnstr()</code> call (which simulates cooked-mode line @@ -630,7 +623,7 @@ this one. <code>include/curses.h.in</code> for mask values, near the end.</p> - <h1><a name="fmnote" id="fmnote">The Forms and Menu Libraries</a></h1> + <h2><a name="fmnote" id="fmnote">The Forms and Menu Libraries</a></h2> <p>The forms and menu libraries should work reliably in any environment you can port ncurses to. The only portability issue @@ -647,7 +640,7 @@ this one. This version has been slightly cleaned up for <code>ncurses</code>.</p> - <h1><a name="tic" id="tic">A Tour of the Terminfo Compiler</a></h1> + <h2><a name="tic" id="tic">A Tour of the Terminfo Compiler</a></h2> <p>The <strong>ncurses</strong> implementation of <strong>tic</strong> is rather complex internally; it has to do a @@ -664,8 +657,8 @@ this one. values; the grammar above it is trivial, just "parse entries till you run out of file".</p> - <h2><a name="nonuse" id="nonuse">Translation of - Non-<strong>use</strong> Capabilities</a></h2> + <h3><a name="nonuse" id="nonuse">Translation of + Non-<strong>use</strong> Capabilities</a></h3> <p>Translation of most things besides <strong>use</strong> capabilities is pretty straightforward. The lexical analyzer's @@ -689,7 +682,7 @@ this one. file. We will have more to say about this in the section on <a href="#translation">Source-Form Translation</a>.</p> - <h2><a name="uses" id="uses">Use Capability Resolution</a></h2> + <h3><a name="uses" id="uses">Use Capability Resolution</a></h3> <p>The background problem that makes <strong>tic</strong> tricky is not the capability translation itself, it is the resolution of @@ -744,8 +737,8 @@ this one. overwriting entries newly made during the <strong>tic</strong> run, but not about overwriting ones that predate it.</p> - <h2><a name="translation" id="translation">Source-Form - Translation</a></h2> + <h3><a name="translation" id="translation">Source-Form + Translation</a></h3> <p>Another use of <strong>tic</strong> is to do source translation between various termcap and terminfo formats. There @@ -773,7 +766,7 @@ this one. where the AIX <strong>box1</strong> capability get translated to an <strong>acsc</strong> string.</p> - <h1><a name="utils" id="utils">Other Utilities</a></h1> + <h2><a name="utils" id="utils">Other Utilities</a></h2> <p>The <strong>infocmp</strong> utility is just a wrapper around the same entry-dumping code used by <strong>tic</strong> for @@ -787,7 +780,7 @@ this one. just do an entry load followed by a <code>tputs()</code> of a selected capability.</p> - <h1><a name="style" id="style">Style Tips for Developers</a></h1> + <h2><a name="style" id="style">Style Tips for Developers</a></h2> <p>See the TO-DO file in the top-level directory of the source distribution for additions that would be particularly useful.</p> @@ -816,7 +809,7 @@ this one. <p>Have fun!</p> - <h1><a name="port" id="port">Porting Hints</a></h1> + <h2><a name="port" id="port">Porting Hints</a></h2> <p>The following notes are intended to be a first step towards DOS and Macintosh ports of the ncurses libraries.</p> diff --git a/doc/html/index.html b/doc/html/index.html index 48377819044d..3f35122d4377 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -1,7 +1,7 @@ <!-- - $Id: index.html,v 1.9 2020/02/02 23:34:34 tom Exp $ + $Id: index.html,v 1.11 2022/11/26 17:39:53 tom Exp $ **************************************************************************** - * Copyright 2019,2020 Thomas E. Dickey * + * Copyright 2019-2020,2022 Thomas E. Dickey * * Copyright 2000-2013,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -30,21 +30,20 @@ **************************************************************************** --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> - <html> <head> <meta name="generator" content= - "HTML Tidy for Linux (vers 25 March 2009), see www.w3.org"> - + "HTML Tidy for HTML5 for Linux version 5.6.0"> <title>Welcome to ncurses</title> <link rel="author" href="mailto:bug-ncurses@gnu.org"> <meta http-equiv="Content-Type" content= "text/html; charset=us-ascii"> </head> - <body> - <h1>Welcome to ncurses</h1>From this index page you have access - to these further documents + <h1>Welcome to ncurses</h1> + + <p>From this index page you have access to these further + documents</p> <ul> <li>The <a href="announce.html">Announcement</a> of the current diff --git a/doc/html/man/adacurses6-config.1.html b/doc/html/man/adacurses6-config.1.html deleted file mode 100644 index ec3b1b7b5ab3..000000000000 --- a/doc/html/man/adacurses6-config.1.html +++ /dev/null @@ -1,146 +0,0 @@ -<!-- - **************************************************************************** - * Copyright 2019,2020 Thomas E. Dickey * - * Copyright 2010-2014,2016 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - **************************************************************************** - * @Id: MKada_config.in,v 1.12 2020/02/02 23:34:34 tom Exp @ ---> -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> -<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>ADACURSES 1 User Commands</TITLE> -<link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</HEAD> -<BODY> -<H1 class="no-header">ADACURSES 1 User Commands</H1> -<PRE> -<STRONG>ADACURSES(1)</STRONG> User Commands <STRONG>ADACURSES(1)</STRONG> - - - - -</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - adacurses6-config - helper script for AdaCurses libraries - - -</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> - <STRONG>adacurses6-config</STRONG> [<EM>options</EM>] - - -</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - This is a shell script which simplifies configuring an application to - use the AdaCurses library binding to ncurses. - - -</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE> - <STRONG>--cflags</STRONG> - echos the gnat (Ada compiler) flags needed to compile with - AdaCurses. - - <STRONG>--libs</STRONG> echos the gnat libraries needed to link with AdaCurses. - - <STRONG>--version</STRONG> - echos the release+patchdate version of the ncurses libraries - used to configure and build AdaCurses. - - <STRONG>--help</STRONG> prints a list of the <STRONG>adacurses6-config</STRONG> script's options. - - If no options are given, <STRONG>adacurses6-config</STRONG> prints the combination of - <STRONG>--cflags</STRONG> and <STRONG>--libs</STRONG> that <STRONG>gnatmake</STRONG> expects (see example). - - -</PRE><H2><a name="h2-EXAMPLE">EXAMPLE</a></H2><PRE> - For example, supposing that you want to compile the "Hello World!" - program for AdaCurses. Make a file named "hello.adb": - with Terminal_Interface.Curses; use Terminal_Interface.Curses; - - procedure Hello is - - Visibility : Cursor_Visibility := Invisible; - done : Boolean := False; - c : Key_Code; - - begin - - Init_Screen; - Set_Echo_Mode (False); - - Set_Cursor_Visibility (Visibility); - Set_Timeout_Mode (Standard_Window, Non_Blocking, 0); - - Move_Cursor (Line => Lines / 2, Column => (Columns - 12) / 2); - Add (Str => "Hello World!"); - - while not done loop - - c := Get_Keystroke (Standard_Window); - case c is - when Character'Pos ('q') => done := True; - when others => null; - end case; - - Nap_Milli_Seconds (50); - end loop; - - End_Windows; - - end Hello; - - Then, using - gnatmake `adacurses-config --cflags` hello -largs `adacurses- - config --libs` - - or (simpler): - gnatmake hello `adacurses-config` - - you will compile and link the program. - - -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> - - This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109). - - - - <STRONG>ADACURSES(1)</STRONG> -</PRE> -<div class="nav"> -<ul> -<li><a href="#h2-NAME">NAME</a></li> -<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> -<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> -<li><a href="#h2-OPTIONS">OPTIONS</a></li> -<li><a href="#h2-EXAMPLE">EXAMPLE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -</ul> -</div> -</BODY> -</HTML> diff --git a/doc/html/man/adacursesw6-config.1.html b/doc/html/man/adacursesw6-config.1.html new file mode 100644 index 000000000000..3ded34ae5818 --- /dev/null +++ b/doc/html/man/adacursesw6-config.1.html @@ -0,0 +1,144 @@ +<!-- + **************************************************************************** + * Copyright 2019-2023,2024 Thomas E. Dickey * + * Copyright 2010-2014,2016 Free Software Foundation, Inc. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * + * copy of this software and associated documentation files (the * + * "Software"), to deal in the Software without restriction, including * + * without limitation the rights to use, copy, modify, merge, publish, * + * distribute, distribute with modifications, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included * + * in all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * + * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * + * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * + * * + * Except as contained in this notice, the name(s) of the above copyright * + * holders shall not be used in advertising or otherwise to promote the * + * sale, use or other dealings in this Software without prior written * + * authorization. * + **************************************************************************** + * @Id: MKada_config.in,v 1.35 2024/04/20 21:13:27 tom Exp @ +--> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> +<HTML> +<HEAD> +<meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> +<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> +<TITLE>adacursesw6\-config 1 2024-04-20 ncurses 6.5 User commands</TITLE> +<link rel="author" href="mailto:bug-ncurses@gnu.org"> + +</HEAD> +<BODY> +<H1 class="no-header">adacursesw6\-config 1 2024-04-20 ncurses 6.5 User commands</H1> +<PRE> +<STRONG><A HREF="adacursesw6-config.1.html">adacursesw6-config(1)</A></STRONG> User commands <STRONG><A HREF="adacursesw6-config.1.html">adacursesw6-config(1)</A></STRONG> + + + + +</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> + <STRONG>adacursesw6-config</STRONG> - configuration helper for <EM>AdaCurses</EM> libraries + + +</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> + <STRONG>adacursesw6-config</STRONG> [<STRONG>--cflags</STRONG>] [<STRONG>--libs</STRONG>] + + <STRONG>adacursesw6-config</STRONG> <STRONG>--version</STRONG> + + <STRONG>adacursesw6-config</STRONG> <STRONG>--help</STRONG> + + +</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> + This program development aid simplifies the process of configuring + applications to use the <EM>AdaCurses</EM> library binding to <EM>ncurses</EM>. + + +</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE> + <STRONG>--cflags</STRONG> reports the GNAT (Ada compiler) flags needed to compile with + <EM>AdaCurses</EM>. + + <STRONG>--libs</STRONG> reports the GNAT libraries needed to link with <EM>AdaCurses</EM>. + + <STRONG>--version</STRONG> reports the release and patch date information of the + <EM>ncurses</EM> libraries used to configure and build <EM>AdaCurses</EM> and + exits successfully. + + <STRONG>--help</STRONG> issues a usage message and exits successfully. + + Omitting options implies "<STRONG>--cflags</STRONG> <STRONG>--libs</STRONG>". + + +</PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE> + Consider a program using <EM>AdaCurses</EM> to write the message "Hello, world!" + in the center of the screen and wait for the user to press the "q" key + before exiting. Populate a file <EM>hello.adb</EM> with the following. + + with Terminal_Interface.Curses; use Terminal_Interface.Curses; + + procedure Hello is + Visibility : Cursor_Visibility := Invisible; + Message : constant String := "Hello, World!"; + done : Boolean := False; + c : Key_Code; + begin + Init_Screen; + Set_Echo_Mode (False); + Set_Cursor_Visibility (Visibility); + Set_Timeout_Mode (Standard_Window, Non_Blocking, 0); + + Move_Cursor (Line => Lines / 2, + Column => (Columns - Message'Length) / 2); + Add (Str => Message); + + while not done loop + c := Get_Keystroke (Standard_Window); + + case c is + when Character'Pos ('q') => done := True; + when others => null; + end case; + + Nap_Milli_Seconds (50); + end loop; + + End_Windows; + + end Hello; + + Then, using + gnatmake `adacursesw6-config --cflags` hello \ + -largs `adacursesw6-config --libs` + or, more simply, + gnatmake hello `adacursesw6-config` + you can compile and link the program. + + +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> + + + +ncurses 6.5 2024-04-20 <STRONG><A HREF="adacursesw6-config.1.html">adacursesw6-config(1)</A></STRONG> +</PRE> +<div class="nav"> +<ul> +<li><a href="#h2-NAME">NAME</a></li> +<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> +<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> +<li><a href="#h2-OPTIONS">OPTIONS</a></li> +<li><a href="#h2-EXAMPLES">EXAMPLES</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> +</ul> +</div> +</BODY> +</HTML> diff --git a/doc/html/man/captoinfo.1m.html b/doc/html/man/captoinfo.1m.html index b4fe523ef8f6..92f9905e2a88 100644 --- a/doc/html/man/captoinfo.1m.html +++ b/doc/html/man/captoinfo.1m.html @@ -1,7 +1,7 @@ -<!-- +<!-- * t **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2016 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +28,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: captoinfo.1m,v 1.30 2020/02/02 23:34:34 tom Exp @ + * @Id: captoinfo.1m,v 1.63 2024/03/23 20:37:25 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>captoinfo 1m</TITLE> +<TITLE>captoinfo 1m 2024-03-23 ncurses 6.5 User commands</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">captoinfo 1m</H1> +<H1 class="no-header">captoinfo 1m 2024-03-23 ncurses 6.5 User commands</H1> <PRE> -<STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG> <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG> +<STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG> User commands <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG> @@ -52,175 +52,163 @@ </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> - <STRONG>captoinfo</STRONG> [<STRONG>-v</STRONG><EM>n</EM> <EM>width</EM>] [<STRONG>-V</STRONG>] [<STRONG>-1</STRONG>] [<STRONG>-w</STRONG> <EM>width</EM>] <EM>file</EM> ... - - -</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - <STRONG>captoinfo</STRONG> looks in each given text <EM>file</EM> for <STRONG>termcap</STRONG> descriptions. For - each one found, an equivalent <STRONG>terminfo</STRONG> description is written to - standard output. Termcap <STRONG>tc</STRONG> capabilities are translated directly to - terminfo <STRONG>use</STRONG> capabilities. - - If no <EM>file</EM> is given, then the environment variable <STRONG>TERMCAP</STRONG> is used for - the filename or entry. If <STRONG>TERMCAP</STRONG> is a full pathname to a file, only - the terminal whose name is specified in the environment variable <STRONG>TERM</STRONG> - is extracted from that file. If the environment variable <STRONG>TERMCAP</STRONG> is - not set, then the file <STRONG>/usr/share/terminfo</STRONG> is read. + <STRONG>captoinfo</STRONG> [<EM>tic-option</EM>] [<EM>file</EM> ...] - <STRONG>-v</STRONG> print out tracing information on standard error as the program - runs. + <STRONG>captoinfo</STRONG> <STRONG>-V</STRONG> - <STRONG>-V</STRONG> print out the version of the program in use on standard error and - exit. - <STRONG>-1</STRONG> cause the fields to print out one to a line. Otherwise, the - fields will be printed several to a line to a maximum width of 60 - characters. - - <STRONG>-w</STRONG> change the output to <EM>width</EM> characters. +</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> + <STRONG>captoinfo</STRONG> translates terminal descriptions. It looks in each given + text <EM>file</EM> for <EM>termcap</EM> entries and, for each one found, writes an + equivalent <EM>terminfo</EM> description to the standard output stream. <EM>termcap</EM> + <STRONG>tc</STRONG> capabilities translate to <EM>terminfo</EM> "<STRONG>use</STRONG>" capabilities. + + If no <EM>file</EM>s are specified, <STRONG>captoinfo</STRONG> interprets the content of the + environment variable <EM>TERMCAP</EM> as a file name, and extracts only the + entry for the terminal named in the environment variable <EM>TERM</EM> from it. + If the environment variable <EM>TERMCAP</EM> is not set, <STRONG>captoinfo</STRONG> reads + <EM>/etc/termcap</EM>. + + This utility is implemented as a link to <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, with the latter's <STRONG>-I</STRONG> + option implied. You can use other <STRONG>tic</STRONG> options such as <STRONG>-1</STRONG>, <STRONG>-f</STRONG>, <STRONG>-v</STRONG>, <STRONG>-w</STRONG>, + and <STRONG>-x</STRONG>. The <STRONG>-V</STRONG> option reports the version of <EM>ncurses</EM> associated with + this program and exits with a successful status. + + +</PRE><H3><a name="h3-Translations-from-Nonstandard-Capabilities">Translations from Nonstandard Capabilities</a></H3><PRE> + <STRONG>captoinfo</STRONG> translates some obsolete, nonstandard capabilities into + standard (SVr4/XSI Curses) <EM>terminfo</EM> capabilities. It issues a + diagnostic to the standard error stream for each, inviting the user to + check that it has not mistakenly translated an unknown or mistyped + capability name. + + <STRONG>Name</STRONG> + <STRONG>Obsolete</STRONG> <STRONG>Standard</STRONG> <STRONG>Origin</STRONG> <STRONG><EM>terminfo</EM></STRONG> <STRONG>capability</STRONG> + --------------------------------------------------------- + <STRONG>BO</STRONG> <STRONG>mr</STRONG> AT&T <STRONG>enter_reverse_mode</STRONG> + <STRONG>CI</STRONG> <STRONG>vi</STRONG> AT&T <STRONG>cursor_invisible</STRONG> + <STRONG>CV</STRONG> <STRONG>ve</STRONG> AT&T <STRONG>cursor_normal</STRONG> + <STRONG>DS</STRONG> <STRONG>mh</STRONG> AT&T <STRONG>enter_dim_mode</STRONG> + <STRONG>EE</STRONG> <STRONG>me</STRONG> AT&T <STRONG>exit_attribute_mode</STRONG> + <STRONG>FE</STRONG> <STRONG>LF</STRONG> AT&T <STRONG>label_on</STRONG> + <STRONG>FL</STRONG> <STRONG>LO</STRONG> AT&T <STRONG>label_off</STRONG> + <STRONG>XS</STRONG> <STRONG>mk</STRONG> AT&T <STRONG>enter_secure_mode</STRONG> + <STRONG>EN</STRONG> <STRONG>@7</STRONG> XENIX <STRONG>key_end</STRONG> + <STRONG>GE</STRONG> <STRONG>ae</STRONG> XENIX <STRONG>exit_alt_charset_mode</STRONG> + <STRONG>GS</STRONG> <STRONG>as</STRONG> XENIX <STRONG>enter_alt_charset_mode</STRONG> + <STRONG>HM</STRONG> <STRONG>kh</STRONG> XENIX <STRONG>key_home</STRONG> + <STRONG>LD</STRONG> <STRONG>kL</STRONG> XENIX <STRONG>key_dl</STRONG> + <STRONG>PD</STRONG> <STRONG>kN</STRONG> XENIX <STRONG>key_npage</STRONG> + <STRONG>PN</STRONG> <STRONG>po</STRONG> XENIX <STRONG>prtr_off</STRONG> + <STRONG>PS</STRONG> <STRONG>pf</STRONG> XENIX <STRONG>prtr_on</STRONG> + <STRONG>PU</STRONG> <STRONG>kP</STRONG> XENIX <STRONG>key_ppage</STRONG> + <STRONG>RT</STRONG> <STRONG>@8</STRONG> XENIX <STRONG>kent</STRONG> + <STRONG>UP</STRONG> <STRONG>ku</STRONG> XENIX <STRONG>kcuu1</STRONG> + <STRONG>KA</STRONG> <STRONG>k;</STRONG> Tektronix <STRONG>key_f10</STRONG> + <STRONG>KB</STRONG> <STRONG>F1</STRONG> Tektronix <STRONG>key_f11</STRONG> + <STRONG>KC</STRONG> <STRONG>F2</STRONG> Tektronix <STRONG>key_f12</STRONG> + <STRONG>KD</STRONG> <STRONG>F3</STRONG> Tektronix <STRONG>key_f13</STRONG> + <STRONG>KE</STRONG> <STRONG>F4</STRONG> Tektronix <STRONG>key_f14</STRONG> + <STRONG>KF</STRONG> <STRONG>F5</STRONG> Tektronix <STRONG>key_f15</STRONG> + <STRONG>BC</STRONG> <STRONG>Sb</STRONG> Tektronix <STRONG>set_background</STRONG> + + <STRONG>FC</STRONG> <STRONG>Sf</STRONG> Tektronix <STRONG>set_foreground</STRONG> + <STRONG>HS</STRONG> <STRONG>mh</STRONG> IRIX <STRONG>enter_dim_mode</STRONG> + + XENIX <EM>termcap</EM> had a set of extension capabilities, corresponding to box + drawing characters of CCSID ("code page") 437, as follows. + + <STRONG><EM>termcap</EM></STRONG> <STRONG>Name</STRONG> <STRONG>Graphic</STRONG> + ----------------------------------------- + <STRONG>G2</STRONG> upper left corner + <STRONG>G3</STRONG> lower left corner + <STRONG>G1</STRONG> upper right corner + <STRONG>G4</STRONG> lower right corner + <STRONG>GR</STRONG> tee pointing right + <STRONG>GL</STRONG> tee pointing left + <STRONG>GU</STRONG> tee pointing up + <STRONG>GD</STRONG> tee pointing down + <STRONG>GH</STRONG> horizontal line + <STRONG>GV</STRONG> vertical line + <STRONG>GC</STRONG> intersection + <STRONG>G6</STRONG> double upper left corner + <STRONG>G7</STRONG> double lower left corner + <STRONG>G5</STRONG> double upper right corner + <STRONG>G8</STRONG> double lower right corner + <STRONG>Gr</STRONG> double tee pointing right + <STRONG>Gr</STRONG> double tee pointing left + <STRONG>Gu</STRONG> double tee pointing up + <STRONG>Gd</STRONG> double tee pointing down + <STRONG>Gh</STRONG> double horizontal line + <STRONG>Gv</STRONG> double vertical line + <STRONG>Gc</STRONG> double intersection + <STRONG>GG</STRONG> ACS magic cookie count + + <STRONG>captoinfo</STRONG> composes single-line capabilities into an <STRONG>acsc</STRONG> string, and + discards <STRONG>GG</STRONG> and double-line capabilities with a warning diagnostic. + + IBM's AIX has a <EM>terminfo</EM> facility descended from SVr1 <EM>terminfo</EM>, but + which is incompatible with the SVr4 format. <STRONG>captoinfo</STRONG> translates the + following AIX extensions. + + <STRONG>IBM</STRONG> <STRONG>XSI</STRONG> + ------------- + ksel kslt + kbtab kcbt + font0 s0ds + font1 s1ds + font2 s2ds + font3 s3ds + + Additionally, this program translates the AIX <STRONG>box1</STRONG> capability to an + <STRONG>acsc</STRONG> string. + + The HP-UX <EM>terminfo</EM> library supports two nonstandard <EM>terminfo</EM> + capabilities, <STRONG>meml</STRONG> (memory lock) and <STRONG>memu</STRONG> (memory unlock). <STRONG>captoinfo</STRONG> + discards these with a warning message. </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE> - /usr/share/terminfo Compiled terminal description database. - - -</PRE><H2><a name="h2-TRANSLATIONS-FROM-NONSTANDARD-CAPABILITIES">TRANSLATIONS FROM NONSTANDARD CAPABILITIES</a></H2><PRE> - Some obsolete nonstandard capabilities will automatically be translated - into standard (SVr4/XSI Curses) terminfo capabilities by <STRONG>captoinfo</STRONG>. - Whenever one of these automatic translations is done, the program will - issue an notification to stderr, inviting the user to check that it has - not mistakenly translated a completely unknown and random capability - and/or syntax error. - - Nonstd Std From Terminfo - name name capability - ----------------------------------------------- - BO mr AT&T enter_reverse_mode - CI vi AT&T cursor_invisible - CV ve AT&T cursor_normal - DS mh AT&T enter_dim_mode - EE me AT&T exit_attribute_mode - FE LF AT&T label_on - FL LO AT&T label_off - XS mk AT&T enter_secure_mode - EN @7 XENIX key_end - GE ae XENIX exit_alt_charset_mode - GS as XENIX enter_alt_charset_mode - HM kh XENIX key_home - LD kL XENIX key_dl - PD kN XENIX key_npage - PN po XENIX prtr_off - PS pf XENIX prtr_on - PU kP XENIX key_ppage - - RT @8 XENIX kent - UP ku XENIX kcuu1 - KA k; Tek key_f10 - KB F1 Tek key_f11 - KC F2 Tek key_f12 - KD F3 Tek key_f13 - KE F4 Tek key_f14 - KF F5 Tek key_f15 - BC Sb Tek set_background - FC Sf Tek set_foreground - HS mh Iris enter_dim_mode - - XENIX termcap also used to have a set of extension capabilities for - forms drawing, designed to take advantage of the IBM PC high-half - graphics. They were as follows: - - Cap Graphic - ----------------------------- - G2 upper left - G3 lower left - G1 upper right - G4 lower right - GR pointing right - GL pointing left - GU pointing up - GD pointing down - GH horizontal line - GV vertical line - GC intersection - G6 upper left - G7 lower left - G5 upper right - G8 lower right - Gr tee pointing right - Gr tee pointing left - Gu tee pointing up - Gd tee pointing down - Gh horizontal line - Gv vertical line - Gc intersection - GG acs magic cookie count - - If the single-line capabilities occur in an entry, they will - automatically be composed into an <STRONG>acsc</STRONG> string. The double-line - capabilities and <STRONG>GG</STRONG> are discarded with a warning message. - - IBM's AIX has a terminfo facility descended from SVr1 terminfo but - incompatible with the SVr4 format. The following AIX extensions are - automatically translated: - - IBM XSI - ------------- - ksel kslt - kbtab kcbt - font0 s0ds - font1 s1ds - font2 s2ds - font3 s3ds - - Additionally, the AIX <EM>box1</EM> capability will be automatically translated - to an <STRONG>acsc</STRONG> string. - - Hewlett-Packard's terminfo library supports two nonstandard terminfo - capabilities <STRONG>meml</STRONG> (memory lock) and <STRONG>memu</STRONG> (memory unlock). These will - be discarded with a warning message. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - This utility is actually a link to <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, running in <EM>-I</EM> mode. You - can use other <STRONG>tic</STRONG> options such as <STRONG>-f</STRONG> and <STRONG>-x</STRONG>. - - The verbose option is not identical to SVr4's. Under SVr4, instead of - following the <STRONG>-v</STRONG> with a trace level n, you repeat it n times. + <EM>/etc/termcap</EM> + default <EM>termcap</EM> terminal capability database </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> X/Open Curses, Issue 7 (2009) describes <STRONG>tic</STRONG> briefly, but omits this - program. SVr4 systems provide <STRONG>captoinfo</STRONG> as a separate application from - <STRONG>tic</STRONG>. - - NetBSD does not provide this application. + program. + SVr4 systems provide <STRONG>captoinfo</STRONG> as a separate application from <STRONG>tic</STRONG>. Its + <STRONG>-v</STRONG> option does not accept a trace level argument <EM>n</EM>; repeat <STRONG>-v</STRONG> <EM>n</EM> times + instead. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> - - This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109). + NetBSD does not provide this application. -</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE> +</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE> Eric S. Raymond <esr@snark.thyrsus.com> and Thomas E. Dickey <dickey@invisible-island.net> +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> + + - <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG> +ncurses 6.5 2024-03-23 <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG> </PRE> <div class="nav"> <ul> <li><a href="#h2-NAME">NAME</a></li> <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> -<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> +<li><a href="#h2-DESCRIPTION">DESCRIPTION</a> +<ul> +<li><a href="#h3-Translations-from-Nonstandard-Capabilities">Translations from Nonstandard Capabilities</a></li> +</ul> +</li> <li><a href="#h2-FILES">FILES</a></li> -<li><a href="#h2-TRANSLATIONS-FROM-NONSTANDARD-CAPABILITIES">TRANSLATIONS FROM NONSTANDARD CAPABILITIES</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-AUTHORS">AUTHORS</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-AUTHOR">AUTHOR</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/clear.1.html b/doc/html/man/clear.1.html index 15d8ad5c39e3..e7da4da4f41d 100644 --- a/doc/html/man/clear.1.html +++ b/doc/html/man/clear.1.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,23 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: clear.1,v 1.23 2020/02/02 23:34:34 tom Exp @ - * these would be fallbacks for DS/DE, - * but groff changed the meaning of the macros. + * @Id: clear.1,v 1.48 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>clear 1</TITLE> +<TITLE>clear 1 2024-03-16 ncurses 6.5 User commands</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">clear 1</H1> +<H1 class="no-header">clear 1 2024-03-16 ncurses 6.5 User commands</H1> <PRE> -<STRONG><A HREF="clear.1.html">clear(1)</A></STRONG> General Commands Manual <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG> +<STRONG><A HREF="clear.1.html">clear(1)</A></STRONG> User commands <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG> @@ -53,108 +51,104 @@ </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> - <STRONG>clear</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] [<STRONG>-V</STRONG>] [<STRONG>-x</STRONG>] + <STRONG>clear</STRONG> [<STRONG>-x</STRONG>] [<STRONG>-T</STRONG> <EM>terminal-type</EM>] + + <STRONG>clear</STRONG> <STRONG>-V</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - <STRONG>clear</STRONG> clears your screen if this is possible, including its scrollback - buffer (if the extended "E3" capability is defined). <STRONG>clear</STRONG> looks in - the environment for the terminal type given by the environment variable - <STRONG>TERM</STRONG>, and then in the <STRONG>terminfo</STRONG> database to determine how to clear the - screen. + <STRONG>clear</STRONG> clears your terminal's screen and its scrollback buffer, if any. + <STRONG>clear</STRONG> retrieves the terminal type from the environment variable <EM>TERM</EM>, + then consults the <EM>terminfo</EM> terminal capability database entry for that + type to determine how to perform these actions. - <STRONG>clear</STRONG> writes to the standard output. You can redirect the standard - output to a file (which prevents <STRONG>clear</STRONG> from actually clearing the - screen), and later <STRONG>cat</STRONG> the file to the screen, clearing it at that - point. + The capabilities to clear the screen and scrollback buffer are named + "clear" and "E3", respectively. The latter is a <EM>user-defined</EM> + <EM>capability</EM>, applying an extension mechanism introduced in <EM>ncurses</EM> 5.0 + (1999). </PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE> - <STRONG>-T</STRONG> <EM>type</EM> - indicates the <EM>type</EM> of terminal. Normally this option is - unnecessary, because the default is taken from the environment - variable <STRONG>TERM</STRONG>. If <STRONG>-T</STRONG> is specified, then the shell variables <STRONG>LINES</STRONG> - and <STRONG>COLUMNS</STRONG> will also be ignored. + <STRONG>clear</STRONG> recognizes the following options. + + <STRONG>-T</STRONG> <EM>type</EM> produces instructions suitable for the terminal <EM>type</EM>. + Normally, this option is unnecessary, because the terminal + type is inferred from the environment variable <EM>TERM</EM>. If this + option is specified, <STRONG>clear</STRONG> ignores the environment variables + <EM>LINES</EM> and <EM>COLUMNS</EM> as well. + + <STRONG>-V</STRONG> reports the version of <EM>ncurses</EM> associated with this program + and exits with a successful status. + + <STRONG>-x</STRONG> prevents <STRONG>clear</STRONG> from attempting to clear the scrollback buffer. - <STRONG>-V</STRONG> reports the version of ncurses which was used in this program, and - exits. The options are as follows: - <STRONG>-x</STRONG> do not attempt to clear the terminal's scrollback buffer using the - extended "E3" capability. +</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> + Neither IEEE Std 1003.1/The Open Group Base Specifications Issue 7 + (POSIX.1-2008) nor X/Open Curses Issue 7 documents <STRONG>clear</STRONG>. + + The latter documents <STRONG>tput</STRONG>, which could be used to replace this utility + either via a shell script or by an alias (such as a symbolic link) to + run <STRONG>tput</STRONG> as <STRONG>clear</STRONG>. </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE> - A <STRONG>clear</STRONG> command appeared in 2.79BSD dated February 24, 1979. Later - that was provided in Unix 8th edition (1985). + A <STRONG>clear</STRONG> command using the <EM>termcap</EM> database and library appeared in 2BSD + (1979). Eighth Edition Unix (1985) later included it. - AT&T adapted a different BSD program (<STRONG>tset</STRONG>) to make a new command - (<STRONG>tput</STRONG>), and used this to replace the <STRONG>clear</STRONG> command with a shell script - which calls <STRONG>tput</STRONG> <STRONG>clear</STRONG>, e.g., + The commercial Unix arm of AT&T adapted a different BSD program (<STRONG>tset</STRONG>) + to make a new command, <STRONG>tput</STRONG>, and replaced the <STRONG>clear</STRONG> program with a + shell script that called "<STRONG>tput</STRONG> <STRONG>clear</STRONG>". /usr/bin/tput ${1:+-T$1} clear 2> /dev/null exit In 1989, when Keith Bostic revised the BSD <STRONG>tput</STRONG> command to make it - similar to the AT&T <STRONG>tput</STRONG>, he added a shell script for the <STRONG>clear</STRONG> - command: + similar to AT&T's <STRONG>tput</STRONG>, he added a <STRONG>clear</STRONG> shell script as well. exec tput clear The remainder of the script in each case is a copyright notice. - The ncurses <STRONG>clear</STRONG> command began in 1995 by adapting the original BSD - <STRONG>clear</STRONG> command (with terminfo, of course). - - The <STRONG>E3</STRONG> extension came later: + In 1995, <EM>ncurses</EM>'s <STRONG>clear</STRONG> began by adapting BSD's original <STRONG>clear</STRONG> command + to use <EM>terminfo</EM>. The <STRONG>E3</STRONG> extension came later. - <STRONG>o</STRONG> In June 1999, xterm provided an extension to the standard control - sequence for clearing the screen. Rather than clearing just the + <STRONG>o</STRONG> In June 1999, <EM>xterm</EM> provided an extension to the standard control + sequence for clearing the screen. Rather than clearing just the visible part of the screen using printf '\033[2J' - one could clear the <EM>scrollback</EM> using + one could clear the scrollback buffer as well by using printf '\033[<STRONG>3</STRONG>J' - This is documented in <EM>XTerm</EM> <EM>Control</EM> <EM>Sequences</EM> as a feature - originating with xterm. + instead. "XTerm Control Sequences" documents this feature as + originating with <EM>xterm</EM>. - <STRONG>o</STRONG> A few other terminal developers adopted the feature, e.g., PuTTY in - 2006. + <STRONG>o</STRONG> A few other terminal emulators adopted it, such as PuTTY in 2006. <STRONG>o</STRONG> In April 2011, a Red Hat developer submitted a patch to the Linux - kernel, modifying its console driver to do the same thing. The - Linux change, part of the 3.0 release, did not mention xterm, - although it was cited in the Red Hat bug report (#683733) which led - to the change. + kernel, modifying its console driver to do the same thing. + Documentation of this change, appearing in Linux 3.0, did not + mention <EM>xterm</EM>, although that program was cited in the Red Hat bug + report (#683733) motivating the feature. - <STRONG>o</STRONG> Again, a few other terminal developers adopted the feature. But - the next relevant step was a change to the <STRONG>clear</STRONG> program in 2013 to - incorporate this extension. + <STRONG>o</STRONG> Subsequently, more terminal developers adopted the feature. The + next relevant step was to change the <EM>ncurses</EM> <STRONG>clear</STRONG> program in 2013 + to incorporate this extension. - <STRONG>o</STRONG> In 2013, the <STRONG>E3</STRONG> extension was overlooked in <STRONG>tput</STRONG> with the "clear" - parameter. That was addressed in 2016 by reorganizing <STRONG>tput</STRONG> to - share its logic with <STRONG>clear</STRONG> and <STRONG>tset</STRONG>. - - -</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - Neither IEEE Std 1003.1/The Open Group Base Specifications Issue 7 - (POSIX.1-2008) nor X/Open Curses Issue 7 documents tset or reset. - - The latter documents <STRONG>tput</STRONG>, which could be used to replace this utility - either via a shell script or by an alias (such as a symbolic link) to - run <STRONG>tput</STRONG> as <STRONG>clear</STRONG>. + <STRONG>o</STRONG> In 2013, the <STRONG>E3</STRONG> capability was not exercised by "<STRONG>tput</STRONG> <STRONG>clear</STRONG>". That + oversight was addressed in 2016 by reorganizing <STRONG>tput</STRONG> to share its + logic with <STRONG>clear</STRONG> and <STRONG>tset</STRONG>. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> - - This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109). + <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG>xterm(1)</STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> - <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -162,8 +156,8 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-OPTIONS">OPTIONS</a></li> -<li><a href="#h2-HISTORY">HISTORY</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-HISTORY">HISTORY</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> diff --git a/doc/html/man/curs_add_wch.3x.html b/doc/html/man/curs_add_wch.3x.html index 2aa592000831..64c645d5ad02 100644 --- a/doc/html/man/curs_add_wch.3x.html +++ b/doc/html/man/curs_add_wch.3x.html @@ -1,6 +1,7 @@ -<!-- +<!-- + * t **************************************************************************** - * Copyright 2019,2020 Thomas E. Dickey * + * Copyright 2019-2023,2024 Thomas E. Dickey * * Copyright 2001-2015,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,60 +28,68 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_add_wch.3x,v 1.28 2020/10/17 23:10:38 tom Exp @ + * @Id: curs_add_wch.3x,v 1.62 2024/04/20 21:20:07 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_add_wch 3x</TITLE> +<TITLE>curs_add_wch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_add_wch 3x</H1> +<H1 class="no-header">curs_add_wch 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> +<STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> <STRONG>add_wch</STRONG>, <STRONG>wadd_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, <STRONG>mvwadd_wch</STRONG>, <STRONG>echo_wchar</STRONG>, <STRONG>wecho_wchar</STRONG> - add - a complex character and rendition to a <STRONG>curses</STRONG> window, then advance the - cursor + a <EM>curses</EM> complex character to a window and advance the cursor </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> - <STRONG>int</STRONG> <STRONG>add_wch(</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>wadd_wch(</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>mvadd_wch(</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>mvwadd_wch(</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>add_wch(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>wadd_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>mvadd_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>mvwadd_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>echo_wchar(</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>wecho_wchar(</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>echo_wchar(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>wecho_wchar(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> </PRE><H3><a name="h3-add_wch">add_wch</a></H3><PRE> - The <STRONG>add_wch</STRONG>, <STRONG>wadd_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, and <STRONG>mvwadd_wch</STRONG> functions put the - complex character <EM>wch</EM> into the given window at its current position, - which is then advanced. These functions perform wrapping and special- + The <STRONG>add_wch</STRONG>, <STRONG>wadd_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, and <STRONG>mvwadd_wch</STRONG> functions put the + complex character <EM>wch</EM> into the given window at its current position, + which is then advanced. These functions perform wrapping and special- character processing as follows: - <STRONG>o</STRONG> If <EM>wch</EM> refers to a spacing character, then any previous character - at that location is removed. A new character specified by <EM>wch</EM> is - placed at that location with rendition specified by <EM>wch</EM>. The - cursor then advances to the next spacing character on the screen. + <STRONG>o</STRONG> If <EM>wch</EM> refers to a spacing character, then any previous character + at that location is removed. A new character specified by <EM>wch</EM> is + placed at that location with rendition specified by <EM>wch</EM>. The + cursor then advances after this spacing character, to prepare for + writing the next character on the screen. + + The newly added spacing character is the base of the active complex + character. Subsequent non-spacing characters can be combined with + this base until another spacing character is written to the screen, + or the cursor is moved, e.g., using <STRONG>wmove</STRONG>. + + <STRONG>o</STRONG> If <EM>wch</EM> refers to a non-spacing character, it is appended to the + active complex character, retaining the previous characters at that + location. The rendition specified by <EM>wch</EM> is ignored. - <STRONG>o</STRONG> If <EM>wch</EM> refers to a non-spacing character, all previous characters - at that location are preserved. The non-spacing characters of <EM>wch</EM> - are added to the spacing complex character, and the rendition - specified by <EM>wch</EM> is ignored. + The cursor is not advanced after adding a non-spacing character. + Subsequent calls to add non-spacing characters will update the same + position. <STRONG>o</STRONG> If the character part of <EM>wch</EM> is a tab, newline, backspace or other control character, the window is updated and the cursor moves as if @@ -102,80 +111,82 @@ lines and other frequently used special characters. These symbols correspond to the same VT100 line-drawing set as <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>. - <STRONG>ACS</STRONG> <STRONG>Unicode</STRONG> <STRONG>ASCII</STRONG> <STRONG>acsc</STRONG> <STRONG>Glyph</STRONG> - <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Default</STRONG> <STRONG>char</STRONG> <STRONG>Name</STRONG> + <STRONG>Unicode</STRONG> <STRONG>ASCII</STRONG> <STRONG>acsc</STRONG> + + + <STRONG>ACS</STRONG> <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Default</STRONG> <STRONG>Char</STRONG> <STRONG>Glyph</STRONG> <STRONG>Name</STRONG> ------------------------------------------------------------------------ - WACS_BLOCK 0x25ae # 0 solid square block - WACS_BOARD 0x2592 # h board of squares - WACS_BTEE 0x2534 + v bottom tee - WACS_BULLET 0x00b7 o ~ bullet - WACS_CKBOARD 0x2592 : a checker board (stipple) - WACS_DARROW 0x2193 v . arrow pointing down - WACS_DEGREE 0x00b0 ' f degree symbol - - WACS_DIAMOND 0x25c6 + ` diamond - WACS_GEQUAL 0x2265 > > greater-than-or-equal-to - WACS_HLINE 0x2500 - q horizontal line - WACS_LANTERN 0x2603 # i lantern symbol - WACS_LARROW 0x2190 < , arrow pointing left - WACS_LEQUAL 0x2264 < y less-than-or-equal-to - WACS_LLCORNER 0x2514 + m lower left-hand corner - WACS_LRCORNER 0x2518 + j lower right-hand corner - WACS_LTEE 0x2524 + t left tee - WACS_NEQUAL 0x2260 ! | not-equal - WACS_PI 0x03c0 * { greek pi - WACS_PLMINUS 0x00b1 # g plus/minus - WACS_PLUS 0x253c + n plus - WACS_RARROW 0x2192 > + arrow pointing right - WACS_RTEE 0x251c + u right tee - WACS_S1 0x23ba - o scan line 1 - WACS_S3 0x23bb - p scan line 3 - WACS_S7 0x23bc - r scan line 7 - WACS_S9 0x23bd _ s scan line 9 - WACS_STERLING 0x00a3 f } pound-sterling symbol - WACS_TTEE 0x252c + w top tee - WACS_UARROW 0x2191 ^ - arrow pointing up - WACS_ULCORNER 0x250c + l upper left-hand corner - WACS_URCORNER 0x2510 + k upper right-hand corner - WACS_VLINE 0x2502 | x vertical line - - The wide-character configuration of ncurses also defines symbols for + <STRONG>WACS_BLOCK</STRONG> 0x25ae # 0 solid square block + <STRONG>WACS_BOARD</STRONG> 0x2592 # h board of squares + <STRONG>WACS_BTEE</STRONG> 0x2534 + v bottom tee + <STRONG>WACS_BULLET</STRONG> 0x00b7 o ~ bullet + <STRONG>WACS_CKBOARD</STRONG> 0x2592 : a checker board (stipple) + <STRONG>WACS_DARROW</STRONG> 0x2193 v . arrow pointing down + <STRONG>WACS_DEGREE</STRONG> 0x00b0 ' f degree symbol + <STRONG>WACS_DIAMOND</STRONG> 0x25c6 + ` diamond + <STRONG>WACS_GEQUAL</STRONG> 0x2265 > > greater-than-or-equal-to + <STRONG>WACS_HLINE</STRONG> 0x2500 - q horizontal line + <STRONG>WACS_LANTERN</STRONG> 0x2603 # i lantern symbol + <STRONG>WACS_LARROW</STRONG> 0x2190 < , arrow pointing left + <STRONG>WACS_LEQUAL</STRONG> 0x2264 < y less-than-or-equal-to + <STRONG>WACS_LLCORNER</STRONG> 0x2514 + m lower left-hand corner + <STRONG>WACS_LRCORNER</STRONG> 0x2518 + j lower right-hand corner + <STRONG>WACS_LTEE</STRONG> 0x2524 + t left tee + <STRONG>WACS_NEQUAL</STRONG> 0x2260 ! | not-equal + <STRONG>WACS_PI</STRONG> 0x03c0 * { greek pi + <STRONG>WACS_PLMINUS</STRONG> 0x00b1 # g plus/minus + <STRONG>WACS_PLUS</STRONG> 0x253c + n plus + <STRONG>WACS_RARROW</STRONG> 0x2192 > + arrow pointing right + <STRONG>WACS_RTEE</STRONG> 0x251c + u right tee + <STRONG>WACS_S1</STRONG> 0x23ba - o scan line 1 + <STRONG>WACS_S3</STRONG> 0x23bb - p scan line 3 + <STRONG>WACS_S7</STRONG> 0x23bc - r scan line 7 + <STRONG>WACS_S9</STRONG> 0x23bd _ s scan line 9 + <STRONG>WACS_STERLING</STRONG> 0x00a3 f } pound-sterling symbol + <STRONG>WACS_TTEE</STRONG> 0x252c + w top tee + <STRONG>WACS_UARROW</STRONG> 0x2191 ^ - arrow pointing up + <STRONG>WACS_ULCORNER</STRONG> 0x250c + l upper left-hand corner + <STRONG>WACS_URCORNER</STRONG> 0x2510 + k upper right-hand corner + <STRONG>WACS_VLINE</STRONG> 0x2502 | x vertical line + + The wide-character configuration of <EM>ncurses</EM> also defines symbols for thick lines (<STRONG>acsc</STRONG> "J" to "V"): - <STRONG>ACS</STRONG> <STRONG>Unicode</STRONG> <STRONG>ASCII</STRONG> <STRONG>acsc</STRONG> <STRONG>Glyph</STRONG> - <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Default</STRONG> <STRONG>char</STRONG> <STRONG>Name</STRONG> - ----------------------------------------------------------------------- - WACS_T_BTEE 0x253b + V thick tee pointing up - WACS_T_HLINE 0x2501 - Q thick horizontal line - WACS_T_LLCORNER 0x2517 + M thick lower left corner - WACS_T_LRCORNER 0x251b + J thick lower right corner - WACS_T_LTEE 0x252b + T thick tee pointing right - WACS_T_PLUS 0x254b + N thick large plus - WACS_T_RTEE 0x2523 + U thick tee pointing left - WACS_T_TTEE 0x2533 + W thick tee pointing down - WACS_T_ULCORNER 0x250f + L thick upper left corner - WACS_T_URCORNER 0x2513 + K thick upper right corner - WACS_T_VLINE 0x2503 | X thick vertical line + <STRONG>Unicode</STRONG> <STRONG>ASCII</STRONG> <STRONG>acsc</STRONG> + <STRONG>ACS</STRONG> <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Default</STRONG> <STRONG>Char</STRONG> <STRONG>Glyph</STRONG> <STRONG>Name</STRONG> + ------------------------------------------------------------------------ + <STRONG>WACS_T_BTEE</STRONG> 0x253b + V thick tee pointing up + <STRONG>WACS_T_HLINE</STRONG> 0x2501 - Q thick horizontal line + <STRONG>WACS_T_LLCORNER</STRONG> 0x2517 + M thick lower left corner + <STRONG>WACS_T_LRCORNER</STRONG> 0x251b + J thick lower right corner + <STRONG>WACS_T_LTEE</STRONG> 0x252b + T thick tee pointing right + <STRONG>WACS_T_PLUS</STRONG> 0x254b + N thick large plus + <STRONG>WACS_T_RTEE</STRONG> 0x2523 + U thick tee pointing left + <STRONG>WACS_T_TTEE</STRONG> 0x2533 + W thick tee pointing down + <STRONG>WACS_T_ULCORNER</STRONG> 0x250f + L thick upper left corner + <STRONG>WACS_T_URCORNER</STRONG> 0x2513 + K thick upper right corner + <STRONG>WACS_T_VLINE</STRONG> 0x2503 | X thick vertical line and for double-lines (<STRONG>acsc</STRONG> "A" to "I"): - <STRONG>ACS</STRONG> <STRONG>Unicode</STRONG> <STRONG>ASCII</STRONG> <STRONG>acsc</STRONG> <STRONG>Glyph</STRONG> - <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Default</STRONG> <STRONG>char</STRONG> <STRONG>Name</STRONG> + <STRONG>Unicode</STRONG> <STRONG>ASCII</STRONG> <STRONG>acsc</STRONG> + <STRONG>ACS</STRONG> <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Default</STRONG> <STRONG>Char</STRONG> <STRONG>Glyph</STRONG> <STRONG>Name</STRONG> ------------------------------------------------------------------------ - WACS_D_BTEE 0x2569 + H double tee pointing up - WACS_D_HLINE 0x2550 - R double horizontal line - WACS_D_LLCORNER 0x255a + D double lower left corner - WACS_D_LRCORNER 0x255d + A double lower right corner - WACS_D_LTEE 0x2560 + F double tee pointing right - WACS_D_PLUS 0x256c + E double large plus - WACS_D_RTEE 0x2563 + G double tee pointing left - WACS_D_TTEE 0x2566 + I double tee pointing down - WACS_D_ULCORNER 0x2554 + C double upper left corner - WACS_D_URCORNER 0x2557 + B double upper right corner - WACS_D_VLINE 0x2551 | Y double vertical line + <STRONG>WACS_D_BTEE</STRONG> 0x2569 + H double tee pointing up + <STRONG>WACS_D_HLINE</STRONG> 0x2550 - R double horizontal line + <STRONG>WACS_D_LLCORNER</STRONG> 0x255a + D double lower left corner + <STRONG>WACS_D_LRCORNER</STRONG> 0x255d + A double lower right corner + <STRONG>WACS_D_LTEE</STRONG> 0x2560 + F double tee pointing right + <STRONG>WACS_D_PLUS</STRONG> 0x256c + E double large plus + <STRONG>WACS_D_RTEE</STRONG> 0x2563 + G double tee pointing left + + <STRONG>WACS_D_TTEE</STRONG> 0x2566 + I double tee pointing down + <STRONG>WACS_D_ULCORNER</STRONG> 0x2554 + C double upper left corner + <STRONG>WACS_D_URCORNER</STRONG> 0x2557 + B double upper right corner + <STRONG>WACS_D_VLINE</STRONG> 0x2551 | Y double vertical line Unicode's descriptions for these characters differs slightly from - ncurses, by introducing the term "light" (along with less important + <EM>ncurses</EM>, by introducing the term "light" (along with less important details). Here are its descriptions for the normal, thick, and double horizontal lines: @@ -189,8 +200,8 @@ </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success. - X/Open does not define any error conditions. This implementation - returns an error + X/Open Curses does not specify any error conditions. This + implementation returns an error <STRONG>o</STRONG> if the window pointer is null or @@ -198,17 +209,16 @@ The latter may be due to different causes: - <STRONG>o</STRONG> If <STRONG>scrollok</STRONG> is not enabled, writing a character at the lower right - margin succeeds. However, an error is returned because it is not - possible to wrap to a new line + <STRONG>o</STRONG> If <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG> is not enabled, writing a character at the lower + right margin succeeds. However, an error is returned because it is + not possible to wrap to a new line. <STRONG>o</STRONG> If an error is detected when converting a multibyte character to a sequence of bytes, or if it is not possible to add all of the resulting bytes in the window, an error is returned. - Functions with a "mv" prefix first perform a cursor movement using - <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if - the window pointer is null. + Functions prefixed with "mv" first perform cursor movement and fail if + the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries. </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> @@ -216,41 +226,42 @@ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - All of these functions are described in the XSI Curses standard, Issue - 4. The defaults specified for line-drawing characters apply in the - POSIX locale. + These functions are described in X/Open Curses, Issue 4. The defaults + specified for line-drawing characters apply in the POSIX locale. + +</PRE><H3><a name="h3-WACS-Symbols">WACS Symbols</a></H3><PRE> X/Open Curses makes it clear that the WACS_ symbols should be defined as a pointer to <STRONG>cchar_t</STRONG> data, e.g., in the discussion of <STRONG>border_set</STRONG>. A few implementations are problematic: <STRONG>o</STRONG> NetBSD curses defines the symbols as a <STRONG>wchar_t</STRONG> within a <STRONG>cchar_t</STRONG>. - <STRONG>o</STRONG> HPUX curses equates some of the <EM>ACS</EM><STRONG>_</STRONG> symbols to the analogous <EM>WACS</EM><STRONG>_</STRONG> - symbols as if the <EM>ACS</EM><STRONG>_</STRONG> symbols were wide characters. The + <STRONG>o</STRONG> HP-UX curses equates some of the <STRONG>ACS_</STRONG> symbols to the analogous + <STRONG>WACS_</STRONG> symbols as if the <STRONG>ACS_</STRONG> symbols were wide characters. The misdefined symbols are the arrows and other symbols which are not used for line-drawing. - X/Open Curses does not define symbols for thick- or double-lines. SVr4 - curses implementations defined their line-drawing symbols in terms of - intermediate symbols. This implementation extends those symbols, + X/Open Curses does not specify symbols for thick- or double-lines. + SVr4 curses implementations defined their line-drawing symbols in terms + of intermediate symbols. This implementation extends those symbols, providing new definitions which are not in the SVr4 implementations. Not all Unicode-capable terminals provide support for VT100-style alternate character sets (i.e., the <STRONG>acsc</STRONG> capability), with their corresponding line-drawing characters. X/Open Curses did not address the aspect of integrating Unicode with line-drawing characters. - Existing implementations of Unix curses (AIX, HPUX, Solaris) use only + Existing implementations of Unix curses (AIX, HP-UX, Solaris) use only the <STRONG>acsc</STRONG> character-mapping to provide this feature. As a result, those implementations can only use single-byte line-drawing characters. - Ncurses 5.3 (2002) provided a table of Unicode values to solve these + <EM>ncurses</EM> 5.3 (2002) provided a table of Unicode values to solve these problems. NetBSD curses incorporated that table in 2010. In this implementation, the Unicode values are used instead of the terminal description's <STRONG>acsc</STRONG> mapping as discussed in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> for the - environment variable <STRONG>NCURSES_NO_UTF8_ACS</STRONG>. In contrast, for the same - cases, the line-drawing characters described in <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> will use - only the ASCII default values. + environment variable <EM>NCURSES</EM><STRONG>_</STRONG><EM>NO</EM><STRONG>_</STRONG><EM>UTF8</EM><STRONG>_</STRONG><EM>ACS</EM>. In contrast, for the same + cases, the line-drawing characters described in <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG> will use only + the ASCII default values. Having Unicode available does not solve all of the problems with line- drawing for curses: @@ -284,13 +295,40 @@ and horizontal), and U+2612 (ballot box with x). +</PRE><H3><a name="h3-Complex-Characters">Complex Characters</a></H3><PRE> + The complex character type <STRONG>cchar_t</STRONG> can store more than one wide + character (<STRONG>wchar_t</STRONG>). The X/Open Curses description does not mention + this possibility, describing only the cases where <EM>wch</EM> is a spacing + character or a non-spacing character. + + This implementation assumes that <EM>wch</EM> is constructed using <STRONG><A HREF="curs_getcchar.3x.html">setcchar(3x)</A></STRONG>, + and in turn that the result + + <STRONG>o</STRONG> contains at most one spacing character in the beginning of its list + of wide characters, and zero or more non-spacing characters or + + <STRONG>o</STRONG> may hold one non-spacing character. + + In the latter case, <EM>ncurses</EM> adds the non-spacing character to the + active (base) spacing character. + + +</PRE><H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE> + The <STRONG>TABSIZE</STRONG> variable is implemented in SVr4 and other versions of + <EM>curses</EM>, but is not specified by X/Open Curses (see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>). + + </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, - <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG>putwc(3)</STRONG> + <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library in + its non-wide-character configuration. + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, + <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, + <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>putwc(3)</STRONG> - <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> + +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -305,7 +343,13 @@ </li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> <li><a href="#h2-NOTES">NOTES</a></li> -<li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-PORTABILITY">PORTABILITY</a> +<ul> +<li><a href="#h3-WACS-Symbols">WACS Symbols</a></li> +<li><a href="#h3-Complex-Characters">Complex Characters</a></li> +<li><a href="#h3-TABSIZE">TABSIZE</a></li> +</ul> +</li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> diff --git a/doc/html/man/curs_add_wchstr.3x.html b/doc/html/man/curs_add_wchstr.3x.html index ea65069211eb..f554061d849d 100644 --- a/doc/html/man/curs_add_wchstr.3x.html +++ b/doc/html/man/curs_add_wchstr.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2019,2020 Thomas E. Dickey * + * Copyright 2019-2023,2024 Thomas E. Dickey * * Copyright 2002-2012,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,81 +27,85 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_add_wchstr.3x,v 1.15 2020/12/19 21:39:06 tom Exp @ + * @Id: curs_add_wchstr.3x,v 1.39 2024/04/20 21:20:07 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_add_wchstr 3x</TITLE> +<TITLE>curs_add_wchstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_add_wchstr 3x</H1> +<H1 class="no-header">curs_add_wchstr 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> +<STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>add_wchstr</STRONG>, <STRONG>add_wchnstr</STRONG>, <STRONG>wadd_wchstr</STRONG>, <STRONG>wadd_wchnstr</STRONG>, <STRONG>mvadd_wchstr</STRONG>, - <STRONG>mvadd_wchnstr</STRONG>, <STRONG>mvwadd_wchstr</STRONG>, <STRONG>mvwadd_wchnstr</STRONG> - add an array of complex - characters (and attributes) to a curses window + <STRONG>add_wchstr</STRONG>, <STRONG>add_wchnstr</STRONG>, <STRONG>wadd_wchstr</STRONG>, <STRONG>wadd_wchnstr</STRONG>, <STRONG>mvadd_wchstr</STRONG>, + <STRONG>mvadd_wchnstr</STRONG>, <STRONG>mvwadd_wchstr</STRONG>, <STRONG>mvwadd_wchnstr</STRONG> - add a <EM>curses</EM> complex + character string to a window </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> <STRONG>int</STRONG> <STRONG>add_wchstr(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>add_wchnstr(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>wadd_wchstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>wadd_wchnstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>mvadd_wchstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>mvadd_wchnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>mvwadd_wchstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG> + + <STRONG>int</STRONG> <STRONG>add_wchnstr(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>wadd_wchnstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>mvadd_wchnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>mvwadd_wchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> These functions copy the (null-terminated) array of complex characters <EM>wchstr</EM> into the window image structure starting at the current cursor - position. The four functions with <EM>n</EM> as the last argument copy at most - <EM>n</EM> elements, but no more than will fit on the line. If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the - whole array is copied, to the maximum number of characters that will - fit on the line. + position. - The window cursor is <EM>not</EM> advanced. These functions work faster than + The four functions with <EM>n</EM> as the last argument copy at most <EM>n</EM> elements, + but no more than will fit on the line. If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the whole array is + copied, to the maximum number of characters that will fit on the line. + + The window cursor is <EM>not</EM> advanced. These functions are faster than <STRONG>waddnstr</STRONG>. On the other hand: - <STRONG>o</STRONG> they do not perform checking (such as for the newline, backspace, + <STRONG>o</STRONG> they do not perform checking (such as for the newline, backspace, or carriage return characters), <STRONG>o</STRONG> they do not advance the current cursor position, <STRONG>o</STRONG> they do not expand other control characters to ^-escapes, and - <STRONG>o</STRONG> they truncate the string if it crosses the right margin, rather + <STRONG>o</STRONG> they truncate the string if it crosses the right margin, rather than wrapping it around to the new line. - These functions end successfully on encountering a null <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>, or - when they have filled the current line. If a complex character cannot - completely fit at the end of the current line, the remaining columns + These functions end successfully on encountering a null <STRONG>cchar_t</STRONG>, or + when they have filled the current line. If a complex character cannot + completely fit at the end of the current line, the remaining columns are filled with the background character and rendition. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success. - X/Open does not define any error conditions. This implementation re- - turns an error if the window pointer is null. + X/Open Curses does not specify any error conditions. This + implementation returns an error + + <STRONG>o</STRONG> if the <EM>win</EM> parameter is null or + + <STRONG>o</STRONG> if the <EM>wchstr</EM> parameter is null. - Functions with a "mv" prefix first perform a cursor movement using - <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if - the window pointer is null. + Functions prefixed with "mv" first perform cursor movement and fail if + the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries. </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> @@ -109,18 +113,18 @@ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These entry points are described in the XSI Curses standard, Issue 4. + These functions are described in X/Open Curses, Issue 4. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>. + <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library + in its non-wide-character configuration. - Comparable functions in the narrow-character (ncurses) library are de- - scribed in <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>. + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> - <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> </PRE> <div class="nav"> <ul> diff --git a/doc/html/man/curs_addch.3x.html b/doc/html/man/curs_addch.3x.html index ba13e2a725a3..0a0622e39af3 100644 --- a/doc/html/man/curs_addch.3x.html +++ b/doc/html/man/curs_addch.3x.html @@ -1,7 +1,7 @@ -<!-- +<!-- * t **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2015,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,28 +28,28 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_addch.3x,v 1.55 2020/10/24 09:12:31 tom Exp @ + * @Id: curs_addch.3x,v 1.85 2024/04/20 19:03:47 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_addch 3x</TITLE> +<TITLE>curs_addch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_addch 3x</H1> +<H1 class="no-header">curs_addch 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> +<STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>addch</STRONG>, <STRONG>waddch</STRONG>, <STRONG>mvaddch</STRONG>, <STRONG>mvwaddch</STRONG>, <STRONG>echochar</STRONG>, <STRONG>wechochar</STRONG> - add a character - (with attributes) to a <STRONG>curses</STRONG> window, then advance the cursor + <STRONG>addch</STRONG>, <STRONG>waddch</STRONG>, <STRONG>mvaddch</STRONG>, <STRONG>mvwaddch</STRONG>, <STRONG>echochar</STRONG>, <STRONG>wechochar</STRONG> - add a <EM>curses</EM> + character to a window and advance the cursor </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -66,239 +66,241 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> -</PRE><H3><a name="h3-Adding-characters">Adding characters</a></H3><PRE> - The <STRONG>addch</STRONG>, <STRONG>waddch</STRONG>, <STRONG>mvaddch</STRONG> and <STRONG>mvwaddch</STRONG> routines put the character <EM>ch</EM> - into the given window at its current window position, which is then - advanced. They are analogous to <STRONG>putchar(3)</STRONG> in <STRONG>stdio(3)</STRONG>. If the - advance is at the right margin: +</PRE><H3><a name="h3-Adding-Characters">Adding Characters</a></H3><PRE> + <STRONG>waddch</STRONG> puts the character <EM>ch</EM> at the cursor position of window <EM>win</EM>, then + advances the cursor position, analogously to the standard C library's + <STRONG>putchar(3)</STRONG>. <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of this function. - <STRONG>o</STRONG> The cursor automatically wraps to the beginning of the next line. + If advancement occurs at the right margin, - <STRONG>o</STRONG> At the bottom of the current scrolling region, and if <STRONG>scrollok</STRONG> is - enabled, the scrolling region is scrolled up one line. + <STRONG>o</STRONG> the cursor automatically wraps to the beginning of the next line; + and - <STRONG>o</STRONG> If <STRONG>scrollok</STRONG> is not enabled, writing a character at the lower right - margin succeeds. However, an error is returned because it is not - possible to wrap to a new line + <STRONG>o</STRONG> at the bottom of the current scrolling region, and if <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG> + is enabled for <EM>win</EM>, the scrolling region scrolls up one line. - If <EM>ch</EM> is a tab, newline, carriage return or backspace, the cursor is - moved appropriately within the window: + If <EM>ch</EM> is a backspace, carriage return, line feed, or tab, the cursor + moves appropriately within the window. - <STRONG>o</STRONG> Backspace moves the cursor one character left; at the left edge of - a window it does nothing. + <STRONG>o</STRONG> Backspace moves the cursor one character left; at the left margin + of a window, it does nothing. - <STRONG>o</STRONG> Carriage return moves the cursor to the window left margin on the - current line. + <STRONG>o</STRONG> Carriage return moves the cursor to the left margin on the current + line of the window. - <STRONG>o</STRONG> Newline does a <STRONG>clrtoeol</STRONG>, then moves the cursor to the window left - margin on the next line, scrolling the window if on the last line. + <STRONG>o</STRONG> Line feed does a <STRONG><A HREF="curs_clear.3x.html">clrtoeol(3x)</A></STRONG>, then moves the cursor to the left + margin on the next line of the window, and if <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG> is + enabled for <EM>win</EM>, scrolls the window if the cursor was already on + the last line. - <STRONG>o</STRONG> Tabs are considered to be at every eighth column. The tab interval - may be altered by setting the <STRONG>TABSIZE</STRONG> variable. + <STRONG>o</STRONG> Tab advances the cursor to the next tab stop (possibly on the next + line); these are placed at every eighth column by default. Alter + the tab interval with the <STRONG>TABSIZE</STRONG> extension; see + <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>. If <EM>ch</EM> is any other nonprintable character, it is drawn in printable - form, i.e., the <STRONG>^</STRONG><EM>X</EM> notation used by <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>. Calling <STRONG>winch</STRONG> after - adding a nonprintable character does not return the character itself, - but instead returns the printable representation of the character. - - Video attributes can be combined with a character argument passed to - <STRONG>addch</STRONG> or related functions by logical-ORing them into the character. - (Thus, text, including attributes, can be copied from one place to - another using <STRONG><A HREF="curs_inch.3x.html">inch(3x)</A></STRONG> and <STRONG>addch</STRONG>.) See the <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> page for - values of predefined video attribute constants that can be usefully - OR'ed into characters. - - -</PRE><H3><a name="h3-Echoing-characters">Echoing characters</a></H3><PRE> - The <STRONG>echochar</STRONG> and <STRONG>wechochar</STRONG> routines are equivalent to a call to <STRONG>addch</STRONG> - followed by a call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>, or a call to <STRONG>waddch</STRONG> followed by a - call to <STRONG>wrefresh</STRONG>. The knowledge that only a single character is being - output is used and, for non-control characters, a considerable - performance gain may be seen by using these routines instead of their - equivalents. - - -</PRE><H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE> - The following variables may be used to add line drawing characters to - the screen with routines of the <STRONG>addch</STRONG> family. The default character - listed below is used if the <STRONG>acsc</STRONG> capability does not define a terminal- - specific replacement for it, or if the terminal and locale - configuration requires Unicode but the library is unable to use - Unicode. - - The names are taken from VT100 nomenclature. - - <STRONG>ACS</STRONG> <STRONG>ACS</STRONG> <STRONG>acsc</STRONG> <STRONG>Glyph</STRONG> - <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>char</STRONG> <STRONG>Name</STRONG> - --------------------------------------------------------- - ACS_BLOCK # 0 solid square block - ACS_BOARD # h board of squares - ACS_BTEE + v bottom tee - ACS_BULLET o ~ bullet - ACS_CKBOARD : a checker board (stipple) - ACS_DARROW v . arrow pointing down - ACS_DEGREE ' f degree symbol - ACS_DIAMOND + ` diamond - ACS_GEQUAL > > greater-than-or-equal-to - ACS_HLINE - q horizontal line - ACS_LANTERN # i lantern symbol - ACS_LARROW < , arrow pointing left - ACS_LEQUAL < y less-than-or-equal-to - ACS_LLCORNER + m lower left-hand corner - ACS_LRCORNER + j lower right-hand corner - ACS_LTEE + t left tee - ACS_NEQUAL ! | not-equal - ACS_PI * { greek pi - ACS_PLMINUS # g plus/minus - ACS_PLUS + n plus - ACS_RARROW > + arrow pointing right - ACS_RTEE + u right tee - ACS_S1 - o scan line 1 - ACS_S3 - p scan line 3 - ACS_S7 - r scan line 7 - ACS_S9 _ s scan line 9 - ACS_STERLING f } pound-sterling symbol - ACS_TTEE + w top tee - ACS_UARROW ^ - arrow pointing up - ACS_ULCORNER + l upper left-hand corner - ACS_URCORNER + k upper right-hand corner - ACS_VLINE | x vertical line + form, using the same convention as <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>. + + Calling <STRONG><A HREF="curs_inch.3x.html">winch(3x)</A></STRONG> on the location of a nonprintable character does not + return the character itself, but its <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG> representation. + + <EM>ch</EM> may contain rendering and/or color attributes, and others can be + combined with the parameter by logically "or"ing with it. (A character + with its attributes can be copied from place to place using <STRONG><A HREF="curs_inch.3x.html">winch(3x)</A></STRONG> + and <STRONG>waddch</STRONG>.) See <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> for values of predefined video + attribute constants that can be usefully "or"ed with characters. + + +</PRE><H3><a name="h3-Echoing-Characters">Echoing Characters</a></H3><PRE> + <STRONG>echochar</STRONG> and <STRONG>wechochar</STRONG> are equivalent to calling (<STRONG>w</STRONG>)<STRONG>addch</STRONG> followed by + (<STRONG>w</STRONG>)<STRONG>refresh</STRONG>. <EM>curses</EM> interprets these functions as a hint that only a + single character is being output; for non-control characters, a + considerable performance gain may be enjoyed by employing them. + + +</PRE><H3><a name="h3-Forms-Drawing-Characters">Forms-Drawing Characters</a></H3><PRE> + <EM>curses</EM> defines macros starting with <STRONG>ACS_</STRONG> that can be used with <STRONG>waddch</STRONG> + to write line-drawing and other special characters to the screen. + <EM>ncurses</EM> terms these <EM>forms-drawing</EM> <EM>characters.</EM> The ACS default listed + below is used if the <STRONG>acs_chars</STRONG> (<STRONG>acsc</STRONG>) <EM>terminfo</EM> capability does not + define a terminal-specific replacement for it, or if the terminal and + locale configuration requires Unicode to access these characters but + the library is unable to use Unicode. The "acsc char" column + corresponds to how the characters are specified in the <STRONG>acs_chars</STRONG> string + capability, and the characters in it may appear on the screen if the + terminal's database entry incorrectly advertises ACS support. The name + "ACS" originates in the Alternate Character Set feature of the DEC + VT100 terminal. + + <STRONG>ACS</STRONG> <STRONG>acsc</STRONG> + <STRONG>Symbol</STRONG> <STRONG>Default</STRONG> <STRONG>char</STRONG> <STRONG>Glyph</STRONG> <STRONG>Name</STRONG> + ------------------------------------------------------------------------ + <STRONG>ACS_BLOCK</STRONG> # 0 solid square block + <STRONG>ACS_BOARD</STRONG> # h board of squares + <STRONG>ACS_BTEE</STRONG> + v bottom tee + <STRONG>ACS_BULLET</STRONG> o ~ bullet + <STRONG>ACS_CKBOARD</STRONG> : a checker board (stipple) + <STRONG>ACS_DARROW</STRONG> v . arrow pointing down + <STRONG>ACS_DEGREE</STRONG> ' f degree symbol + <STRONG>ACS_DIAMOND</STRONG> + ` diamond + <STRONG>ACS_GEQUAL</STRONG> > > greater-than-or-equal-to + <STRONG>ACS_HLINE</STRONG> - q horizontal line + <STRONG>ACS_LANTERN</STRONG> # i lantern symbol + <STRONG>ACS_LARROW</STRONG> < , arrow pointing left + <STRONG>ACS_LEQUAL</STRONG> < y less-than-or-equal-to + <STRONG>ACS_LLCORNER</STRONG> + m lower left-hand corner + <STRONG>ACS_LRCORNER</STRONG> + j lower right-hand corner + <STRONG>ACS_LTEE</STRONG> + t left tee + <STRONG>ACS_NEQUAL</STRONG> ! | not-equal + <STRONG>ACS_PI</STRONG> * { greek pi + <STRONG>ACS_PLMINUS</STRONG> # g plus/minus + <STRONG>ACS_PLUS</STRONG> + n plus + <STRONG>ACS_RARROW</STRONG> > + arrow pointing right + <STRONG>ACS_RTEE</STRONG> + u right tee + <STRONG>ACS_S1</STRONG> - o scan line 1 + <STRONG>ACS_S3</STRONG> - p scan line 3 + <STRONG>ACS_S7</STRONG> - r scan line 7 + <STRONG>ACS_S9</STRONG> _ s scan line 9 + <STRONG>ACS_STERLING</STRONG> f } pound-sterling symbol + <STRONG>ACS_TTEE</STRONG> + w top tee + <STRONG>ACS_UARROW</STRONG> ^ - arrow pointing up + <STRONG>ACS_ULCORNER</STRONG> + l upper left-hand corner + <STRONG>ACS_URCORNER</STRONG> + k upper right-hand corner + <STRONG>ACS_VLINE</STRONG> | x vertical line </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success (the - SVr4 manuals specify only "an integer value other than <STRONG>ERR</STRONG>") upon - successful completion, unless otherwise noted in the preceding routine - descriptions. + These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure. - Functions with a "mv" prefix first perform a cursor movement using - <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if - the window pointer is null. + In <EM>ncurses</EM>, <STRONG>waddch</STRONG> returns <STRONG>ERR</STRONG> if it is not possible to add a complete + character at the cursor position, as when conversion of a multibyte + character to a byte sequence fails, or at least one of the resulting + bytes cannot be added to the window. See section "PORTABILITY" below + regarding the use of <STRONG>waddch</STRONG> with multibyte characters. - If it is not possible to add a complete character, an error is - returned: + <STRONG>waddch</STRONG> can successfully write a character at the bottom right location + of the window. However, <EM>ncurses</EM> returns <STRONG>ERR</STRONG> if <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG> is not + enabled in that event, because it is not possible to wrap to a new + line. - <STRONG>o</STRONG> If <STRONG>scrollok</STRONG> is not enabled, writing a character at the lower right - margin succeeds. However, an error is returned because it is not - possible to wrap to a new line - - <STRONG>o</STRONG> If an error is detected when converting a multibyte character to a - sequence of bytes, or if it is not possible to add all of the - resulting bytes in the window, an error is returned. + Functions prefixed with "mv" first perform cursor movement and fail if + the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries. </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - Note that <STRONG>addch</STRONG>, <STRONG>mvaddch</STRONG>, <STRONG>mvwaddch</STRONG>, and <STRONG>echochar</STRONG> may be macros. + <STRONG>addch</STRONG>, <STRONG>mvaddch</STRONG>, <STRONG>mvwaddch</STRONG>, and <STRONG>echochar</STRONG> may be implemented as macros. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - All these functions are described in the XSI Curses standard, Issue 4. - The defaults specified for forms-drawing characters apply in the POSIX + X/Open Curses, Issue 4 describes these functions. It specifies no + error conditions for them. + + SVr4 <EM>curses</EM> describes a successful return value only as "an integer + value other than <STRONG>ERR</STRONG>". + + The defaults specified for forms-drawing characters apply in the POSIX locale. </PRE><H3><a name="h3-ACS-Symbols">ACS Symbols</a></H3><PRE> - X/Open Curses states that the <EM>ACS</EM><STRONG>_</STRONG> definitions are <STRONG>char</STRONG> constants. For - the wide-character implementation (see <STRONG>curs_add_wch</STRONG>), there are - analogous <EM>WACS</EM><STRONG>_</STRONG> definitions which are <STRONG>cchar_t</STRONG> constants. Some - implementations are problematic: + X/Open Curses states that the <STRONG>ACS_</STRONG> definitions are <EM>char</EM> constants. + + Some implementations are problematic. - <STRONG>o</STRONG> Some implementations define the ACS symbols to a constant (such as - Solaris), while others define those to entries in an array. + <STRONG>o</STRONG> Solaris <EM>curses</EM>, for example, define the ACS symbols as constants; + others define them as elements of an array. - This implementation uses an array <STRONG>acs_map</STRONG>, as done in SVr4 curses. + This implementation uses an array, <STRONG>acs_map</STRONG>, as did SVr4 <EM>curses</EM>. NetBSD also uses an array, actually named <STRONG>_acs_char</STRONG>, with a <STRONG>#define</STRONG> for compatibility. - <STRONG>o</STRONG> HPUX curses equates some of the <EM>ACS</EM><STRONG>_</STRONG> symbols to the analogous <EM>WACS</EM><STRONG>_</STRONG> - symbols as if the <EM>ACS</EM><STRONG>_</STRONG> symbols were wide characters. The - misdefined symbols are the arrows and other symbols which are not - used for line-drawing. + <STRONG>o</STRONG> HP-UX <EM>curses</EM> equates some of the <STRONG>ACS_</STRONG> symbols to the analogous + <STRONG>WACS_</STRONG> symbols as if the <STRONG>ACS_</STRONG> symbols were wide characters (see + <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>). The misdefined symbols are the arrows and + others that are not used for line drawing. - <STRONG>o</STRONG> X/Open Curses (issues 2 through 7) has a typographical error for - the ACS_LANTERN symbol, equating its "VT100+ Character" to <STRONG>I</STRONG> - (capital I), while the header files for SVr4 curses and the various - implementations use <STRONG>i</STRONG> (lowercase). + <STRONG>o</STRONG> X/Open Curses (Issues 2 through 7) has a typographical error for + the <STRONG>ACS_LANTERN</STRONG> symbol, equating its "VT100+ Character" to "I" + (capital I), while the header files for SVr4 <EM>curses</EM> and other + implementations use "i" (small i). - None of the terminal descriptions on Unix platforms use uppercase- - I, except for Solaris (i.e., <EM>screen</EM>'s terminal description, + None of the terminal descriptions on Unix platforms use uppercase + I, except for Solaris (in its <EM>terminfo</EM> entry for <STRONG>screen(1)</STRONG>, apparently based on the X/Open documentation around 1995). On the - other hand, the terminal description <EM>gs6300</EM> (AT&T PC6300 with EMOTS - Terminal Emulator) uses lowercase-i. + other hand, its <STRONG>gs6300</STRONG> (AT&T PC6300 with EMOTS Terminal Emulator) + description uses lowercase i. - Some ACS symbols (ACS_S3, ACS_S7, ACS_LEQUAL, ACS_GEQUAL, ACS_PI, - ACS_NEQUAL, ACS_STERLING) were not documented in any publicly released - System V. However, many publicly available terminfos include <STRONG>acsc</STRONG> - strings in which their key characters (pryz{|}) are embedded, and a - second-hand list of their character descriptions has come to light. - The ACS-prefixed names for them were invented for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>. + Some ACS symbols (<STRONG>ACS_S3</STRONG>, <STRONG>ACS_S7</STRONG>, <STRONG>ACS_LEQUAL</STRONG>, <STRONG>ACS_GEQUAL</STRONG>, <STRONG>ACS_PI</STRONG>, + <STRONG>ACS_NEQUAL</STRONG>, and <STRONG>ACS_STERLING</STRONG>) were not documented in any publicly + released System V. However, many publicly available <EM>terminfo</EM> entries + include <STRONG>acsc</STRONG> strings in which their key characters <STRONG>(</STRONG>pryz{|}<STRONG>)</STRONG> are + embedded, and a second-hand list of their character descriptions has + come to light. The <EM>ncurses</EM> developers invented ACS-prefixed names for + them. - The <EM>displayed</EM> values for the <EM>ACS</EM><STRONG>_</STRONG> and <EM>WACS</EM><STRONG>_</STRONG> constants depend on + The <EM>displayed</EM> values of <STRONG>ACS_</STRONG> constants depend on - <STRONG>o</STRONG> the library configuration, i.e., <STRONG>ncurses</STRONG> versus <STRONG>ncursesw</STRONG>, where the - latter is capable of displaying Unicode while the former is not, - and + <STRONG>o</STRONG> the <EM>ncurses</EM> ABI--for example, wide-character versus non-wide- + character configurations (the former is capable of displaying + Unicode while the latter is not), and - <STRONG>o</STRONG> whether the <EM>locale</EM> uses UTF-8 encoding. + <STRONG>o</STRONG> whether the locale uses UTF-8 encoding. - In certain cases, the terminal is unable to display line-drawing - characters except by using UTF-8 (see the discussion of - <STRONG>NCURSES_NO_UTF8_ACS</STRONG> in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>). + In certain cases, the terminal is unable to display forms-drawing + characters <EM>except</EM> by using UTF-8; see the discussion of the + <EM>NCURSES</EM><STRONG>_</STRONG><EM>NO</EM><STRONG>_</STRONG><EM>UTF8</EM><STRONG>_</STRONG><EM>ACS</EM> environment variable in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>). </PRE><H3><a name="h3-Character-Set">Character Set</a></H3><PRE> - X/Open Curses assumes that the parameter passed to <STRONG>waddch</STRONG> contains a - single character. As discussed in <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, that character may - have been more than eight bits in an SVr3 or SVr4 implementation, but - in the X/Open Curses model, the details are not given. The important - distinction between SVr4 curses and X/Open Curses is that the non- - character information (attributes and color) was separated from the - character information which is packed in a <STRONG>chtype</STRONG> to pass to <STRONG>waddch</STRONG>. - - In this implementation, <STRONG>chtype</STRONG> holds an eight-bit character. But - ncurses allows multibyte characters to be passed in a succession of - calls to <STRONG>waddch</STRONG>. The other implementations do not do this; a call to - <STRONG>waddch</STRONG> passes exactly one character which may be rendered as one or - more cells on the screen depending on whether it is printable. - - Depending on the locale settings, ncurses will inspect the byte passed - in each call to <STRONG>waddch</STRONG>, and check if the latest call will continue a - multibyte sequence. When a character is <EM>complete</EM>, ncurses displays the - character and moves to the next position in the screen. + X/Open Curses assumes that the parameter passed to <STRONG>waddch</STRONG> contains a + single character. As discussed in <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, that character may + have been more than eight bits wide in an SVr3 or SVr4 implementation, + but in the X/Open Curses model, the details are not given. The + important distinction between SVr4 <EM>curses</EM> and X/Open Curses is that the + latter separates non-character information (attributes and color) from + the character code, which SVr4 packs into a <EM>chtype</EM> for passage to + <STRONG>waddch</STRONG>. + + In <EM>ncurses</EM>, <EM>chtype</EM> holds an eight-bit character. But the library + allows a multibyte character to be passed in a succession of calls to + <STRONG>waddch</STRONG>. Other implementations do not; a <STRONG>waddch</STRONG> call transmits exactly + one character, which may be rendered in one or more screen locations + depending on whether it is printable. + + Depending on the locale settings, <EM>ncurses</EM> inspects the byte passed in + each <STRONG>waddch</STRONG> call, and checks whether the latest call continues a + multibyte sequence. When a character is <EM>complete</EM>, <EM>ncurses</EM> displays the + character and advances the cursor. If the calling application interrupts the succession of bytes in a - multibyte character by moving the current location (e.g., using <STRONG>wmove</STRONG>), - ncurses discards the partially built character, starting over again. + multibyte character sequence by changing the current location--for + example, with <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG>--<EM>ncurses</EM> discards the incomplete character. For portability to other implementations, do not rely upon this - behavior: + behavior. Check whether a character can be represented as a single + byte in the current locale. - <STRONG>o</STRONG> check if a character can be represented as a single byte in the - current locale before attempting call <STRONG>waddch</STRONG>, and + <STRONG>o</STRONG> If it can, call either <STRONG>waddch</STRONG> or <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG>. - <STRONG>o</STRONG> call <STRONG>wadd_wch</STRONG> for characters which cannot be handled by <STRONG>waddch</STRONG>. + <STRONG>o</STRONG> If it cannot, use only <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG>. </PRE><H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE> - The <STRONG>TABSIZE</STRONG> variable is implemented in SVr4 and other versions of - curses, but is not part of X/Open curses (see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> for - more details). - - If <EM>ch</EM> is a carriage return, the cursor is moved to the beginning of the - current row of the window. This is true of other implementations, but - is not documented. + SVr4 and other versions of <EM>curses</EM> implement the <STRONG>TABSIZE</STRONG> variable, but + X/Open Curses does not specify it (see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>). </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>, - <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>. + <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library + in its wide-character configuration (<EM>ncursesw</EM>). - Comparable functions in the wide-character (ncursesw) library are - described in <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>. + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, + <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, + <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>putchar(3)</STRONG> - <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -306,9 +308,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a> <ul> -<li><a href="#h3-Adding-characters">Adding characters</a></li> -<li><a href="#h3-Echoing-characters">Echoing characters</a></li> -<li><a href="#h3-Line-Graphics">Line Graphics</a></li> +<li><a href="#h3-Adding-Characters">Adding Characters</a></li> +<li><a href="#h3-Echoing-Characters">Echoing Characters</a></li> +<li><a href="#h3-Forms-Drawing-Characters">Forms-Drawing Characters</a></li> </ul> </li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> diff --git a/doc/html/man/curs_addchstr.3x.html b/doc/html/man/curs_addchstr.3x.html index 5712a67cd967..a3441e6c9a1d 100644 --- a/doc/html/man/curs_addchstr.3x.html +++ b/doc/html/man/curs_addchstr.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2019,2020 Thomas E. Dickey * + * Copyright 2019-2023,2024 Thomas E. Dickey * * Copyright 1998-2012,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,53 +27,53 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_addchstr.3x,v 1.22 2020/12/19 21:39:20 tom Exp @ + * @Id: curs_addchstr.3x,v 1.45 2024/04/20 21:20:07 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_addchstr 3x</TITLE> +<TITLE>curs_addchstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_addchstr 3x</H1> +<H1 class="no-header">curs_addchstr 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG> <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG> +<STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>addchstr</STRONG>, <STRONG>addchnstr</STRONG>, <STRONG>waddchstr</STRONG>, <STRONG>waddchnstr</STRONG>, <STRONG>mvaddchstr</STRONG>, <STRONG>mvaddchnstr</STRONG>, - <STRONG>mvwaddchstr</STRONG>, <STRONG>mvwaddchnstr</STRONG> - add a string of characters (and attributes) - to a <STRONG>curses</STRONG> window + <STRONG>addchstr</STRONG>, <STRONG>addchnstr</STRONG>, <STRONG>waddchstr</STRONG>, <STRONG>waddchnstr</STRONG>, <STRONG>mvaddchstr</STRONG>, <STRONG>mvaddchnstr</STRONG>, + <STRONG>mvwaddchstr</STRONG>, <STRONG>mvwaddchnstr</STRONG> - add a <EM>curses</EM> character string to a window </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> <STRONG>int</STRONG> <STRONG>addchstr(const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>addchnstr(const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>waddchstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>waddchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>mvaddchstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>mvaddchnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>mvwaddchstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG> + + <STRONG>int</STRONG> <STRONG>addchnstr(const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>waddchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>mvaddchnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>mvwaddchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - These functions copy the (null-terminated) <EM>chstr</EM> array into the window - image structure starting at the current cursor position. The four - functions with <EM>n</EM> as the last argument copy at most <EM>n</EM> elements, but no - more than will fit on the line. If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the whole array is + These functions copy the (null-terminated) <EM>chstr</EM> array into the window + image structure starting at the current cursor position. + + The four functions with <EM>n</EM> as the last argument copy at most <EM>n</EM> elements, + but no more than will fit on the line. If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the whole array is copied, to the maximum number of characters that will fit on the line. - The window cursor is <EM>not</EM> advanced. These functions work faster than + The window cursor is <EM>not</EM> advanced. These functions are faster than <STRONG>waddnstr</STRONG>. On the other hand: <STRONG>o</STRONG> they do not perform checking (such as for the newline, backspace, @@ -90,12 +90,15 @@ </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success. - X/Open does not define any error conditions. This implementation re- - turns an error if the window pointer is null. + X/Open Curses does not specify any error conditions. This + implementation returns an error + + <STRONG>o</STRONG> if the <EM>win</EM> parameter is null or + + <STRONG>o</STRONG> if the <EM>wchstr</EM> parameter is null. - Functions with a "mv" prefix first perform a cursor movement using - <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if - the window pointer is null. + Functions prefixed with "mv" first perform cursor movement and fail if + the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries. </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> @@ -103,18 +106,18 @@ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These entry points are described in the XSI Curses standard, Issue 4. + These functions are described in X/Open Curses, Issue 4. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>. + <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> + library in its wide-character configuration (<EM>ncursesw</EM>). - Comparable functions in the wide-character (ncursesw) library are de- - scribed in <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>. + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> - <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG> </PRE> <div class="nav"> <ul> diff --git a/doc/html/man/curs_addstr.3x.html b/doc/html/man/curs_addstr.3x.html index 50a8ce5b62f8..b7f1c689b994 100644 --- a/doc/html/man/curs_addstr.3x.html +++ b/doc/html/man/curs_addstr.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2019,2020 Thomas E. Dickey * + * Copyright 2019-2023,2024 Thomas E. Dickey * * Copyright 1998-2012,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,82 +27,70 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_addstr.3x,v 1.23 2020/10/17 23:11:02 tom Exp @ + * @Id: curs_addstr.3x,v 1.45 2024/04/20 19:18:18 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_addstr 3x</TITLE> +<TITLE>curs_addstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_addstr 3x</H1> +<H1 class="no-header">curs_addstr 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> +<STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>addstr</STRONG>, <STRONG>addnstr</STRONG>, <STRONG>waddstr</STRONG>, <STRONG>waddnstr</STRONG>, <STRONG>mvaddstr</STRONG>, <STRONG>mvaddnstr</STRONG>, <STRONG>mvwaddstr</STRONG>, - <STRONG>mvwaddnstr</STRONG> - add a string of characters to a <STRONG>curses</STRONG> window and advance - cursor + <STRONG>addstr</STRONG>, <STRONG>addnstr</STRONG>, <STRONG>waddstr</STRONG>, <STRONG>waddnstr</STRONG>, <STRONG>mvaddstr</STRONG>, <STRONG>mvaddnstr</STRONG>, <STRONG>mvwaddstr</STRONG>, + <STRONG>mvwaddnstr</STRONG> - add a string to a <EM>curses</EM> window and advance the cursor </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> <STRONG>int</STRONG> <STRONG>addstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>addnstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>mvaddstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>mvwaddstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>waddstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>waddnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>mvaddstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>addnstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>mvaddnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>mvwaddstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>mvwaddnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str,</EM> <EM>int</EM> <EM>n</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>mvwaddnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>waddnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - These functions write the (null-terminated) character string <EM>str</EM> on the - given window. It is similar to calling <STRONG>waddch</STRONG> once for each byte in - the string. + <STRONG>waddstr</STRONG> writes the characters of the (null-terminated) string <EM>str</EM> to + the window <EM>win</EM>. Its process is similar to calling <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG> for each + <EM>char</EM> in <EM>str</EM>. Control characters are processed as in <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG>. - The <EM>mv</EM> functions perform cursor movement once, before writing any char- - acters. Thereafter, the cursor is advanced as a side-effect of writing - to the window. + <STRONG>waddnstr</STRONG> writes at most <EM>n</EM> characters, or until a terminating null + character occurs in <EM>str</EM>. If <EM>n</EM> is -1, <STRONG>waddnstr</STRONG> writes the entire + string. - The four functions with <EM>n</EM> as the last argument write at most <EM>n</EM> bytes, - or until a terminating null is reached. If <EM>n</EM> is -1, then the entire - string will be added. + <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of these functions. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success. + These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure. - X/Open does not define any error conditions. This implementation re- - turns an error + X/Open Curses does not specify any error conditions. <EM>ncurses</EM> returns + an error - <STRONG>o</STRONG> if the window pointer is null or + <STRONG>o</STRONG> if the window pointer is <STRONG>NULL</STRONG>, - <STRONG>o</STRONG> if the string pointer is null or + <STRONG>o</STRONG> if the string pointer is <STRONG>NULL</STRONG>, or - <STRONG>o</STRONG> if the corresponding calls to <STRONG>waddch</STRONG> return an error. + <STRONG>o</STRONG> if an internal <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG> call returns an error. - Functions with a "mv" prefix first perform a cursor movement using - <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if - the window pointer is null. If an error is returned by the <STRONG>wmove</STRONG>, no - characters are added to the window. - - If an error is returned by <STRONG>waddch</STRONG> (e.g., because the window is not - large enough, or an illegal byte sequence was detected) only part of - the string may be added. Aside from that, there is a special case in - <STRONG>waddch</STRONG> where an error may be returned after successfully writing a - character to the lower-right corner of a window when <STRONG>scrollok</STRONG> is dis- - abled. + Functions prefixed with "mv" first perform cursor movement and fail if + the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries. </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> @@ -110,15 +98,18 @@ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These functions are described in the XSI Curses standard, Issue 4. + X/Open Curses, Issue 4 describes these functions. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>. + <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library + in its wide-character configuration (<EM>ncursesw</EM>). + + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG> - <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> </PRE> <div class="nav"> <ul> diff --git a/doc/html/man/curs_addwstr.3x.html b/doc/html/man/curs_addwstr.3x.html index f157a29674d5..ce3229acc228 100644 --- a/doc/html/man/curs_addwstr.3x.html +++ b/doc/html/man/curs_addwstr.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2019,2020 Thomas E. Dickey * + * Copyright 2019-2023,2024 Thomas E. Dickey * * Copyright 2002-2012,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,91 +27,96 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_addwstr.3x,v 1.15 2020/10/17 23:12:22 tom Exp @ + * @Id: curs_addwstr.3x,v 1.37 2024/04/20 19:18:18 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_addwstr 3x</TITLE> +<TITLE>curs_addwstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_addwstr 3x</H1> +<H1 class="no-header">curs_addwstr 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> +<STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>addwstr</STRONG>, <STRONG>addnwstr</STRONG>, <STRONG>waddwstr</STRONG>, <STRONG>waddnwstr</STRONG>, <STRONG>mvaddwstr</STRONG>, <STRONG>mvaddnwstr</STRONG>, - <STRONG>mvwaddwstr</STRONG>, <STRONG>mvwaddnwstr</STRONG> - add a string of wide characters to a <STRONG>curses</STRONG> - window and advance cursor + <STRONG>addwstr</STRONG>, <STRONG>addnwstr</STRONG>, <STRONG>waddwstr</STRONG>, <STRONG>waddnwstr</STRONG>, <STRONG>mvaddwstr</STRONG>, <STRONG>mvaddnwstr</STRONG>, + <STRONG>mvwaddwstr</STRONG>, <STRONG>mvwaddnwstr</STRONG> - add a wide-character string to a <EM>curses</EM> + window and advance the cursor </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> <STRONG>int</STRONG> <STRONG>addwstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>addnwstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>mvaddwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>mvwaddwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>waddwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>waddnwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>mvaddwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>addnwstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>mvaddnwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>mvwaddwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>mvwaddnwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>waddnwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - These functions write the characters of the (null-terminated) <STRONG>wchar_t</STRONG> - character string <EM>wstr</EM> on the given window. It is similar to construct- - ing a <STRONG>cchar_t</STRONG> for each wchar_t in the string, then calling <STRONG>wadd_wch</STRONG> for - the resulting <STRONG>cchar_t</STRONG>. + <STRONG>waddwstr</STRONG> writes the characters of the (wide-null-terminated) wide- + character string <EM>wstr</EM> to the window <EM>win</EM>. Its process is similar to + constructing a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> for each <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> in <EM>wstr</EM>, then calling + <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG> with the resulting <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>. - The <EM>mv</EM> functions perform cursor movement once, before writing any char- - acters. Thereafter, the cursor is advanced as a side-effect of writing - to the window. + <STRONG>o</STRONG> Spacing and non-spacing characters in the string are processed one + at a time, and - The four functions with <EM>n</EM> as the last argument write at most <EM>n</EM> <STRONG>wchar_t</STRONG> - characters, or until a terminating null is reached. If <EM>n</EM> is -1, then - the entire string will be added. + <STRONG>o</STRONG> control characters are processed as in <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG>. + + <STRONG>waddnwstr</STRONG> writes at most <EM>n</EM> wide characters, or until a terminating wide + null character occurs in <EM>wstr</EM>. If <EM>n</EM> is -1, <STRONG>waddnwstr</STRONG> writes the entire + wide string. + + <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of these functions. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success. + These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure. - X/Open does not define any error conditions. This implementation re- - turns an error + X/Open Curses does not specify any error conditions. <EM>ncurses</EM> returns + an error - <STRONG>o</STRONG> if the window pointer is null or + <STRONG>o</STRONG> if the window pointer is <STRONG>NULL</STRONG>, - <STRONG>o</STRONG> if the string pointer is null or + <STRONG>o</STRONG> if the string pointer is <STRONG>NULL</STRONG>, or - <STRONG>o</STRONG> if the corresponding calls to <STRONG>wadd_wch</STRONG> return an error. + <STRONG>o</STRONG> if an internal <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG> call returns an error. - Functions with a "mv" prefix first perform a cursor movement using - <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if - the window pointer is null. + Functions prefixed with "mv" first perform cursor movement and fail if + the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries. </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - All of these functions except <STRONG>waddnwstr</STRONG> may be macros. + All of these functions except <STRONG>waddnwstr</STRONG> may be implemented as macros. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These functions are described in the XSI Curses standard, Issue 4. + X/Open Curses, Issue 4 describes these functions. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> + <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library + in its non-wide-character configuration. + + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> - <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> </PRE> <div class="nav"> <ul> diff --git a/doc/html/man/curs_attr.3x.html b/doc/html/man/curs_attr.3x.html index 95e98e41dd27..bc1fd859d06a 100644 --- a/doc/html/man/curs_attr.3x.html +++ b/doc/html/man/curs_attr.3x.html @@ -1,7 +1,7 @@ -<!-- +<!-- * t **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,42 +28,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_attr.3x,v 1.66 2020/02/02 23:34:34 tom Exp @ - * --------------------------------------------------------------------------- - * attr_get - * .br - * .br - * .br - * .br - * .br - * --------------------------------------------------------------------------- - * --------------------------------------------------------------------------- - * --------------------------------------------------------------------------- - * --------------------------------------------------------------------------- - * --------------------------------------------------------------------------- - * --------------------------------------------------------------------------- - * --------------------------------------------------------------------------- - * --------------------------------------------------------------------------- - * --------------------------------------------------------------------------- - * --------------------------------------------------------------------------- - * --------------------------------------------------------------------------- - * --------------------------------------------------------------------------- - * --------------------------------------------------------------------------- - * --------------------------------------------------------------------------- + * @Id: curs_attr.3x,v 1.105 2024/04/27 17:54:42 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_attr 3x</TITLE> +<TITLE>curs_attr 3x 2024-04-27 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_attr 3x</H1> +<H1 class="no-header">curs_attr 3x 2024-04-27 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> +<STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> @@ -71,9 +50,9 @@ </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> <STRONG>attr_get</STRONG>, <STRONG>wattr_get</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_set</STRONG>, <STRONG>attr_off</STRONG>, <STRONG>wattr_off</STRONG>, <STRONG>attr_on</STRONG>, <STRONG>wattr_on</STRONG>, <STRONG>attroff</STRONG>, <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>wattrset</STRONG>, <STRONG>chgat</STRONG>, - <STRONG>wchgat</STRONG>, <STRONG>mvchgat</STRONG>, <STRONG>mvwchgat</STRONG>, <STRONG>color_set</STRONG>, <STRONG>wcolor_set</STRONG>, <STRONG>standend</STRONG>, <STRONG>wstandend</STRONG>, - <STRONG>standout</STRONG>, <STRONG>wstandout</STRONG> - <STRONG>curses</STRONG> character and window attribute control - routines + <STRONG>wchgat</STRONG>, <STRONG>mvchgat</STRONG>, <STRONG>mvwchgat</STRONG>, <STRONG>color_set</STRONG>, <STRONG>wcolor_set</STRONG>, <STRONG>standend</STRONG>, <STRONG>wstandend</STRONG>, + <STRONG>standout</STRONG>, <STRONG>wstandout</STRONG> - manipulate attributes of character cells in + <EM>curses</EM> windows </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -89,7 +68,7 @@ <STRONG>int</STRONG> <STRONG>attr_on(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>wattr_on(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>attroff(int</STRONG> <EM>attrs);</EM> + <STRONG>int</STRONG> <STRONG>attroff(int</STRONG> <EM>attrs</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>wattroff(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>attrs</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>attron(int</STRONG> <EM>attrs</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>wattron(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>attrs</EM><STRONG>);</STRONG> @@ -101,11 +80,11 @@ <STRONG>int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>mvchgat(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>mvwchgat(WINDOW</STRONG> <STRONG>*</STRONG><EM>win,</EM> <EM>int</EM> <EM>y,</EM> <EM>int</EM> <EM>x</EM><STRONG>,</STRONG> - <STRONG>int</STRONG> <EM>n,</EM> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>mvwchgat(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> + <STRONG>int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>color_set(short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void*</STRONG> <EM>opts</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>wcolor_set(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void*</STRONG> <EM>opts);</EM> + <STRONG>int</STRONG> <STRONG>wcolor_set(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void*</STRONG> <EM>opts</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>standend(void);</STRONG> <STRONG>int</STRONG> <STRONG>wstandend(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG> @@ -117,121 +96,118 @@ These routines manipulate the current attributes of the named window, which then apply to all characters that are written into the window with <STRONG>waddch</STRONG>, <STRONG>waddstr</STRONG> and <STRONG>wprintw</STRONG>. Attributes are a property of the - character, and move with the character through any scrolling and in- - sert/delete line/character operations. To the extent possible, they + character, and move with the character through any scrolling and + insert/delete line/character operations. To the extent possible, they are displayed as appropriate modifications to the graphic rendition of characters put on the screen. These routines do not affect the attributes used when erasing portions - of the window. See <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> for functions which modify the at- - tributes used for erasing and clearing. + of the window. See <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> for functions which modify the + attributes used for erasing and clearing. - Routines which do not have a <STRONG>WINDOW*</STRONG> parameter apply to <STRONG>stdscr</STRONG>. For - example, <STRONG>attr_set</STRONG> is the <STRONG>stdscr</STRONG> variant of <STRONG>wattr_set</STRONG>. - -</PRE><H3><a name="h3-Window-attributes">Window attributes</a></H3><PRE> +</PRE><H3><a name="h3-Window-Attributes">Window Attributes</a></H3><PRE> There are two sets of functions: - <STRONG>o</STRONG> functions for manipulating the window attributes and color: <STRONG>wat-</STRONG> - <STRONG>tr_set</STRONG> and <STRONG>wattr_get</STRONG>. + <STRONG>o</STRONG> functions for manipulating the window attributes and color: + <STRONG>wattr_set</STRONG> and <STRONG>wattr_get</STRONG>. - <STRONG>o</STRONG> functions for manipulating only the window attributes (not color): + <STRONG>o</STRONG> functions for manipulating only the window attributes (not color): <STRONG>wattr_on</STRONG> and <STRONG>wattr_off</STRONG>. - The <STRONG>wattr_set</STRONG> function sets the current attributes of the given window + The <STRONG>wattr_set</STRONG> function sets the current attributes of the given window to <EM>attrs</EM>, with color specified by <EM>pair</EM>. Use <STRONG>wattr_get</STRONG> to retrieve attributes for the given window. - Use <STRONG>attr_on</STRONG> and <STRONG>wattr_on</STRONG> to turn on window attributes, i.e., values - OR'd together in <EM>attr</EM>, without affecting other attributes. Use <STRONG>at-</STRONG> - <STRONG>tr_off</STRONG> and <STRONG>wattr_off</STRONG> to turn off window attributes, again values OR'd + Use <STRONG>attr_on</STRONG> and <STRONG>wattr_on</STRONG> to turn on window attributes, i.e., values + OR'd together in <EM>attr</EM>, without affecting other attributes. Use + <STRONG>attr_off</STRONG> and <STRONG>wattr_off</STRONG> to turn off window attributes, again values OR'd together in <EM>attr</EM>, without affecting other attributes. -</PRE><H3><a name="h3-Legacy-window-attributes">Legacy window attributes</a></H3><PRE> - The X/Open window attribute routines which <EM>set</EM> or <EM>get</EM>, turn <EM>on</EM> or <EM>off</EM> +</PRE><H3><a name="h3-Legacy-Window-Attributes">Legacy Window Attributes</a></H3><PRE> + The X/Open window attribute routines which <EM>set</EM> or <EM>get</EM>, turn <EM>on</EM> or <EM>off</EM> are extensions of older routines which assume that color pairs are OR'd - into the attribute parameter. These newer routines use similar names, + into the attribute parameter. These newer routines use similar names, because X/Open simply added an underscore (<STRONG>_</STRONG>) for the newer names. The <STRONG>int</STRONG> datatype used in the legacy routines is treated as if it is the - same size as <STRONG>chtype</STRONG> (used by <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>). It holds the common video at- - tributes (such as bold, reverse), as well as a few bits for color. - Those bits correspond to the <STRONG>A_COLOR</STRONG> symbol. The <STRONG>COLOR_PAIR</STRONG> macro pro- - vides a value which can be OR'd into the attribute parameter. For ex- - ample, as long as that value fits into the <STRONG>A_COLOR</STRONG> mask, then these + same size as <STRONG>chtype</STRONG> (used by <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>). It holds the common video + attributes (such as bold, reverse), as well as a few bits for color. + Those bits correspond to the <STRONG>A_COLOR</STRONG> symbol. The <STRONG>COLOR_PAIR</STRONG> macro + provides a value which can be OR'd into the attribute parameter. For + example, as long as that value fits into the <STRONG>A_COLOR</STRONG> mask, then these calls produce similar results: attrset(A_BOLD | COLOR_PAIR(<EM>pair</EM>)); attr_set(A_BOLD, <EM>pair</EM>, NULL); However, if the value does not fit, then the <STRONG>COLOR_PAIR</STRONG> macro uses only - the bits that fit. For example, because in ncurses <STRONG>A_COLOR</STRONG> has eight + the bits that fit. For example, because in <EM>ncurses</EM> <STRONG>A_COLOR</STRONG> has eight (8) bits, then <STRONG>COLOR_PAIR(</STRONG><EM>259</EM><STRONG>)</STRONG> is 4 (i.e., 259 is 4 more than the limit 255). - The <STRONG>PAIR_NUMBER</STRONG> macro extracts a pair number from an <STRONG>int</STRONG> (or <STRONG>chtype</STRONG>). - For example, the <EM>input</EM> and <EM>output</EM> values in these statements would be + The <STRONG>PAIR_NUMBER</STRONG> macro extracts a pair number from an <STRONG>int</STRONG> (or <STRONG>chtype</STRONG>). + For example, the <EM>input</EM> and <EM>output</EM> values in these statements would be the same: int value = A_BOLD | COLOR_PAIR(<EM>input</EM>); int <EM>output</EM> = PAIR_NUMBER(value); - The <STRONG>attrset</STRONG> routine is a legacy feature predating SVr4 curses but kept - in X/Open Curses for the same reason that SVr4 curses kept it: compati- - bility. + The <STRONG>attrset</STRONG> routine is a legacy feature predating SVr4 curses but kept + in X/Open Curses for the same reason that SVr4 curses kept it: + compatibility. - The remaining <STRONG>attr</STRONG>* functions operate exactly like the corresponding - <STRONG>attr_</STRONG>* functions, except that they take arguments of type <STRONG>int</STRONG> rather + The remaining <STRONG>attr</STRONG>* functions operate exactly like the corresponding + <STRONG>attr_</STRONG>* functions, except that they take arguments of type <STRONG>int</STRONG> rather than <STRONG>attr_t</STRONG>. - There is no corresponding <STRONG>attrget</STRONG> function as such in X/Open Curses, - although ncurses provides <STRONG>getattrs</STRONG> (see <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>). + There is no corresponding <STRONG>attrget</STRONG> function as such in X/Open Curses, + although <EM>ncurses</EM> provides <STRONG>getattrs</STRONG> (see <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>). -</PRE><H3><a name="h3-Change-character-rendition">Change character rendition</a></H3><PRE> - The routine <STRONG>chgat</STRONG> changes the attributes of a given number of charac- - ters starting at the current cursor location of <STRONG>stdscr</STRONG>. It does not - update the cursor and does not perform wrapping. A character count of - -1 or greater than the remaining window width means to change at- - tributes all the way to the end of the current line. The <STRONG>wchgat</STRONG> func- - tion generalizes this to any window; the <STRONG>mvwchgat</STRONG> function does a cur- - sor move before acting. +</PRE><H3><a name="h3-Change-Character-Rendition">Change Character Rendition</a></H3><PRE> + The routine <STRONG>chgat</STRONG> changes the attributes of a given number of + characters starting at the current cursor location of <STRONG>stdscr</STRONG>. It does + not update the cursor and does not perform wrapping. A character count + of -1 or greater than the remaining window width means to change + attributes all the way to the end of the current line. The <STRONG>wchgat</STRONG> + function generalizes this to any window; the <STRONG>mvwchgat</STRONG> function does a + cursor move before acting. - In these functions, the color <EM>pair</EM> argument is a color-pair index (as + In these functions, the color <EM>pair</EM> argument is a color pair index (as in the first argument of <STRONG>init_pair</STRONG>, see <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>). -</PRE><H3><a name="h3-Change-window-color">Change window color</a></H3><PRE> +</PRE><H3><a name="h3-Change-Window-Color">Change Window Color</a></H3><PRE> The routine <STRONG>color_set</STRONG> sets the current color of the given window to the - foreground/background combination described by the color <EM>pair</EM> parame- - ter. + foreground/background combination described by the color <EM>pair</EM> + parameter. </PRE><H3><a name="h3-Standout">Standout</a></H3><PRE> - The routine <STRONG>standout</STRONG> is the same as <STRONG>attron(A_STANDOUT)</STRONG>. The routine - <STRONG>standend</STRONG> is the same as <STRONG>attrset(A_NORMAL)</STRONG> or <STRONG>attrset(0)</STRONG>, that is, it + The routine <STRONG>standout</STRONG> is the same as <STRONG>attron(A_STANDOUT)</STRONG>. The routine + <STRONG>standend</STRONG> is the same as <STRONG>attrset(A_NORMAL)</STRONG> or <STRONG>attrset(0)</STRONG>, that is, it turns off all attributes. - X/Open does not mark these "restricted", because + X/Open Curses does not mark these "restricted", because <STRONG>o</STRONG> they have well established legacy use, and - <STRONG>o</STRONG> there is no ambiguity about the way the attributes might be com- - bined with a color pair. + <STRONG>o</STRONG> there is no ambiguity about the way the attributes might be + combined with a color pair. -</PRE><H2><a name="h2-VIDEO-ATTRIBUTES">VIDEO ATTRIBUTES</a></H2><PRE> +</PRE><H3><a name="h3-Video-Attributes">Video Attributes</a></H3><PRE> The following video attributes, defined in <STRONG><curses.h></STRONG>, can be passed to - the routines <STRONG>attron</STRONG>, <STRONG>attroff</STRONG>, and <STRONG>attrset</STRONG>, or OR'd with the characters + the routines <STRONG>attron</STRONG>, <STRONG>attroff</STRONG>, and <STRONG>attrset</STRONG>, or OR'd with the characters passed to <STRONG>addch</STRONG> (see <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>). - <EM>Name</EM> <EM>Description</EM> + <STRONG>Name</STRONG> <STRONG>Description</STRONG> ----------------------------------------------------------------- <STRONG>A_NORMAL</STRONG> Normal display (no highlight) - <STRONG>A_STANDOUT</STRONG> Best highlighting mode of the terminal. + <STRONG>A_STANDOUT</STRONG> Best highlighting mode of the terminal <STRONG>A_UNDERLINE</STRONG> Underlining <STRONG>A_REVERSE</STRONG> Reverse video <STRONG>A_BLINK</STRONG> Blinking @@ -244,11 +220,11 @@ <STRONG>A_CHARTEXT</STRONG> Bit-mask to extract a character <STRONG>A_COLOR</STRONG> Bit-mask to extract a color (legacy routines) - These video attributes are supported by <STRONG>attr_on</STRONG> and related functions + These video attributes are supported by <STRONG>attr_on</STRONG> and related functions (which also support the attributes recognized by <STRONG>attron</STRONG>, etc.): - <EM>Name</EM> <EM>Description</EM> - ----------------------------------------- + <STRONG>Name</STRONG> <STRONG>Description</STRONG> + ----------------------------------------------------------------- <STRONG>WA_HORIZONTAL</STRONG> Horizontal highlight <STRONG>WA_LEFT</STRONG> Left highlight <STRONG>WA_LOW</STRONG> Low highlight @@ -256,12 +232,31 @@ <STRONG>WA_TOP</STRONG> Top highlight <STRONG>WA_VERTICAL</STRONG> Vertical highlight - The return values of many of these routines are not meaningful (they - are implemented as macro-expanded assignments and simply return their - argument). The SVr4 manual page claims (falsely) that these routines + The return values of many of these routines are not meaningful (they + are implemented as macro-expanded assignments and simply return their + argument). The SVr4 manual page claims (falsely) that these routines always return <STRONG>1</STRONG>. +</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> + All routines return the integer <STRONG>OK</STRONG> on success, or <STRONG>ERR</STRONG> on failure. + + X/Open Curses does not specify any error conditions. + + This implementation + + <STRONG>o</STRONG> returns an error if the window pointer is null. + + <STRONG>o</STRONG> returns an error if the color pair parameter for <STRONG>wcolor_set</STRONG> is + outside the range 0..COLOR_PAIRS-1. + + <STRONG>o</STRONG> does not return an error if either of the parameters of <STRONG>wattr_get</STRONG> + used for retrieving attribute or color pair values is <STRONG>NULL</STRONG>. + + Functions prefixed with "mv" first perform cursor movement and fail if + the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries. + + </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> These functions may be macros: @@ -270,16 +265,116 @@ Color pair values can only be OR'd with attributes if the pair number is less than 256. The alternate functions such as <STRONG>color_set</STRONG> can pass a - color pair value directly. However, ncurses ABI 4 and 5 simply OR this - value within the alternate functions. You must use ncurses ABI 6 to + color pair value directly. However, <EM>ncurses</EM> ABI 4 and 5 simply OR this + value within the alternate functions. You must use <EM>ncurses</EM> ABI 6 to support more than 256 color pairs. +</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE> + This implementation provides the <STRONG>A_ITALIC</STRONG> attribute for terminals which + have the <STRONG>enter_italics_mode</STRONG> (<STRONG>sitm</STRONG>) and <STRONG>exit_italics_mode</STRONG> (<STRONG>ritm</STRONG>) + capabilities. Italics are not mentioned in X/Open Curses. Unlike the + other video attributes, <STRONG>A_ITALIC</STRONG> is unrelated to the <STRONG>set_attributes</STRONG> + capabilities. This implementation makes the assumption that + <STRONG>exit_attribute_mode</STRONG> may also reset italics. + + Each of the functions added by XSI Curses has a parameter <EM>opts</EM>, which + X/Open Curses still (after more than twenty years) documents as + reserved for future use, saying that it should be <STRONG>NULL</STRONG>. This + implementation uses that parameter in ABI 6 for the functions which + have a color pair parameter to support <EM>extended</EM> <EM>color</EM> <EM>pairs</EM>: + + <STRONG>o</STRONG> For functions which modify the color, e.g., <STRONG>wattr_set</STRONG> and <STRONG>wattr_on</STRONG>, + if <EM>opts</EM> is set it is treated as a pointer to <STRONG>int</STRONG>, and used to set + the color pair instead of the <STRONG>short</STRONG> <EM>pair</EM> parameter. + + <STRONG>o</STRONG> For functions which retrieve the color, e.g., <STRONG>wattr_get</STRONG>, if <EM>opts</EM> is + set it is treated as a pointer to <STRONG>int</STRONG>, and used to retrieve the + color pair as an <STRONG>int</STRONG> value, in addition to retrieving it via the + standard pointer to <STRONG>short</STRONG> parameter. + + <STRONG>o</STRONG> For functions which turn attributes off, e.g., <STRONG>wattr_off</STRONG>, the <EM>opts</EM> + parameter is ignored except except to check that it is <STRONG>NULL</STRONG>. + + +</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> + These functions are described in X/Open Curses, Issue 4. The standard + defined the dedicated type for highlights, <STRONG>attr_t</STRONG>, which was not + defined in SVr4 curses. The functions taking <STRONG>attr_t</STRONG> arguments were not + supported under SVr4. + + Very old versions of this library did not force an update of the screen + when changing the attributes. Use <STRONG>touchwin</STRONG> to force the screen to + match the updated attributes. + + X/Open Curses states that whether the traditional functions + <STRONG>attron</STRONG>/<STRONG>attroff</STRONG>/<STRONG>attrset</STRONG> can manipulate attributes other than <STRONG>A_BLINK</STRONG>, + <STRONG>A_BOLD</STRONG>, <STRONG>A_DIM</STRONG>, <STRONG>A_REVERSE</STRONG>, <STRONG>A_STANDOUT</STRONG>, or <STRONG>A_UNDERLINE</STRONG> is "unspecified". + Under this implementation as well as SVr4 curses, these functions + correctly manipulate all other highlights (specifically, <STRONG>A_ALTCHARSET</STRONG>, + <STRONG>A_PROTECT</STRONG>, and <STRONG>A_INVIS</STRONG>). + + X/Open Curses added these entry points: + + <STRONG>attr_get</STRONG>, <STRONG>attr_on</STRONG>, <STRONG>attr_off</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_on</STRONG>, <STRONG>wattr_off</STRONG>, + <STRONG>wattr_get</STRONG>, <STRONG>wattr_set</STRONG> + + The new functions are intended to work with a new series of highlight + macros prefixed with <STRONG>WA_</STRONG>. The older macros have direct counterparts in + the newer set of names: + + <STRONG>Name</STRONG> <STRONG>Description</STRONG> + ----------------------------------------------------------------- + <STRONG>WA_NORMAL</STRONG> Normal display (no highlight) + <STRONG>WA_STANDOUT</STRONG> Best highlighting mode of the terminal + <STRONG>WA_UNDERLINE</STRONG> Underlining + <STRONG>WA_REVERSE</STRONG> Reverse video + <STRONG>WA_BLINK</STRONG> Blinking + <STRONG>WA_DIM</STRONG> Half bright + <STRONG>WA_BOLD</STRONG> Extra bright or bold + + <STRONG>WA_ALTCHARSET</STRONG> Alternate character set + + X/Open Curses does not assign values to these symbols, nor does it + state whether or not they are related to the similarly-named A_NORMAL, + etc.: + + <STRONG>o</STRONG> X/Open Curses specifies that each pair of corresponding <STRONG>A_</STRONG> and + <STRONG>WA_</STRONG>-using functions operates on the same current-highlight + information. + + <STRONG>o</STRONG> However, in some implementations, those symbols have unrelated + values. + + For example, the Solaris <EM>xpg4</EM> (X/Open) curses declares <STRONG>attr_t</STRONG> to be + an unsigned short integer (16-bits), while <STRONG>chtype</STRONG> is a unsigned + integer (32-bits). The <STRONG>WA_</STRONG> symbols in this case are different from + the <STRONG>A_</STRONG> symbols because they are used for a smaller datatype which + does not represent <STRONG>A_CHARTEXT</STRONG> or <STRONG>A_COLOR</STRONG>. + + In this implementation (as in many others), the values happen to be + the same because it simplifies copying information between <STRONG>chtype</STRONG> + and <STRONG>cchar_t</STRONG> variables. + + <STRONG>o</STRONG> Because <EM>ncurses</EM>'s <STRONG>attr_t</STRONG> can hold a color pair (in the <STRONG>A_COLOR</STRONG> + field), a call to <STRONG>wattr_on</STRONG>, <STRONG>wattr_off</STRONG>, or <STRONG>wattr_set</STRONG> may alter the + window's color. If the color pair information in the attribute + parameter is zero, no change is made to the window's color. + + This is consistent with SVr4 curses; X/Open Curses does not specify + this. + + The X/Open Curses extended conformance level adds new highlights + <STRONG>A_HORIZONTAL</STRONG>, <STRONG>A_LEFT</STRONG>, <STRONG>A_LOW</STRONG>, <STRONG>A_RIGHT</STRONG>, <STRONG>A_TOP</STRONG>, <STRONG>A_VERTICAL</STRONG> (and + corresponding <STRONG>WA_</STRONG> macros for each). As of August 2013, no known + terminal provides these highlights (i.e., via the <STRONG>sgr1</STRONG> capability). + + </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE> X/Open Curses is largely based on SVr4 curses, adding support for - "wide-characters" (not specific to Unicode). Some of the X/Open dif- - ferences from SVr4 curses address the way video attributes can be ap- - plied to wide-characters. But aside from that, <STRONG>attrset</STRONG> and <STRONG>attr_set</STRONG> + "wide-characters" (not specific to Unicode). Some of the X/Open + differences from SVr4 curses address the way video attributes can be + applied to wide-characters. But aside from that, <STRONG>attrset</STRONG> and <STRONG>attr_set</STRONG> are similar. SVr4 curses provided the basic features for manipulating video attributes. However, earlier versions of curses provided a part of these features. @@ -290,11 +385,11 @@ <STRONG>standout</STRONG> and <STRONG>standend</STRONG> which were carried along into X/Open Curses due to their pervasive use in legacy applications. - Some terminals in the 1980s could support a variety of video at- - tributes, although the BSD curses library could do nothing with those. - System V (1983) provided an improved curses library. It defined the <STRONG>A_</STRONG> - symbols for use by applications to manipulate the other attributes. - There are few useful references for the chronology. + Some terminals in the 1980s could support a variety of video + attributes, although the BSD curses library could do nothing with + those. System V (1983) provided an improved curses library. It + defined the <STRONG>A_</STRONG> symbols for use by applications to manipulate the other + attributes. There are few useful references for the chronology. Goodheart's book <EM>UNIX</EM> <EM>Curses</EM> <EM>Explained</EM> (1991) describes SVr3 (1987), commenting on several functions: @@ -322,24 +417,24 @@ This table showing the number of bits for <STRONG>A_COLOR</STRONG> and <STRONG>A_CHARTEXT</STRONG> was gleaned from the curses header files for various operating systems and architectures. The inferred architecture and notes reflect the format - and size of the defined constants as well as clues such as the alter- - nate character set implementation. A 32-bit library can be used on a - 64-bit system, but not necessarily the reverse. - - <EM>Year</EM> <EM>System</EM> <EM>Arch</EM> <EM>Color</EM> <EM>Char</EM> <EM>Notes</EM> - ---------------------------------------------------------------- - 1992 Solaris 5.2 32 6 17 SVr4 curses - 1992 HPUX 9 32 no 8 SVr2 curses - 1992 AIX 3.2 32 no 23 SVr2 curses - 1994 OSF/1 r3 32 no 23 SVr2 curses - 1995 HP-UX 10.00 32 6 16 SVr3 "curses_colr" - 1995 HP-UX 10.00 32 6 8 SVr4, X/Open curses - 1995 Solaris 5.4 32/64 7 16 X/Open curses - 1996 AIX 4.2 32 7 16 X/Open curses - 1996 OSF/1 r4 32 6 16 X/Open curses - - 1997 HP-UX 11.00 32 6 8 X/Open curses - 2000 U/Win 32/64 7/31 16 uses <STRONG>chtype</STRONG> + and size of the defined constants as well as clues such as the + alternate character set implementation. A 32-bit library can be used + on a 64-bit system, but not necessarily the reverse. + + <STRONG>Bits</STRONG> + <STRONG>Year</STRONG> <STRONG>System</STRONG> <STRONG>Arch</STRONG> <STRONG>Color</STRONG> <STRONG>Char</STRONG> <STRONG>Notes</STRONG> + ------------------------------------------------------------------------ + 1992 Solaris 5.2 32 6 17 SVr4 <EM>curses</EM> + 1992 HP-UX 9 32 no 8 SVr2 <EM>curses</EM> + 1992 AIX 3.2 32 no 23 SVr2 <EM>curses</EM> + 1994 OSF/1 r3 32 no 23 SVr2 <EM>curses</EM> + 1995 HP-UX 10.00 32 6 16 SVr3 <EM>curses</EM><STRONG>_</STRONG><EM>colr</EM> + 1995 HP-UX 10.00 32 6 8 SVr4, X/Open <EM>curses</EM> + 1995 Solaris 5.4 32/64 7 16 X/Open <EM>curses</EM> + 1996 AIX 4.2 32 7 16 X/Open <EM>curses</EM> + 1996 OSF/1 r4 32 6 16 X/Open <EM>curses</EM> + 1997 HP-UX 11.00 32 6 8 X/Open <EM>curses</EM> + 2000 U/Win 32/64 7/31 16 uses <EM>chtype</EM> Notes: @@ -353,11 +448,11 @@ Regarding OSF/1 (and Tru64), - <STRONG>o</STRONG> These used 64-bit hardware. Like ncurses, the OSF/1 curses in- - terface is not customized for 32-bit and 64-bit versions. + <STRONG>o</STRONG> These used 64-bit hardware. Like <EM>ncurses</EM>, the OSF/1 curses + interface is not customized for 32-bit and 64-bit versions. - <STRONG>o</STRONG> Unlike other systems which evolved from AT&T code, OSF/1 provid- - ed a new implementation for X/Open curses. + <STRONG>o</STRONG> Unlike other systems which evolved from AT&T code, OSF/1 + provided a new implementation for X/Open curses. Regarding Solaris, @@ -367,8 +462,8 @@ Sun's copyright began in 1996. <STRONG>o</STRONG> Sun updated the X/Open curses interface after 64-bit support was - introduced in 1997, but did not modify the SVr4 curses inter- - face. + introduced in 1997, but did not modify the SVr4 curses + interface. Regarding U/Win, @@ -387,133 +482,22 @@ Other interfaces are rarely used now: <STRONG>o</STRONG> BSD curses was improved slightly in 1993/1994 using Keith Bostic's - modification to make the library 8-bit clean for <STRONG>nvi</STRONG>. He moved + modification to make the library 8-bit clean for <STRONG>nvi(1)</STRONG>. He moved <EM>standout</EM> attribute to a structure member. - The resulting 4.4BSD curses was replaced by ncurses over the next + The resulting 4.4BSD curses was replaced by <EM>ncurses</EM> over the next ten years. <STRONG>o</STRONG> U/Win is rarely used now. -</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE> - This implementation provides the <STRONG>A_ITALIC</STRONG> attribute for terminals which - have the <STRONG>enter_italics_mode</STRONG> (<STRONG>sitm</STRONG>) and <STRONG>exit_italics_mode</STRONG> (<STRONG>ritm</STRONG>) capa- - bilities. Italics are not mentioned in X/Open Curses. Unlike the oth- - er video attributes, <STRONG>A_ITALIC</STRONG> is unrelated to the <STRONG>set_attributes</STRONG> capa- - bilities. This implementation makes the assumption that <STRONG>exit_attri-</STRONG> - <STRONG>bute_mode</STRONG> may also reset italics. - - Each of the functions added by XSI Curses has a parameter <EM>opts</EM>, which - X/Open Curses still (after more than twenty years) documents as re- - served for future use, saying that it should be <STRONG>NULL</STRONG>. This implementa- - tion uses that parameter in ABI 6 for the functions which have a color- - pair parameter to support <EM>extended</EM> <EM>color</EM> <EM>pairs</EM>: - - <STRONG>o</STRONG> For functions which modify the color, e.g., <STRONG>wattr_set</STRONG>, if <EM>opts</EM> is - set it is treated as a pointer to <STRONG>int</STRONG>, and used to set the color - pair instead of the <STRONG>short</STRONG> <EM>pair</EM> parameter. - - <STRONG>o</STRONG> For functions which retrieve the color, e.g., <STRONG>wattr_get</STRONG>, if <EM>opts</EM> is - set it is treated as a pointer to <STRONG>int</STRONG>, and used to retrieve the - color pair as an <STRONG>int</STRONG> value, in addition retrieving it via the stan- - dard pointer to <STRONG>short</STRONG> parameter. - - The remaining functions which have <EM>opts</EM>, but do not manipulate color, - e.g., <STRONG>wattr_on</STRONG> and <STRONG>wattr_off</STRONG> are not used by this implementation except - to check that they are <STRONG>NULL</STRONG>. - - -</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These functions are supported in the XSI Curses standard, Issue 4. The - standard defined the dedicated type for highlights, <STRONG>attr_t</STRONG>, which was - not defined in SVr4 curses. The functions taking <STRONG>attr_t</STRONG> arguments were - not supported under SVr4. - - Very old versions of this library did not force an update of the screen - when changing the attributes. Use <STRONG>touchwin</STRONG> to force the screen to - match the updated attributes. - - The XSI Curses standard states that whether the traditional functions - <STRONG>attron</STRONG>/<STRONG>attroff</STRONG>/<STRONG>attrset</STRONG> can manipulate attributes other than <STRONG>A_BLINK</STRONG>, - <STRONG>A_BOLD</STRONG>, <STRONG>A_DIM</STRONG>, <STRONG>A_REVERSE</STRONG>, <STRONG>A_STANDOUT</STRONG>, or <STRONG>A_UNDERLINE</STRONG> is "unspecified". - Under this implementation as well as SVr4 curses, these functions cor- - rectly manipulate all other highlights (specifically, <STRONG>A_ALTCHARSET</STRONG>, - <STRONG>A_PROTECT</STRONG>, and <STRONG>A_INVIS</STRONG>). - - XSI Curses added these entry points: - - <STRONG>attr_get</STRONG>, <STRONG>attr_on</STRONG>, <STRONG>attr_off</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_on</STRONG>, <STRONG>wattr_off</STRONG>, <STRONG>wat-</STRONG> - <STRONG>tr_get</STRONG>, <STRONG>wattr_set</STRONG> - - The new functions are intended to work with a new series of highlight - macros prefixed with <STRONG>WA_</STRONG>. The older macros have direct counterparts in - the newer set of names: - - <EM>Name</EM> <EM>Description</EM> - ------------------------------------------------------------ - <STRONG>WA_NORMAL</STRONG> Normal display (no highlight) - <STRONG>WA_STANDOUT</STRONG> Best highlighting mode of the terminal. - <STRONG>WA_UNDERLINE</STRONG> Underlining - <STRONG>WA_REVERSE</STRONG> Reverse video - <STRONG>WA_BLINK</STRONG> Blinking - <STRONG>WA_DIM</STRONG> Half bright - <STRONG>WA_BOLD</STRONG> Extra bright or bold - <STRONG>WA_ALTCHARSET</STRONG> Alternate character set - - XSI curses does not assign values to these symbols, nor does it state - whether or not they are related to the similarly-named A_NORMAL, etc.: - - <STRONG>o</STRONG> The XSI curses standard specifies that each pair of corresponding - <STRONG>A_</STRONG> and <STRONG>WA_</STRONG>-using functions operates on the same current-highlight - information. - - <STRONG>o</STRONG> However, in some implementations, those symbols have unrelated val- - ues. - - For example, the Solaris <EM>xpg4</EM> (X/Open) curses declares <STRONG>attr_t</STRONG> to be - an unsigned short integer (16-bits), while <STRONG>chtype</STRONG> is a unsigned in- - teger (32-bits). The <STRONG>WA_</STRONG> symbols in this case are different from - the <STRONG>A_</STRONG> symbols because they are used for a smaller datatype which - does not represent <STRONG>A_CHARTEXT</STRONG> or <STRONG>A_COLOR</STRONG>. - - In this implementation (as in many others), the values happen to be - the same because it simplifies copying information between <STRONG>chtype</STRONG> - and <STRONG>cchar_t</STRONG> variables. - - The XSI standard extended conformance level adds new highlights <STRONG>A_HORI-</STRONG> - <STRONG>ZONTAL</STRONG>, <STRONG>A_LEFT</STRONG>, <STRONG>A_LOW</STRONG>, <STRONG>A_RIGHT</STRONG>, <STRONG>A_TOP</STRONG>, <STRONG>A_VERTICAL</STRONG> (and corresponding - <STRONG>WA_</STRONG> macros for each). As of August 2013, no known terminal provides - these highlights (i.e., via the <STRONG>sgr1</STRONG> capability). - - -</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - All routines return the integer <STRONG>OK</STRONG> on success, or <STRONG>ERR</STRONG> on failure. - - X/Open does not define any error conditions. - - This implementation - - <STRONG>o</STRONG> returns an error if the window pointer is null. - - <STRONG>o</STRONG> returns an error if the color pair parameter for <STRONG>wcolor_set</STRONG> is out- - side the range 0..COLOR_PAIRS-1. - - <STRONG>o</STRONG> does not return an error if either of the parameters of <STRONG>wattr_get</STRONG> - used for retrieving attribute or color-pair values is <STRONG>NULL</STRONG>. - - Functions with a "mv" prefix first perform a cursor movement using - <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if - the window pointer is null. - - </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>, <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>, + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>, <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>, <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> - <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> +ncurses 6.5 2024-04-27 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -521,19 +505,19 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a> <ul> -<li><a href="#h3-Window-attributes">Window attributes</a></li> -<li><a href="#h3-Legacy-window-attributes">Legacy window attributes</a></li> -<li><a href="#h3-Change-character-rendition">Change character rendition</a></li> -<li><a href="#h3-Change-window-color">Change window color</a></li> +<li><a href="#h3-Window-Attributes">Window Attributes</a></li> +<li><a href="#h3-Legacy-Window-Attributes">Legacy Window Attributes</a></li> +<li><a href="#h3-Change-Character-Rendition">Change Character Rendition</a></li> +<li><a href="#h3-Change-Window-Color">Change Window Color</a></li> <li><a href="#h3-Standout">Standout</a></li> +<li><a href="#h3-Video-Attributes">Video Attributes</a></li> </ul> </li> -<li><a href="#h2-VIDEO-ATTRIBUTES">VIDEO ATTRIBUTES</a></li> +<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> <li><a href="#h2-NOTES">NOTES</a></li> -<li><a href="#h2-HISTORY">HISTORY</a></li> <li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> -<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> +<li><a href="#h2-HISTORY">HISTORY</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> diff --git a/doc/html/man/curs_beep.3x.html b/doc/html/man/curs_beep.3x.html index d9719d84b73e..e3d6c81786db 100644 --- a/doc/html/man/curs_beep.3x.html +++ b/doc/html/man/curs_beep.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2005,2010 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,27 +27,27 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_beep.3x,v 1.14 2020/02/02 23:34:34 tom Exp @ + * @Id: curs_beep.3x,v 1.29 2024/04/20 21:20:07 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_beep 3x</TITLE> +<TITLE>curs_beep 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_beep 3x</H1> +<H1 class="no-header">curs_beep 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG> <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG> +<STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>beep</STRONG>, <STRONG>flash</STRONG> - <STRONG>curses</STRONG> bell and screen flash routines + <STRONG>beep</STRONG>, <STRONG>flash</STRONG> - ring the (visual) bell of the terminal with <EM>curses</EM> </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -77,8 +77,8 @@ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These functions are described in the XSI Curses standard, Issue 4. - Like SVr4, it specifies that they always return <STRONG>OK</STRONG>. + These functions are described in X/Open Curses, Issue 4. Like SVr4, it + specifies that they always return <STRONG>OK</STRONG>. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> @@ -86,7 +86,7 @@ - <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG> </PRE> <div class="nav"> <ul> diff --git a/doc/html/man/curs_bkgd.3x.html b/doc/html/man/curs_bkgd.3x.html index d47f7b5e7716..47d2e13b829f 100644 --- a/doc/html/man/curs_bkgd.3x.html +++ b/doc/html/man/curs_bkgd.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2015,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,150 +27,169 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_bkgd.3x,v 1.31 2020/10/17 23:12:52 tom Exp @ + * @Id: curs_bkgd.3x,v 1.61 2024/04/20 18:54:36 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_bkgd 3x</TITLE> +<TITLE>curs_bkgd 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_bkgd 3x</H1> +<H1 class="no-header">curs_bkgd 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> +<STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>bkgdset</STRONG>, <STRONG>wbkgdset</STRONG>, <STRONG>bkgd</STRONG>, <STRONG>wbkgd</STRONG>, <STRONG>getbkgd</STRONG> - <STRONG>curses</STRONG> window background - manipulation routines + <STRONG>bkgdset</STRONG>, <STRONG>wbkgdset</STRONG>, <STRONG>bkgd</STRONG>, <STRONG>wbkgd</STRONG>, <STRONG>getbkgd</STRONG> - manipulate background of a + <EM>curses</EM> window of characters </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> - <STRONG>void</STRONG> <STRONG>bkgdset(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG> - <STRONG>void</STRONG> <STRONG>wbkgdset(WINDOW</STRONG> <STRONG>*</STRONG><EM>win,</EM> <EM>chtype</EM> <EM>ch</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>bkgd(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>wbkgd(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG> + <STRONG>void</STRONG> <STRONG>bkgdset(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG> + <STRONG>void</STRONG> <STRONG>wbkgdset(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG> + <STRONG>chtype</STRONG> <STRONG>getbkgd(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> + The <EM>background</EM> of a <EM>curses</EM> window (in the library's non-"wide" + configuration) is a <EM>chtype</EM> combining a set of attributes (see + <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>) with a character called the <EM>blank</EM> <EM>character.</EM> + + The blank character is a spacing character that populates a window's + character cells when their contents are erased without replacement. + The background's attributes are combined with all non-blank characters + written to the window, as with the <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG> and <STRONG><A HREF="curs_insch.3x.html">winsch(3x)</A></STRONG> families + of functions. + + The blank character and attributes of the background combine with + characters written to the window as described below. The background + becomes a property of the character and moves with it through any + scrolling and insert/delete line/character operations. + + To the extent possible on a given terminal, the attribute part of the + background is displayed as the graphic rendition of the character put + on the screen. + + +</PRE><H3><a name="h3-bkgd_wbkgd">bkgd, wbkgd</a></H3><PRE> + <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> set the background property of <STRONG>stdscr</STRONG> or the specified + window and then apply this setting to every character cell in that + window. -</PRE><H3><a name="h3-bkgdset">bkgdset</a></H3><PRE> - The <STRONG>bkgdset</STRONG> and <STRONG>wbkgdset</STRONG> routines manipulate the background of the - named window. The window background is a <STRONG>chtype</STRONG> consisting of any - combination of attributes (i.e., rendition) and a character. The - attribute part of the background is combined (OR'ed) with all non-blank - characters that are written into the window with <STRONG>waddch</STRONG>. Both the - character and attribute parts of the background are combined with the - blank characters. The background becomes a property of the character - and moves with the character through any scrolling and insert/delete - line/character operations. - - To the extent possible on a particular terminal, the attribute part of - the background is displayed as the graphic rendition of the character - put on the screen. - - -</PRE><H3><a name="h3-bkgd">bkgd</a></H3><PRE> - The <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> functions set the background property of the current - or specified window and then apply this setting to every character - position in that window. According to X/Open Curses, it should do - this: - - <STRONG>o</STRONG> The rendition of every character on the screen is changed to the - new background rendition. - - <STRONG>o</STRONG> Wherever the former background character appears, it is changed to - the new background character. - - Neither X/Open Curses nor the SVr4 manual pages give details about the - way the rendition of characters on the screen is updated when <STRONG>bkgd</STRONG> or - <STRONG>wbkgd</STRONG> is used to change the background character. - - This implementation, like SVr4 curses, does not store the background - and window attribute contributions to each cell separately. It updates - the rendition by comparing the character, non-color attributes and - colors contained in the background. For each cell in the window, - whether or not it is blank: - - <STRONG>o</STRONG> The library first compares the <EM>character</EM>, and if it matches the - current character part of the background, it replaces that with the + <STRONG>o</STRONG> The rendition of every character in the window changes to the new + background rendition. + + <STRONG>o</STRONG> Wherever the former background character appears, it changes to the new background character. - <STRONG>o</STRONG> The library then checks if the cell uses color, i.e., its color - pair value is nonzero. If not, it simply replaces the attributes - and color pair in the cell with those from the new background + <EM>ncurses</EM> updates the rendition of each character cell by comparing the + character, non-color attributes, and colors. The library applies to + following procedure to each cell in the window, whether or not it is + blank. + + <STRONG>o</STRONG> <EM>ncurses</EM> first compares the cell's character to the previously + specified blank character; if they match, <EM>ncurses</EM> writes the new + blank character to the cell. + + <STRONG>o</STRONG> <EM>ncurses</EM> then checks if the cell uses color, that is, its color pair + value is nonzero. If not, it simply replaces the attributes and + color pair in the cell with those from the new background character. - <STRONG>o</STRONG> If the cell uses color, and that matches the color in the current - background, the library removes attributes which may have come from - the current background and adds attributes from the new background. - It finishes by setting the cell to use the color from the new - background. + <STRONG>o</STRONG> If the cell uses color, and its background color matches that of + the current window background, <EM>ncurses</EM> removes attributes that may + have come from the current background and adds those from the new + background. It finishes by setting the cell's background to use + the new window background color. - <STRONG>o</STRONG> If the cell uses color, and that does not match the color in the - current background, the library updates only the non-color - attributes, first removing those which may have come from the - current background, and then adding attributes from the new + <STRONG>o</STRONG> If the cell uses color, and its background color does not match + that of the current window background, <EM>ncurses</EM> updates only the + non-color attributes, first removing those that may have come from + the current background, and then adding attributes from the new background. - If the background's character value is zero, a space is assumed. + <EM>ncurses</EM> treats a background character value of zero (0) as a blank + character. If the terminal does not support color, or if color has not been - started with <STRONG>start_color</STRONG>, the new background character's color - attribute will be ignored. + initialized with <STRONG><A HREF="curs_color.3x.html">start_color(3x)</A></STRONG>, <EM>ncurses</EM> ignores the new background + character's color attribute. + + +</PRE><H3><a name="h3-bkgdset_wbkgdset">bkgdset, wbkgdset</a></H3><PRE> + <STRONG>bkgdset</STRONG> and <STRONG>wbkgdset</STRONG> manipulate the background of the applicable + window, without updating the character cells as <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> do; only + future writes reflect the updated background. </PRE><H3><a name="h3-getbkgd">getbkgd</a></H3><PRE> - The <STRONG>getbkgd</STRONG> function returns the given window's current background - character/attribute pair. + <STRONG>getbkgd</STRONG> obtains the given window's background character and attribute + combination. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - These functions are described in the XSI Curses standard, Issue 4. It - specifies that <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> return <STRONG>ERR</STRONG> on failure, but gives no - failure conditions. + Functions returning an <EM>int</EM> return <STRONG>OK</STRONG> on success. <STRONG>bkgd</STRONG> returns <STRONG>ERR</STRONG> if + the library has not been initialized. <STRONG>wbkgd</STRONG> and <STRONG>getbkgd</STRONG> return <STRONG>ERR</STRONG> if + a <EM>WINDOW</EM> pointer argument is null. - The routines <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> return the integer <STRONG>OK</STRONG>, unless the library - has not been initialized. + <STRONG>bkgdset</STRONG> and <STRONG>wbkgdset</STRONG> do not return a value. - In contrast, the SVr4.0 manual says <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> may return <STRONG>OK</STRONG> "or a - non-negative integer if <STRONG>immedok</STRONG> is set", which refers to the return - value from <STRONG>wrefresh</STRONG> (used to implement the immediate repainting). The - SVr4 curses <STRONG>wrefresh</STRONG> returns the number of characters written to the - screen during the refresh. This implementation does not do that. + <STRONG>getbkgd</STRONG> returns a window's background character and attribute + combination. </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - Note that <STRONG>bkgdset</STRONG> and <STRONG>bkgd</STRONG> may be macros. + Unusually, there is no <STRONG>wgetbkgd</STRONG> function; <STRONG>getbkgd</STRONG> behaves as one would + expect <STRONG>wgetbkgd</STRONG> to, accepting a <EM>WINDOW</EM> pointer argument. + + <STRONG>bkgd</STRONG> and <STRONG>bkgdset</STRONG> may be implemented as macros. - X/Open Curses mentions that the character part of the background must - be a single-byte value. This implementation, like SVr4, checks to - ensure that, and will reuse the old background character if the check - fails. + X/Open Curses mentions that the character part of the background must + be a single-byte value. <EM>ncurses</EM>, like SVr4 <EM>curses</EM>, checks to ensure + that, and will reuse the old background character if the check fails. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These functions are described in the XSI Curses standard, Issue 4 - (X/Open Curses). + X/Open Curses, Issue 4 describes these functions. It specifies that + <STRONG>bkgd</STRONG>, <STRONG>wbkgd</STRONG>, and <STRONG>getbkgd</STRONG> return <STRONG>ERR</STRONG> on failure (in the case of the + last, this value is cast to <EM>chtype</EM>), but describes no failure + conditions. + + The SVr4.0 manual says that <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> may return <STRONG>OK</STRONG> "or a non- + negative integer if <STRONG>immedok</STRONG> is set", which refers to the return value + from <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG>, used to implement the immediate repainting. SVr4 + <EM>curses</EM>'s <STRONG>wrefresh</STRONG> returns the number of characters written to the + screen during the refresh. <EM>ncurses</EM> does not do that. + + Neither X/Open Curses nor the SVr4 manual pages detail how the + rendition of characters on the screen updates when <STRONG>bkgd</STRONG> or <STRONG>wbkgd</STRONG> + changes the background character. <EM>ncurses</EM>, like SVr4 <EM>curses</EM>, does not + (in its non-"wide" configuration) store the background and window + attribute contributions to each character cell separately. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> + <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> describes the corresponding functions in the "wide" + configuration of <EM>ncurses</EM>. + + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> - <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -178,8 +197,8 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a> <ul> -<li><a href="#h3-bkgdset">bkgdset</a></li> -<li><a href="#h3-bkgd">bkgd</a></li> +<li><a href="#h3-bkgd_wbkgd">bkgd, wbkgd</a></li> +<li><a href="#h3-bkgdset_wbkgdset">bkgdset, wbkgdset</a></li> <li><a href="#h3-getbkgd">getbkgd</a></li> </ul> </li> diff --git a/doc/html/man/curs_bkgrnd.3x.html b/doc/html/man/curs_bkgrnd.3x.html index ec8a36e735cb..a11a68c57a7b 100644 --- a/doc/html/man/curs_bkgrnd.3x.html +++ b/doc/html/man/curs_bkgrnd.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 2002-2015,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,37 +27,37 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_bkgrnd.3x,v 1.12 2020/10/17 23:13:15 tom Exp @ + * @Id: curs_bkgrnd.3x,v 1.42 2024/04/20 18:54:36 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_bkgrnd 3x</TITLE> +<TITLE>curs_bkgrnd 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_bkgrnd 3x</H1> +<H1 class="no-header">curs_bkgrnd 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> +<STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>bkgrnd</STRONG>, <STRONG>wbkgrnd</STRONG>, <STRONG>bkgrndset</STRONG>, <STRONG>wbkgrndset</STRONG>, <STRONG>getbkgrnd</STRONG>, <STRONG>wgetbkgrnd</STRONG> - <STRONG>curses</STRONG> - window complex background manipulation routines + <STRONG>bkgrnd</STRONG>, <STRONG>wbkgrnd</STRONG>, <STRONG>bkgrndset</STRONG>, <STRONG>wbkgrndset</STRONG>, <STRONG>getbkgrnd</STRONG>, <STRONG>wgetbkgrnd</STRONG> - + manipulate background of a <EM>curses</EM> window of wide characters </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> - <STRONG>int</STRONG> <STRONG>bkgrnd(</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>wbkgrnd(</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>bkgrnd(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>wbkgrnd(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG> - <STRONG>void</STRONG> <STRONG>bkgrndset(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG> + <STRONG>void</STRONG> <STRONG>bkgrndset(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG> <STRONG>void</STRONG> <STRONG>wbkgrndset(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>getbkgrnd(cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG> @@ -65,71 +65,119 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> + The <EM>background</EM> of a <EM>curses</EM> window (in the library's "wide" + configuration) is a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> combining a set of attributes (see + <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>) with a complex character called the <EM>blank</EM> <EM>character.</EM> -</PRE><H3><a name="h3-bkgrndset">bkgrndset</a></H3><PRE> - The <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> routines manipulate the background of the - named window. The window background is a <STRONG>cchar_t</STRONG> consisting of any - combination of attributes (i.e., rendition) and a complex character. - The attribute part of the background is combined (OR'ed) with all non- - blank characters that are written into the window with <STRONG>waddch</STRONG>. Both - the character and attribute parts of the background are combined with - the blank characters. The background becomes a property of the - character and moves with the character through any scrolling and - insert/delete line/character operations. + The blank character is a spacing character that populates a window's + character cells when their contents are erased without replacement. + The background's attributes are combined with all non-blank characters + written to the window, as with the <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG> and <STRONG><A HREF="curs_ins_wch.3x.html">wins_wch(3x)</A></STRONG> + families of functions. - To the extent possible on a particular terminal, the attribute part of - the background is displayed as the graphic rendition of the character - put on the screen. + The blank character and attributes of the background combine with + characters written to the window as described below. The background + becomes a property of the character and moves with it through any + scrolling and insert/delete line/character operations. + To the extent possible on a given terminal, the attribute part of the + background is displayed as the graphic rendition of the character put + on the screen. -</PRE><H3><a name="h3-bkgrnd">bkgrnd</a></H3><PRE> - The <STRONG>bkgrnd</STRONG> and <STRONG>wbkgrnd</STRONG> functions set the background property of the - current or specified window and then apply this setting to every - character position in that window: - <STRONG>o</STRONG> The rendition of every character on the screen is changed to the - new background rendition. +</PRE><H3><a name="h3-bkgrnd_wbkgrnd">bkgrnd, wbkgrnd</a></H3><PRE> + <STRONG>bkgrnd</STRONG> and <STRONG>wbkgrnd</STRONG> set the background property of <STRONG>stdscr</STRONG> or the + specified window and then apply this setting to every character cell in + that window. - <STRONG>o</STRONG> Wherever the former background character appears, it is changed to - the new background character. + <STRONG>o</STRONG> The rendition of every character in the window changes to the new + background rendition. + <STRONG>o</STRONG> Wherever the former background character appears, it changes to the + new background character. -</PRE><H3><a name="h3-getbkgrnd">getbkgrnd</a></H3><PRE> - The <STRONG>getbkgrnd</STRONG> function returns the given window's current background - character/attribute pair via the <STRONG>wch</STRONG> pointer. If the given window - pointer is null, the character is not updated (but no error returned). + <EM>ncurses</EM> updates the rendition of each character cell by comparing the + character, non-color attributes, and colors. The library applies to + following procedure to each cell in the window, whether or not it is + blank. + <STRONG>o</STRONG> <EM>ncurses</EM> first compares the cell's character to the previously + specified blank character; if they match, <EM>ncurses</EM> writes the new + blank character to the cell. + + <STRONG>o</STRONG> <EM>ncurses</EM> then checks if the cell uses color, that is, its color pair + value is nonzero. If not, it simply replaces the attributes and + color pair in the cell with those from the new background + character. + + <STRONG>o</STRONG> If the cell uses color, and its background color matches that of + the current window background, <EM>ncurses</EM> removes attributes that may + have come from the current background and adds those from the new + background. It finishes by setting the cell's background to use + the new window background color. + + <STRONG>o</STRONG> If the cell uses color, and its background color does not match + that of the current window background, <EM>ncurses</EM> updates only the + non-color attributes, first removing those that may have come from + the current background, and then adding attributes from the new + background. + + <EM>ncurses</EM> treats a background character value of zero (0) as a blank + character. + + If the terminal does not support color, or if color has not been + initialized with <STRONG><A HREF="curs_color.3x.html">start_color(3x)</A></STRONG>, <EM>ncurses</EM> ignores the new background + character's color attribute. + + +</PRE><H3><a name="h3-bkgrndset_wbkgrndset">bkgrndset, wbkgrndset</a></H3><PRE> + <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> manipulate the background of the applicable + window, without updating the character cells as <STRONG>bkgrnd</STRONG> and <STRONG>wbkgrnd</STRONG> do; + only future writes reflect the updated background. -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - Note that <STRONG>bkgrnd</STRONG>, <STRONG>bkgrndset</STRONG>, and <STRONG>getbkgrnd</STRONG> may be macros. - X/Open Curses does not provide details on how the rendition is changed. - This implementation follows the approach used in SVr4 curses, which is - explained in the manual page for <STRONG>wbkgd</STRONG>. +</PRE><H3><a name="h3-getbkgrnd_wgetbkgrnd">getbkgrnd, wgetbkgrnd</a></H3><PRE> + The <STRONG>getbkgrnd</STRONG> and <STRONG>wgetbkgrnd</STRONG> functions obtain the background character + and attribute pair of <STRONG>stdscr</STRONG> or the specified window and store it via + the <EM>wch</EM> pointer. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - The <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> routines do not return a value. + <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> do not return a value. - Upon successful completion, the other functions return <STRONG>OK</STRONG>. Otherwise, - they return <STRONG>ERR</STRONG>: + The other functions return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon success. In + <EM>ncurses</EM>, failure occurs if - <STRONG>o</STRONG> A null window pointer is treated as an error. + <STRONG>o</STRONG> a <EM>WINDOW</EM> pointer <EM>win</EM> is null, or - <STRONG>o</STRONG> A null character pointer is treated as an error. + <STRONG>o</STRONG> a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> pointer <EM>wch</EM> is null. + + +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + <STRONG>bkgrnd</STRONG>, <STRONG>bkgrndset</STRONG>, and <STRONG>getbkgrnd</STRONG> may be implemented as macros. + + Unlike their counterparts in the non-"wide" configuration of <EM>ncurses</EM>, + <STRONG>getbkgrnd</STRONG> and <STRONG>wgetbkgrnd</STRONG> supply the background character and attribute + in a modifiable <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> parameter, not as the return value. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These functions are described in the XSI Curses standard, Issue 4 - (X/Open Curses). + X/Open Curses, Issue 4 describes these functions. It specifies no + error conditions for them. + + X/Open Curses does not provide details of how the rendition is updated. + This implementation follows the approach used in SVr4 <EM>curses</EM>. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> + <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> describes the corresponding functions in the non-"wide" + configuration of <EM>ncurses</EM>. + + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> - <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -137,13 +185,13 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a> <ul> -<li><a href="#h3-bkgrndset">bkgrndset</a></li> -<li><a href="#h3-bkgrnd">bkgrnd</a></li> -<li><a href="#h3-getbkgrnd">getbkgrnd</a></li> +<li><a href="#h3-bkgrnd_wbkgrnd">bkgrnd, wbkgrnd</a></li> +<li><a href="#h3-bkgrndset_wbkgrndset">bkgrndset, wbkgrndset</a></li> +<li><a href="#h3-getbkgrnd_wgetbkgrnd">getbkgrnd, wgetbkgrnd</a></li> </ul> </li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> +<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> diff --git a/doc/html/man/curs_border.3x.html b/doc/html/man/curs_border.3x.html index 20013f61ab52..d310dad798ca 100644 --- a/doc/html/man/curs_border.3x.html +++ b/doc/html/man/curs_border.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2007,2010 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,29 +27,29 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_border.3x,v 1.27 2020/10/18 00:33:06 tom Exp @ + * @Id: curs_border.3x,v 1.49 2024/04/20 21:20:07 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_border 3x</TITLE> +<TITLE>curs_border 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_border 3x</H1> +<H1 class="no-header">curs_border 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> +<STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>border</STRONG>, <STRONG>wborder</STRONG>, <STRONG>box</STRONG>, <STRONG>hline</STRONG>, <STRONG>whline</STRONG>, <STRONG>vline</STRONG>, <STRONG>wvline</STRONG>, <STRONG>mvhline</STRONG>, <STRONG>mvwhline</STRONG>, - <STRONG>mvvline</STRONG>, <STRONG>mvwvline</STRONG> - create <STRONG>curses</STRONG> borders, horizontal and vertical - lines + <STRONG>border</STRONG>, <STRONG>wborder</STRONG>, <STRONG>box</STRONG>, <STRONG>hline</STRONG>, <STRONG>whline</STRONG>, <STRONG>vline</STRONG>, <STRONG>wvline</STRONG>, <STRONG>mvhline</STRONG>, <STRONG>mvwhline</STRONG>, + <STRONG>mvvline</STRONG>, <STRONG>mvwvline</STRONG> - draw borders and lines in a <EM>curses</EM> window of + characters </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -76,8 +76,8 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> The <STRONG>border</STRONG>, <STRONG>wborder</STRONG> and <STRONG>box</STRONG> routines draw a box around the edges of a - window. Other than the window, each argument is a character with at- - tributes: + window. Other than the window, each argument is a character with + attributes: <EM>ls</EM> - left side, <EM>rs</EM> - right side, @@ -88,8 +88,8 @@ <EM>bl</EM> - bottom left-hand corner, and <EM>br</EM> - bottom right-hand corner. - If any of these arguments is zero, then the corresponding default val- - ues (defined in <STRONG>curses.h</STRONG>) are used instead: + If any of these arguments is zero, then the corresponding default + values (defined in <STRONG>curses.h</STRONG>) are used instead: <STRONG>ACS_VLINE</STRONG>, <STRONG>ACS_VLINE</STRONG>, @@ -100,51 +100,48 @@ <STRONG>ACS_LLCORNER</STRONG>, <STRONG>ACS_LRCORNER</STRONG>. - <STRONG>box(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>)</STRONG> is a shorthand for the following call: <STRONG>wbor-</STRONG> - <STRONG>der(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <STRONG>0,</STRONG> <STRONG>0,</STRONG> <STRONG>0,</STRONG> <STRONG>0)</STRONG>. + <STRONG>box(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>)</STRONG> is a shorthand for the following call: + <STRONG>wborder(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <STRONG>0,</STRONG> <STRONG>0,</STRONG> <STRONG>0,</STRONG> <STRONG>0)</STRONG>. The <STRONG>hline</STRONG> and <STRONG>whline</STRONG> functions draw a horizontal (left to right) line using <EM>ch</EM> starting at the current cursor position in the window. The - current cursor position is not changed. The line is at most <EM>n</EM> charac- - ters long, or as many as fit into the window. + current cursor position is not changed. The line is at most <EM>n</EM> + characters long, or as many as fit into the window. - The <STRONG>vline</STRONG> and <STRONG>wvline</STRONG> functions draw a vertical (top to bottom) line us- - ing <EM>ch</EM> starting at the current cursor position in the window. The cur- - rent cursor position is not changed. The line is at most <EM>n</EM> characters - long, or as many as fit into the window. + The <STRONG>vline</STRONG> and <STRONG>wvline</STRONG> functions draw a vertical (top to bottom) line + using <EM>ch</EM> starting at the current cursor position in the window. The + current cursor position is not changed. The line is at most <EM>n</EM> + characters long, or as many as fit into the window. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> All routines return the integer <STRONG>OK</STRONG>. The SVr4.0 manual says "or a non- negative integer if <STRONG>immedok</STRONG> is set", but this appears to be an error. - X/Open does not define any error conditions. This implementation re- - turns an error if the window pointer is null. + X/Open Curses does not specify any error conditions. This + implementation returns an error if the window pointer is null. - Functions with a "mv" prefix first perform a cursor movement using - <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if - the window pointer is null. + Functions prefixed with "mv" first perform cursor movement and fail if + the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries. </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The borders generated by these functions are <EM>inside</EM> borders (this is + The borders generated by these functions are <EM>inside</EM> borders (this is also true of SVr4 curses, though the fact is not documented). Note that <STRONG>border</STRONG> and <STRONG>box</STRONG> may be macros. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These functions are described in the XSI Curses standard, Issue 4. The - standard specifies that they return <STRONG>ERR</STRONG> on failure, but specifies no - error conditions. + These functions are described in X/Open Curses, Issue 4. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>. + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> - <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> </PRE> <div class="nav"> <ul> diff --git a/doc/html/man/curs_border_set.3x.html b/doc/html/man/curs_border_set.3x.html index 9c1f8459146b..e687aa68a87a 100644 --- a/doc/html/man/curs_border_set.3x.html +++ b/doc/html/man/curs_border_set.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2019,2020 Thomas E. Dickey * + * Copyright 2019-2023,2024 Thomas E. Dickey * * Copyright 2002-2011,2012 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,73 +27,73 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_border_set.3x,v 1.13 2020/02/02 23:34:34 tom Exp @ + * @Id: curs_border_set.3x,v 1.36 2024/04/20 21:20:07 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_border_set 3x</TITLE> +<TITLE>curs_border_set 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_border_set 3x</H1> +<H1 class="no-header">curs_border_set 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> +<STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>border_set</STRONG>, <STRONG>wborder_set</STRONG>, <STRONG>box_set</STRONG>, <STRONG>hline_set</STRONG>, <STRONG>whline_set</STRONG>, <STRONG>mvhline_set</STRONG>, - <STRONG>mvwhline_set</STRONG>, <STRONG>vline_set</STRONG>, <STRONG>wvline_set</STRONG>, <STRONG>mvvline_set</STRONG>, <STRONG>mvwvline_set</STRONG> - create - <STRONG>curses</STRONG> borders or lines using complex characters and renditions + <STRONG>border_set</STRONG>, <STRONG>wborder_set</STRONG>, <STRONG>box_set</STRONG>, <STRONG>hline_set</STRONG>, <STRONG>whline_set</STRONG>, <STRONG>mvhline_set</STRONG>, + <STRONG>mvwhline_set</STRONG>, <STRONG>vline_set</STRONG>, <STRONG>wvline_set</STRONG>, <STRONG>mvvline_set</STRONG>, <STRONG>mvwvline_set</STRONG> - draw + borders and lines in a <EM>curses</EM> window of wide characters </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> <STRONG>int</STRONG> <STRONG>border_set(</STRONG> - <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ls</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>rs</EM>, - <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ts</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bs</EM>, - <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tl</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tr</EM>, - <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bl</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>br</EM> <STRONG>);</STRONG> + <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ls</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>rs</EM><STRONG>,</STRONG> + <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ts</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bs</EM><STRONG>,</STRONG> + <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tl</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tr</EM><STRONG>,</STRONG> + <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bl</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>br</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>wborder_set(</STRONG> - <STRONG>WINDOW</STRONG> <STRONG>*win</STRONG>, - <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ls</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>rs</EM>, - <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ts</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bs</EM>, - <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tl</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tr</EM>, - <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bl</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>br</EM><STRONG>);</STRONG> + <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> + <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ls</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>rs</EM><STRONG>,</STRONG> + <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ts</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bs</EM><STRONG>,</STRONG> + <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tl</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tr</EM><STRONG>,</STRONG> + <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bl</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>br</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>box_set(</STRONG> - <STRONG>WINDOW</STRONG> <STRONG>*win</STRONG>, - <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>verch</EM>, + <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> + <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>verch</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>horch</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>hline_set(</STRONG> - <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> + <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>whline_set(</STRONG> - <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM>, - <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> + <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> + <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>mvhline_set(</STRONG> - <STRONG>int</STRONG> <EM>y</EM>, <STRONG>int</STRONG> <EM>x</EM>, - <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> + <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>mvwhline_set(</STRONG> - <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM>, - <STRONG>int</STRONG> <EM>y</EM>, <STRONG>int</STRONG> <EM>x</EM>, - <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> + <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> + <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> + <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>vline_set(</STRONG> - <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> + <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>wvline_set(</STRONG> - <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM>, - <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> + <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> + <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>mvvline_set(</STRONG> - <STRONG>int</STRONG> <EM>y</EM>, <STRONG>int</STRONG> <EM>x</EM>, - <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> + <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>mvwvline_set(</STRONG> - <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM>, - <STRONG>int</STRONG> <EM>y</EM>, <STRONG>int</STRONG> <EM>x</EM>, - <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> + <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> + <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> + <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> @@ -101,8 +101,8 @@ of the current or specified window. These functions do not change the cursor position, and do not wrap. - Other than the window, each argument is a complex character with at- - tributes: + Other than the window, each argument is a complex character with + attributes: <EM>ls</EM> - left side, <EM>rs</EM> - right side, <EM>ts</EM> - top side, @@ -112,8 +112,8 @@ <EM>bl</EM> - bottom left-hand corner, and <EM>br</EM> - bottom right-hand corner. - If any of these arguments is zero, then the corresponding default val- - ues (defined in <STRONG>curses.h</STRONG>) are used instead: + If any of these arguments is zero, then the corresponding default + values (defined in <STRONG>curses.h</STRONG>) are used instead: <STRONG>WACS_VLINE</STRONG>, <STRONG>WACS_VLINE</STRONG>, <STRONG>WACS_HLINE</STRONG>, @@ -140,36 +140,40 @@ a line proceeding toward the last line of the window. -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - Note that <STRONG>border_set</STRONG>, <STRONG>hline_set</STRONG>, <STRONG>mvhline_set</STRONG>, <STRONG>mvvline_set</STRONG>, <STRONG>mvwh-</STRONG> - <STRONG>line_set</STRONG>, <STRONG>mvwvline_set</STRONG>, and <STRONG>vline_set</STRONG> may be macros. - - </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> Upon successful completion, these functions return <STRONG>OK</STRONG>. Otherwise, they return <STRONG>ERR</STRONG>. Functions using a window parameter return an error if it is null. - Functions with a "mv" prefix first perform a cursor movement using - <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if - the window pointer is null. + Functions prefixed with "mv" first perform cursor movement and fail if + the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries. + + +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + Note that <STRONG>border_set</STRONG>, <STRONG>hline_set</STRONG>, <STRONG>mvhline_set</STRONG>, <STRONG>mvvline_set</STRONG>, + <STRONG>mvwhline_set</STRONG>, <STRONG>mvwvline_set</STRONG>, and <STRONG>vline_set</STRONG> may be macros. + + +</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> + These functions are described in X/Open Curses, Issue 4. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> - <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> </PRE> <div class="nav"> <ul> <li><a href="#h2-NAME">NAME</a></li> <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> +<li><a href="#h2-NOTES">NOTES</a></li> +<li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> diff --git a/doc/html/man/curs_clear.3x.html b/doc/html/man/curs_clear.3x.html index bf7fa0a208c3..058689bfc827 100644 --- a/doc/html/man/curs_clear.3x.html +++ b/doc/html/man/curs_clear.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2016 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,28 +27,28 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_clear.3x,v 1.20 2020/10/24 09:19:37 tom Exp @ + * @Id: curs_clear.3x,v 1.48 2024/04/20 21:20:07 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_clear 3x</TITLE> +<TITLE>curs_clear 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_clear 3x</H1> +<H1 class="no-header">curs_clear 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG> <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG> +<STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>erase</STRONG>, <STRONG>werase</STRONG>, <STRONG>clear</STRONG>, <STRONG>wclear</STRONG>, <STRONG>clrtobot</STRONG>, <STRONG>wclrtobot</STRONG>, <STRONG>clrtoeol</STRONG>, <STRONG>wclrtoeol</STRONG> - - clear all or part of a <STRONG>curses</STRONG> window + <STRONG>erase</STRONG>, <STRONG>werase</STRONG>, <STRONG>clear</STRONG>, <STRONG>wclear</STRONG>, <STRONG>clrtobot</STRONG>, <STRONG>wclrtobot</STRONG>, <STRONG>clrtoeol</STRONG>, <STRONG>wclrtoeol</STRONG> + - clear all or part of a <EM>curses</EM> window </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -68,24 +68,32 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - The <STRONG>erase</STRONG> and <STRONG>werase</STRONG> routines copy blanks to every position in the win- - dow, clearing the screen. - The <STRONG>clear</STRONG> and <STRONG>wclear</STRONG> routines are like <STRONG>erase</STRONG> and <STRONG>werase</STRONG>, but they also - call <STRONG>clearok</STRONG>, so that the screen is cleared completely on the next call - to <STRONG>wrefresh</STRONG> for that window and repainted from scratch. +</PRE><H3><a name="h3-erase_werase">erase, werase</a></H3><PRE> + The <STRONG>erase</STRONG> and <STRONG>werase</STRONG> routines copy blanks to every position in the + window, clearing the screen. + + Blanks created by erasure have the current background rendition (as set + by <STRONG><A HREF="curs_bkgd.3x.html">wbkgdset(3x)</A></STRONG>) merged into them. + + +</PRE><H3><a name="h3-clear_wclear">clear, wclear</a></H3><PRE> + The <STRONG>clear</STRONG> and <STRONG>wclear</STRONG> routines are like <STRONG>erase</STRONG> and <STRONG>werase</STRONG>, but they also + call <STRONG><A HREF="curs_outopts.3x.html">clearok(3x)</A></STRONG>, so that the screen is cleared completely on the next + call to <STRONG>wrefresh</STRONG> for that window and repainted from scratch. + +</PRE><H3><a name="h3-clrtobot_wclrtobot">clrtobot, wclrtobot</a></H3><PRE> The <STRONG>clrtobot</STRONG> and <STRONG>wclrtobot</STRONG> routines erase from the cursor to the end of - screen. That is, they erase all lines below the cursor in the window. - Also, the current line to the right of the cursor, inclusive, is + screen. That is, they erase all lines below the cursor in the window. + Also, the current line to the right of the cursor, inclusive, is erased. + +</PRE><H3><a name="h3-clrtoeol_wclrtoeol">clrtoeol, wclrtoeol</a></H3><PRE> The <STRONG>clrtoeol</STRONG> and <STRONG>wclrtoeol</STRONG> routines erase the current line to the right of the cursor, inclusive, to the end of the current line. - Blanks created by erasure have the current background rendition (as set - by <STRONG>wbkgdset</STRONG>) merged into them. - </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> All routines return the integer <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure. @@ -104,23 +112,21 @@ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These functions are described in the XSI Curses standard, Issue 4. The - standard specifies that they return <STRONG>ERR</STRONG> on failure, but specifies no - error conditions. + These functions are described in X/Open Curses, Issue 4. - The SVr4.0 manual says that these functions could return "a non-nega- - tive integer if <STRONG>immedok</STRONG> is set", referring to the return-value of <STRONG>wre-</STRONG> - <STRONG>fresh</STRONG>. In that implementation, <STRONG>wrefresh</STRONG> would return a count of the + The SVr4.0 manual says that these functions could return "or a non- + negative integer if <STRONG>immedok</STRONG> is set", referring to the return-value of + <STRONG>wrefresh</STRONG>. In that implementation, <STRONG>wrefresh</STRONG> would return a count of the number of characters written to the terminal. Some historic curses implementations had, as an undocumented feature, - the ability to do the equivalent of <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying <STRONG>touch-</STRONG> - <STRONG>win(stdscr)</STRONG> or <STRONG>clear(stdscr)</STRONG>. This will not work under ncurses. + the ability to do the equivalent of <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying + <STRONG>touchwin(stdscr)</STRONG> or <STRONG>clear(stdscr)</STRONG>. This will not work under <EM>ncurses</EM>. - This implementation, and others such as Solaris, sets the current posi- - tion to 0,0 after erasing via <STRONG>werase</STRONG> and <STRONG>wclear</STRONG>. That fact is not doc- - umented in other implementations, and may not be true of implementa- - tions which were not derived from SVr4 source. + This implementation, and others such as Solaris, sets the current + position to 0,0 after erasing via <STRONG>werase</STRONG> and <STRONG>wclear</STRONG>. That fact is not + documented in other implementations, and may not be true of + implementations which were not derived from SVr4 source. Not obvious from the description, most implementations clear the screen after <STRONG>wclear</STRONG> even for a subwindow or derived window. If you do not @@ -132,13 +138,20 @@ - <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG> </PRE> <div class="nav"> <ul> <li><a href="#h2-NAME">NAME</a></li> <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> -<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> +<li><a href="#h2-DESCRIPTION">DESCRIPTION</a> +<ul> +<li><a href="#h3-erase_werase">erase, werase</a></li> +<li><a href="#h3-clear_wclear">clear, wclear</a></li> +<li><a href="#h3-clrtobot_wclrtobot">clrtobot, wclrtobot</a></li> +<li><a href="#h3-clrtoeol_wclrtoeol">clrtoeol, wclrtoeol</a></li> +</ul> +</li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> <li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> diff --git a/doc/html/man/curs_color.3x.html b/doc/html/man/curs_color.3x.html index c672b72a90ef..d84a5732540a 100644 --- a/doc/html/man/curs_color.3x.html +++ b/doc/html/man/curs_color.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,35 +27,41 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_color.3x,v 1.63 2020/10/24 09:35:23 tom Exp @ + * @Id: curs_color.3x,v 1.100 2024/04/20 21:24:19 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_color 3x</TITLE> +<TITLE>curs_color 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_color 3x</H1> +<H1 class="no-header">curs_color 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> +<STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>start_color</STRONG>, <STRONG>has_colors</STRONG>, <STRONG>can_change_color</STRONG>, <STRONG>init_pair</STRONG>, <STRONG>init_color</STRONG>, - <STRONG>init_extended_pair</STRONG>, <STRONG>init_extended_color</STRONG>, <STRONG>color_content</STRONG>, <STRONG>pair_content</STRONG>, - <STRONG>extended_color_content</STRONG>, <STRONG>extended_pair_content</STRONG>, <STRONG>reset_color_pairs</STRONG>, - <STRONG>COLOR_PAIR</STRONG>, <STRONG>PAIR_NUMBER</STRONG> - <STRONG>curses</STRONG> color manipulation routines + <STRONG>start_color</STRONG>, <STRONG>has_colors</STRONG>, <STRONG>can_change_color</STRONG>, <STRONG>init_pair</STRONG>, <STRONG>init_color</STRONG>, + <STRONG>init_extended_pair</STRONG>, <STRONG>init_extended_color</STRONG>, <STRONG>color_content</STRONG>, <STRONG>pair_content</STRONG>, + <STRONG>extended_color_content</STRONG>, <STRONG>extended_pair_content</STRONG>, <STRONG>reset_color_pairs</STRONG>, + <STRONG>COLOR_PAIR</STRONG>, <STRONG>PAIR_NUMBER</STRONG>, <STRONG>COLORS</STRONG>, <STRONG>COLOR_PAIRS</STRONG>, <STRONG>COLOR_BLACK</STRONG>, <STRONG>COLOR_RED</STRONG>, + <STRONG>COLOR_GREEN</STRONG>, <STRONG>COLOR_YELLOW</STRONG>, <STRONG>COLOR_BLUE</STRONG>, <STRONG>COLOR_MAGENTA</STRONG>, <STRONG>COLOR_CYAN</STRONG>, + <STRONG>COLOR_WHITE</STRONG> - manipulate terminal colors with <EM>curses</EM> </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> + <EM>/*</EM> <EM>variables</EM> <EM>*/</EM> + <STRONG>int</STRONG> <STRONG>COLOR_PAIRS;</STRONG> + <STRONG>int</STRONG> <STRONG>COLORS;</STRONG> + <STRONG>int</STRONG> <STRONG>start_color(void);</STRONG> <STRONG>bool</STRONG> <STRONG>has_colors(void);</STRONG> @@ -63,89 +69,88 @@ <STRONG>int</STRONG> <STRONG>init_pair(short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>f</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>b</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>init_color(short</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>b</EM><STRONG>);</STRONG> - /* extensions */ + <EM>/*</EM> <EM>extensions</EM> <EM>*/</EM> <STRONG>int</STRONG> <STRONG>init_extended_pair(int</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>f</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>b</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>init_extended_color(int</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>b</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>color_content(short</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>r</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>g</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>b</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>pair_content(short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>f</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>b</EM><STRONG>);</STRONG> - /* extensions */ + <EM>/*</EM> <EM>extensions</EM> <EM>*/</EM> <STRONG>int</STRONG> <STRONG>extended_color_content(int</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>r</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>g</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>b</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>extended_pair_content(int</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>f</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>b</EM><STRONG>);</STRONG> - /* extensions */ + <EM>/*</EM> <EM>extension</EM> <EM>*/</EM> <STRONG>void</STRONG> <STRONG>reset_color_pairs(void);</STRONG> <STRONG>int</STRONG> <STRONG>COLOR_PAIR(int</STRONG> <EM>n</EM><STRONG>);</STRONG> - <STRONG>PAIR_NUMBER(</STRONG><EM>attrs</EM><STRONG>);</STRONG> + <STRONG>PAIR_NUMBER(int</STRONG> <EM>attr</EM><STRONG>);</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> </PRE><H3><a name="h3-Overview">Overview</a></H3><PRE> - <STRONG>curses</STRONG> supports color attributes on terminals with that capability. To - use these routines <STRONG>start_color</STRONG> must be called, usually right after - <STRONG>initscr</STRONG>. Colors are always used in pairs (referred to as color-pairs). - A color-pair consists of a foreground color (for characters) and a - background color (for the blank field on which the characters are dis- - played). A programmer initializes a color-pair with the routine - <STRONG>init_pair</STRONG>. After it has been initialized, <STRONG>COLOR_PAIR</STRONG>(<EM>n</EM>) can be used to - convert the pair to a video attribute. + <EM>curses</EM> supports color attributes on terminals with that capability. + Call <STRONG>start_color</STRONG> (typically right after <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG>) to enable this + feature. Colors are always used in pairs. A <EM>color</EM> <EM>pair</EM> couples a + foreground color for characters with a background color for the blank + field on which characters are rendered. <STRONG>init_pair</STRONG> initializes a color + pair. The macro <STRONG>COLOR_PAIR</STRONG>(<EM>n</EM>) can then convert the pair to a video + attribute. - If a terminal is capable of redefining colors, the programmer can use - the routine <STRONG>init_color</STRONG> to change the definition of a color. The rou- - tines <STRONG>has_colors</STRONG> and <STRONG>can_change_color</STRONG> return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>, depending - on whether the terminal has color capabilities and whether the program- - mer can change the colors. The routine <STRONG>color_content</STRONG> allows a program- - mer to extract the amounts of red, green, and blue components in an - initialized color. The routine <STRONG>pair_content</STRONG> allows a programmer to - find out how a given color-pair is currently defined. + If a terminal has the relevant capability, <STRONG>init_color</STRONG> permits + (re)definition of a color. <STRONG>has_colors</STRONG> and <STRONG>can_change_color</STRONG> return <STRONG>TRUE</STRONG> + or <STRONG>FALSE</STRONG>, depending on whether the terminal has color capability and + whether the programmer can change the colors. <STRONG>color_content</STRONG> permits + extraction of the red, green, and blue components of an initialized + color. <STRONG>pair_content</STRONG> permits discovery of a color pair's current + definition. -</PRE><H3><a name="h3-Color-Rendering">Color Rendering</a></H3><PRE> - The <STRONG>curses</STRONG> library combines these inputs to produce the actual fore- - ground and background colors shown on the screen: +</PRE><H3><a name="h3-Rendering">Rendering</a></H3><PRE> + <EM>curses</EM> combines the following data to render a character cell. Any of + them can include color information. - <STRONG>o</STRONG> per-character video attributes (e.g., via <STRONG>waddch</STRONG>), + <STRONG>o</STRONG> <EM>curses</EM> character attributes, as from <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG> or <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG> - <STRONG>o</STRONG> the window attribute (e.g., by <STRONG>wattrset</STRONG>), and + <STRONG>o</STRONG> window attributes, as from <STRONG><A HREF="curs_attr.3x.html">wattrset(3x)</A></STRONG> or <STRONG><A HREF="curs_attr.3x.html">wattr_set(3x)</A></STRONG> - <STRONG>o</STRONG> the background character (e.g., <STRONG>wbkgdset</STRONG>). + <STRONG>o</STRONG> window background character attributes, as from <STRONG><A HREF="curs_bkgd.3x.html">wbkgdset(3x)</A></STRONG> or + <STRONG><A HREF="curs_bkgrnd.3x.html">wbkgrndset(3x)</A></STRONG> - Per-character and window attributes are usually set by a parameter con- - taining video attributes including a color pair value. Some functions - such as <STRONG>wattr_set</STRONG> use a separate parameter which is the color pair num- - ber. + Per-character and window attributes are usually set through a function + parameter containing attributes including a color pair value. Some + functions, such as <STRONG>wattr_set</STRONG>, use a separate color pair number + parameter. - The background character is a special case: it includes a character - value, just as if it were passed to <STRONG>waddch</STRONG>. + The background character is a special case: it includes a character + code, just as if it were passed to <STRONG>waddch</STRONG>. - The <STRONG>curses</STRONG> library does the actual work of combining these color pairs + The <EM>curses</EM> library does the actual work of combining these color pairs in an internal function called from <STRONG>waddch</STRONG>: <STRONG>o</STRONG> If the parameter passed to <STRONG>waddch</STRONG> is <EM>blank</EM>, and it uses the special color pair 0, - <STRONG>o</STRONG> <STRONG>curses</STRONG> next checks the window attribute. + <STRONG>o</STRONG> <EM>curses</EM> next checks the window attribute. - <STRONG>o</STRONG> If the window attribute does not use color pair 0, <STRONG>curses</STRONG> uses + <STRONG>o</STRONG> If the window attribute does not use color pair 0, <EM>curses</EM> uses the color pair from the window attribute. - <STRONG>o</STRONG> Otherwise, <STRONG>curses</STRONG> uses the background character. + <STRONG>o</STRONG> Otherwise, <EM>curses</EM> uses the background character. - <STRONG>o</STRONG> If the parameter passed to <STRONG>waddch</STRONG> is <EM>not</EM> <EM>blank</EM>, or it does not use - the special color pair 0, <STRONG>curses</STRONG> prefers the color pair from the - parameter, if it is nonzero. Otherwise, it tries the window attri- - bute next, and finally the background character. + <STRONG>o</STRONG> If the parameter passed to <STRONG>waddch</STRONG> is <EM>not</EM> <EM>blank</EM>, or it does not use + the special color pair 0, <EM>curses</EM> prefers the color pair from the + parameter, if it is nonzero. Otherwise, it tries the window + attribute next, and finally the background character. - Some <STRONG>curses</STRONG> functions such as <STRONG>wprintw</STRONG> call <STRONG>waddch</STRONG>. Those do not com- - bine its parameter with a color pair. Consequently those calls use on- - ly the window attribute or the background character. + Some <EM>curses</EM> functions such as <STRONG>wprintw</STRONG> call <STRONG>waddch</STRONG>. Those do not + combine its parameter with a color pair. Consequently those calls use + only the window attribute or the background character. </PRE><H2><a name="h2-CONSTANTS">CONSTANTS</a></H2><PRE> In <STRONG><curses.h></STRONG> the following macros are defined. These are the standard - colors (ISO-6429). <STRONG>curses</STRONG> also assumes that <STRONG>COLOR_BLACK</STRONG> is the default + colors (ISO-6429). <EM>curses</EM> also assumes that <STRONG>COLOR_BLACK</STRONG> is the default background color for all terminals. <STRONG>COLOR_BLACK</STRONG> @@ -157,32 +162,39 @@ <STRONG>COLOR_CYAN</STRONG> <STRONG>COLOR_WHITE</STRONG> - Some terminals support more than the eight (8) "ANSI" colors. There + Some terminals support more than the eight (8) "ANSI" colors. There are no standard names for those additional colors. </PRE><H2><a name="h2-VARIABLES">VARIABLES</a></H2><PRE> </PRE><H3><a name="h3-COLORS">COLORS</a></H3><PRE> - is initialized by <STRONG>start_color</STRONG> to the maximum number of colors the ter- - minal can support. + is initialized by <STRONG>start_color</STRONG> to the maximum number of colors the + terminal can support. </PRE><H3><a name="h3-COLOR_PAIRS">COLOR_PAIRS</a></H3><PRE> - is initialized by <STRONG>start_color</STRONG> to the maximum number of color pairs the - terminal can support. + is initialized by <STRONG>start_color</STRONG> to the maximum number of color pairs the + terminal can support. Often, its value is the product <STRONG>COLORS</STRONG> x <STRONG>COLORS</STRONG>, + but this is not always true. + + <STRONG>o</STRONG> A few terminals use the HLS color space (see <STRONG>start_color</STRONG> below), + ignoring this rule; and + + <STRONG>o</STRONG> terminals supporting a large number of colors are limited to the + number of color pairs that a <EM>signed</EM> <EM>short</EM> value can represent. </PRE><H2><a name="h2-FUNCTIONS">FUNCTIONS</a></H2><PRE> </PRE><H3><a name="h3-start_color">start_color</a></H3><PRE> The <STRONG>start_color</STRONG> routine requires no arguments. It must be called if - the programmer wants to use colors, and before any other color manipu- - lation routine is called. It is good practice to call this routine - right after <STRONG>initscr</STRONG>. <STRONG>start_color</STRONG> does this: + the programmer wants to use colors, and before any other color + manipulation routine is called. It is good practice to call this + routine right after <STRONG>initscr</STRONG>. <STRONG>start_color</STRONG> does this: - <STRONG>o</STRONG> It initializes two global variables, <STRONG>COLORS</STRONG> and <STRONG>COLOR_PAIRS</STRONG> (re- - spectively defining the maximum number of colors and color-pairs + <STRONG>o</STRONG> It initializes two global variables, <STRONG>COLORS</STRONG> and <STRONG>COLOR_PAIRS</STRONG> + (respectively defining the maximum number of colors and color pairs the terminal can support). <STRONG>o</STRONG> It initializes the special color pair <STRONG>0</STRONG> to the default foreground @@ -209,77 +221,77 @@ initial eight colors. <STRONG>start_color</STRONG> does not attempt to set the terminal's color palette to - match its built-in table. An application may use <STRONG>init_color</STRONG> to al- - ter the internal table along with the terminal's color. + match its built-in table. An application may use <STRONG>init_color</STRONG> to + alter the internal table along with the terminal's color. These limits apply to color values and color pairs. Values outside - these limits are not legal, and may result in a runtime error: + these limits are not valid, and may result in a runtime error: - <STRONG>o</STRONG> <STRONG>COLORS</STRONG> corresponds to the terminal database's <STRONG>max_colors</STRONG> capabili- - ty, (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>). + <STRONG>o</STRONG> <STRONG>COLORS</STRONG> corresponds to the terminal database's <STRONG>max_colors</STRONG> + capability, (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>). - <STRONG>o</STRONG> color values are expected to be in the range <STRONG>0</STRONG> to <STRONG>COLORS-1</STRONG>, inclu- - sive (including <STRONG>0</STRONG> and <STRONG>COLORS-1</STRONG>). + <STRONG>o</STRONG> color values are expected to be in the range <STRONG>0</STRONG> to <STRONG>COLORS-1</STRONG>, + inclusive (including <STRONG>0</STRONG> and <STRONG>COLORS-1</STRONG>). <STRONG>o</STRONG> a special color value <STRONG>-1</STRONG> is used in certain extended functions to denote the <EM>default</EM> <EM>color</EM> (see <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG>). - <STRONG>o</STRONG> <STRONG>COLOR_PAIRS</STRONG> corresponds to the terminal database's <STRONG>max_pairs</STRONG> capa- - bility, (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>). + <STRONG>o</STRONG> <STRONG>COLOR_PAIRS</STRONG> corresponds to the terminal database's <STRONG>max_pairs</STRONG> + capability, (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>). - <STRONG>o</STRONG> legal color pair values are in the range <STRONG>1</STRONG> to <STRONG>COLOR_PAIRS-1</STRONG>, inclu- - sive. + <STRONG>o</STRONG> valid color pair values are in the range <STRONG>1</STRONG> to <STRONG>COLOR_PAIRS-1</STRONG>, + inclusive. <STRONG>o</STRONG> color pair <STRONG>0</STRONG> is special; it denotes "no color". - Color pair <STRONG>0</STRONG> is assumed to be white on black, but is actually what- - ever the terminal implements before color is initialized. It can- - not be modified by the application. + Color pair <STRONG>0</STRONG> is assumed to be white on black, but is actually + whatever the terminal implements before color is initialized. It + cannot be modified by the application. </PRE><H3><a name="h3-has_colors">has_colors</a></H3><PRE> The <STRONG>has_colors</STRONG> routine requires no arguments. It returns <STRONG>TRUE</STRONG> if the - terminal can manipulate colors; otherwise, it returns <STRONG>FALSE</STRONG>. This rou- - tine facilitates writing terminal-independent programs. For example, a - programmer can use it to decide whether to use color or some other - video attribute. + terminal can manipulate colors; otherwise, it returns <STRONG>FALSE</STRONG>. This + routine facilitates writing terminal-independent programs. For + example, a programmer can use it to decide whether to use color or some + other video attribute. </PRE><H3><a name="h3-can_change_color">can_change_color</a></H3><PRE> The <STRONG>can_change_color</STRONG> routine requires no arguments. It returns <STRONG>TRUE</STRONG> if the terminal supports colors and can change their definitions; other, - it returns <STRONG>FALSE</STRONG>. This routine facilitates writing terminal-indepen- - dent programs. + it returns <STRONG>FALSE</STRONG>. This routine facilitates writing terminal- + independent programs. </PRE><H3><a name="h3-init_pair">init_pair</a></H3><PRE> - The <STRONG>init_pair</STRONG> routine changes the definition of a color-pair. It takes - three arguments: the number of the color-pair to be changed, the fore- - ground color number, and the background color number. For portable ap- - plications: + The <STRONG>init_pair</STRONG> routine changes the definition of a color pair. It takes + three arguments: the number of the color pair to be changed, the + foreground color number, and the background color number. For portable + applications: - <STRONG>o</STRONG> The first argument must be a legal color pair value. If default - colors are used (see <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG>) the upper limit is ad- - justed to allow for extra pairs which use a default color in fore- - ground and/or background. + <STRONG>o</STRONG> The first argument must be a valid color pair value. If default + colors are used (see <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG>) the upper limit is + adjusted to allow for extra pairs which use a default color in + foreground and/or background. - <STRONG>o</STRONG> The second and third arguments must be legal color values. + <STRONG>o</STRONG> The second and third arguments must be valid color values. - If the color-pair was previously initialized, the screen is refreshed - and all occurrences of that color-pair are changed to the new defini- - tion. + If the color pair was previously initialized, the screen is refreshed + and all occurrences of that color pair are changed to the new + definition. - As an extension, ncurses allows you to set color pair <STRONG>0</STRONG> via the <STRONG>as-</STRONG> - <STRONG><A HREF="assume_default_colors.3x.html">sume_default_colors(3x)</A></STRONG> routine, or to specify the use of default col- - ors (color number <STRONG>-1</STRONG>) if you first invoke the <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG> + As an extension, <EM>ncurses</EM> allows you to set color pair <STRONG>0</STRONG> via the + <STRONG><A HREF="default_colors.3x.html">assume_default_colors(3x)</A></STRONG> routine, or to specify the use of default + colors (color number <STRONG>-1</STRONG>) if you first invoke the <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG> routine. </PRE><H3><a name="h3-init_extended_pair">init_extended_pair</a></H3><PRE> Because <STRONG>init_pair</STRONG> uses signed <STRONG>short</STRONG>s for its parameters, that limits - color-pairs and color-values to 32767 on modern hardware. The exten- - sion <STRONG>init_extended_pair</STRONG> uses <STRONG>int</STRONG>s for the color-pair and color-value, - allowing a larger number of colors to be supported. + color pairs and color-values to 32767 on modern hardware. The + extension <STRONG>init_extended_pair</STRONG> uses <STRONG>int</STRONG>s for the color pair and color- + value, allowing a larger number of colors to be supported. </PRE><H3><a name="h3-init_color">init_color</a></H3><PRE> @@ -287,7 +299,7 @@ four arguments: the number of the color to be changed followed by three RGB values (for the amounts of red, green, and blue components). - <STRONG>o</STRONG> The first argument must be a legal color value; default colors are + <STRONG>o</STRONG> The first argument must be a valid color value; default colors are not allowed here. (See the section <STRONG>Colors</STRONG> for the default color index.) @@ -300,20 +312,20 @@ </PRE><H3><a name="h3-init_extended_color">init_extended_color</a></H3><PRE> Because <STRONG>init_color</STRONG> uses signed <STRONG>short</STRONG>s for its parameters, that limits - color-values and their red, green, and blue components to 32767 on mod- - ern hardware. The extension <STRONG>init_extended_color</STRONG> uses <STRONG>int</STRONG>s for the col- - or value and for setting the red, green, and blue components, allowing - a larger number of colors to be supported. + color-values and their red, green, and blue components to 32767 on + modern hardware. The extension <STRONG>init_extended_color</STRONG> uses <STRONG>int</STRONG>s for the + color value and for setting the red, green, and blue components, + allowing a larger number of colors to be supported. </PRE><H3><a name="h3-color_content">color_content</a></H3><PRE> The <STRONG>color_content</STRONG> routine gives programmers a way to find the intensity of the red, green, and blue (RGB) components in a color. It requires four arguments: the color number, and three addresses of <STRONG>short</STRONG>s for - storing the information about the amounts of red, green, and blue com- - ponents in the given color. + storing the information about the amounts of red, green, and blue + components in the given color. - <STRONG>o</STRONG> The first argument must be a legal color value, i.e., <STRONG>0</STRONG> through + <STRONG>o</STRONG> The first argument must be a valid color value, i.e., <STRONG>0</STRONG> through <STRONG>COLORS-1</STRONG>, inclusive. <STRONG>o</STRONG> The values that are stored at the addresses pointed to by the last @@ -322,68 +334,70 @@ </PRE><H3><a name="h3-extended_color_content">extended_color_content</a></H3><PRE> - Because <STRONG>color_content</STRONG> uses signed <STRONG>short</STRONG>s for its parameters, that lim- - its color-values and their red, green, and blue components to 32767 on - modern hardware. The extension <STRONG>extended_color_content</STRONG> uses <STRONG>int</STRONG>s for + Because <STRONG>color_content</STRONG> uses signed <STRONG>short</STRONG>s for its parameters, that + limits color-values and their red, green, and blue components to 32767 + on modern hardware. The extension <STRONG>extended_color_content</STRONG> uses <STRONG>int</STRONG>s for the color value and for returning the red, green, and blue components, allowing a larger number of colors to be supported. </PRE><H3><a name="h3-pair_content">pair_content</a></H3><PRE> The <STRONG>pair_content</STRONG> routine allows programmers to find out what colors a - given color-pair consists of. It requires three arguments: the color- + given color pair consists of. It requires three arguments: the color pair number, and two addresses of <STRONG>short</STRONG>s for storing the foreground and the background color numbers. - <STRONG>o</STRONG> The first argument must be a legal color value, i.e., in the range + <STRONG>o</STRONG> The first argument must be a valid color value, i.e., in the range <STRONG>1</STRONG> through <STRONG>COLOR_PAIRS-1</STRONG>, inclusive. - <STRONG>o</STRONG> The values that are stored at the addresses pointed to by the sec- - ond and third arguments are in the range <STRONG>0</STRONG> through <STRONG>COLORS</STRONG>, inclu- - sive. + <STRONG>o</STRONG> The values that are stored at the addresses pointed to by the + second and third arguments are in the range <STRONG>0</STRONG> through <STRONG>COLORS</STRONG>, + inclusive. </PRE><H3><a name="h3-extended_pair_content">extended_pair_content</a></H3><PRE> Because <STRONG>pair_content</STRONG> uses signed <STRONG>short</STRONG>s for its parameters, that limits - color-pair and color-values to 32767 on modern hardware. The extension + color pair and color-values to 32767 on modern hardware. The extension <STRONG>extended_pair_content</STRONG> uses <STRONG>int</STRONG>s for the color pair and for returning - the foreground and background colors, allowing a larger number of col- - ors to be supported. + the foreground and background colors, allowing a larger number of + colors to be supported. </PRE><H3><a name="h3-reset_color_pairs">reset_color_pairs</a></H3><PRE> - The extension <STRONG>reset_color_pairs</STRONG> tells ncurses to discard all of the - color-pair information which was set with <STRONG>init_pair</STRONG>. It also touches + The extension <STRONG>reset_color_pairs</STRONG> tells <EM>ncurses</EM> to discard all of the + color pair information which was set with <STRONG>init_pair</STRONG>. It also touches the current- and standard-screens, allowing an application to switch color palettes rapidly. -</PRE><H3><a name="h3-PAIR_NUMBER">PAIR_NUMBER</a></H3><PRE> - <STRONG>PAIR_NUMBER(</STRONG><EM>attrs</EM>) extracts the color value from its <EM>attrs</EM> parameter - and returns it as a color pair number. +</PRE><H3><a name="h3-COLOR_PAIR">COLOR_PAIR</a></H3><PRE> + <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG> converts a color pair number to an attribute. Attributes + can hold color pairs in the range 0 to 255. If you need a color pair + larger than that, you must use functions such as <STRONG>attr_set</STRONG> (which pass + the color pair as a separate parameter) rather than the legacy + functions such as <STRONG>attrset</STRONG>. -</PRE><H3><a name="h3-COLOR_PAIR">COLOR_PAIR</a></H3><PRE> - Its inverse <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG> converts a color pair number to an attribute. - Attributes can hold color pairs in the range 0 to 255. If you need a - color pair larger than that, you must use functions such as <STRONG>attr_set</STRONG> - (which pass the color pair as a separate parameter) rather than the - legacy functions such as <STRONG>attrset</STRONG>. +</PRE><H3><a name="h3-PAIR_NUMBER">PAIR_NUMBER</a></H3><PRE> + <STRONG>PAIR_NUMBER(</STRONG><EM>attr</EM>) extracts the color information from its <EM>attr</EM> + parameter and returns it as a color pair number; it is the inverse + operation of <STRONG>COLOR_PAIR</STRONG>. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> The routines <STRONG>can_change_color</STRONG> and <STRONG>has_colors</STRONG> return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>. - All other routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4 - specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful com- - pletion. + All other routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4 + specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful + completion. - X/Open defines no error conditions. SVr4 does document some error con- - ditions which apply in general: + X/Open defines no error conditions. SVr4 does document some error + conditions which apply in general: <STRONG>o</STRONG> This implementation will return <STRONG>ERR</STRONG> on attempts to use color values - outside the range <STRONG>0</STRONG> to <STRONG>COLORS</STRONG>-1 (except for the default colors ex- - tension), or use color pairs outside the range <STRONG>0</STRONG> to <STRONG>COLOR_PAIRS-1</STRONG>. + outside the range <STRONG>0</STRONG> to <STRONG>COLORS</STRONG>-1 (except for the default colors + extension), or use color pairs outside the range <STRONG>0</STRONG> to + <STRONG>COLOR_PAIRS-1</STRONG>. Color values used in <STRONG>init_color</STRONG> must be in the range <STRONG>0</STRONG> to <STRONG>1000</STRONG>. @@ -393,9 +407,9 @@ An error is returned from secondary functions such as <STRONG>init_pair</STRONG> if <STRONG>start_color</STRONG> was not called. - <STRONG>o</STRONG> SVr4 does much the same, except that it returns <STRONG>ERR</STRONG> from <STRONG>pair_con-</STRONG> - <STRONG>tent</STRONG> if the pair was not initialized using <STRONG>init_pairs</STRONG> and it re- - turns <STRONG>ERR</STRONG> from <STRONG>color_content</STRONG> if the terminal does not support + <STRONG>o</STRONG> SVr4 does much the same, except that it returns <STRONG>ERR</STRONG> from + <STRONG>pair_content</STRONG> if the pair was not initialized using <STRONG>init_pairs</STRONG> and + it returns <STRONG>ERR</STRONG> from <STRONG>color_content</STRONG> if the terminal does not support changing colors. This implementation does not return <STRONG>ERR</STRONG> for either case. @@ -412,12 +426,12 @@ </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - In the <STRONG>ncurses</STRONG> implementation, there is a separate color activation - flag, color palette, color pairs table, and associated <STRONG>COLORS</STRONG> and <STRONG>COL-</STRONG> - <STRONG>OR_PAIRS</STRONG> counts for each screen; the <STRONG>start_color</STRONG> function only affects - the current screen. The SVr4/XSI interface is not really designed with - this in mind, and historical implementations may use a single shared - color palette. + In the <EM>ncurses</EM> implementation, there is a separate color activation + flag, color palette, color pairs table, and associated <STRONG>COLORS</STRONG> and + <STRONG>COLOR_PAIRS</STRONG> counts for each screen; the <STRONG>start_color</STRONG> function only + affects the current screen. The SVr4/XSI interface is not really + designed with this in mind, and historical implementations may use a + single shared color palette. Setting an implicit background color via a color pair affects only character cells that a character write operation explicitly touches. @@ -439,40 +453,93 @@ <STRONG>o</STRONG> Color RGB values are not settable. +</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE> + The functions marked as extensions were designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and + are not found in SVr4 <EM>curses</EM>, 4.4BSD <EM>curses</EM>, or any other previous + curses implementation. + + </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - This implementation satisfies XSI Curses's minimum maximums for <STRONG>COLORS</STRONG> - and <STRONG>COLOR_PAIRS</STRONG>. + Applications employing <EM>ncurses</EM> extensions should condition their use on + the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro. + + This implementation satisfies X/Open Curses's minimum maximums for + <STRONG>COLORS</STRONG> and <STRONG>COLOR_PAIRS</STRONG>. - The <STRONG>init_pair</STRONG> routine accepts negative values of foreground and back- - ground color to support the <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG> extension, but only - if that routine has been first invoked. + The <STRONG>init_pair</STRONG> routine accepts negative values of foreground and + background color to support the <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG> extension, but + only if that routine has been first invoked. The assumption that <STRONG>COLOR_BLACK</STRONG> is the default background color for all - terminals can be modified using the <STRONG><A HREF="default_colors.3x.html">assume_default_colors(3x)</A></STRONG> exten- - sion. + terminals can be modified using the <STRONG><A HREF="default_colors.3x.html">assume_default_colors(3x)</A></STRONG> + extension. - This implementation checks the pointers, e.g., for the values returned - by <STRONG>color_content</STRONG> and <STRONG>pair_content</STRONG>, and will treat those as optional pa- - rameters when null. + This implementation checks the pointers, e.g., for the values returned + by <STRONG>color_content</STRONG> and <STRONG>pair_content</STRONG>, and will treat those as optional + parameters when null. - X/Open Curses does not specify a limit for the number of colors and + X/Open Curses does not specify a limit for the number of colors and color pairs which a terminal can support. However, in its use of <STRONG>short</STRONG> - for the parameters, it carries over SVr4's implementation detail for + for the parameters, it carries over SVr4's implementation detail for the compiled terminfo database, which uses signed 16-bit numbers. This - implementation provides extended versions of those functions which use - <STRONG>short</STRONG> parameters, allowing applications to use larger color- and pair- + implementation provides extended versions of those functions which use + <STRONG>short</STRONG> parameters, allowing applications to use larger color- and pair- numbers. - The <STRONG>reset_color_pairs</STRONG> function is an extension of ncurses. + The <STRONG>reset_color_pairs</STRONG> function is an extension of <EM>ncurses</EM>. + + +</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE> + SVr3.2 introduced color support to curses in 1987. + + SVr4 made internal changes, e.g., moving the storage for the color + state from <STRONG>SP</STRONG> (the <EM>SCREEN</EM> structure) to <STRONG>cur_term</STRONG> (the <EM>TERMINAL</EM> + structure), but provided the same set of library functions. + + SVr4 curses limits the number of color pairs to 64, reserving color + pair zero (0) as the terminal's initial uncolored state. This limit + arises because the color pair information is a bitfield in the <STRONG>chtype</STRONG> + data type (denoted by <STRONG>A_COLOR</STRONG>). + + Other implementations of curses had different limits: + + <STRONG>o</STRONG> PCCurses (1987-1990) provided for only eight (8) colors. + + <STRONG>o</STRONG> PDCurses (1992-present) inherited the 8-color limitation from + PCCurses, but changed this to 256 in version 2.5 (2001), along with + changing <STRONG>chtype</STRONG> from 16-bits to 32-bits. + + <STRONG>o</STRONG> X/Open Curses (1992-present) added a new structure <STRONG>cchar_t</STRONG> to store + the character, attributes and color pair values, allowing increased + range of color pairs. Both color pairs and color-values used a + signed <STRONG>short</STRONG>, limiting values to 15 bits. + + <STRONG>o</STRONG> <EM>ncurses</EM> (1992-present) uses eight bits for <STRONG>A_COLOR</STRONG> in <STRONG>chtype</STRONG> + values. + + Version 5.3 provided a wide-character interface (2002), but left + color pairs as part of the attributes-field. + + Since version 6 (2015), ncurses uses a separate <STRONG>int</STRONG> for color pairs + in the <STRONG>cchar_t</STRONG> values. When those color pair values fit in 8 bits, + ncurses allows color pairs to be manipulated via the functions + using <STRONG>chtype</STRONG> values. + + <STRONG>o</STRONG> NetBSD curses used 6 bits from 2000 (when colors were first + supported) until 2004. At that point, NetBSD changed to use 10 + bits. As of 2021, that size is unchanged. Like <EM>ncurses</EM> before + version 6, the NetBSD color pair information is stored in the + attributes field of <STRONG>cchar_t</STRONG>, limiting the number of color pairs by + the size of the bitfield. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>de-</STRONG> - <STRONG><A HREF="default_colors.3x.html">fault_colors(3x)</A></STRONG> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, + <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> - <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -481,7 +548,7 @@ <li><a href="#h2-DESCRIPTION">DESCRIPTION</a> <ul> <li><a href="#h3-Overview">Overview</a></li> -<li><a href="#h3-Color-Rendering">Color Rendering</a></li> +<li><a href="#h3-Rendering">Rendering</a></li> </ul> </li> <li><a href="#h2-CONSTANTS">CONSTANTS</a></li> @@ -505,13 +572,15 @@ <li><a href="#h3-pair_content">pair_content</a></li> <li><a href="#h3-extended_pair_content">extended_pair_content</a></li> <li><a href="#h3-reset_color_pairs">reset_color_pairs</a></li> -<li><a href="#h3-PAIR_NUMBER">PAIR_NUMBER</a></li> <li><a href="#h3-COLOR_PAIR">COLOR_PAIR</a></li> +<li><a href="#h3-PAIR_NUMBER">PAIR_NUMBER</a></li> </ul> </li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> <li><a href="#h2-NOTES">NOTES</a></li> +<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-HISTORY">HISTORY</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> diff --git a/doc/html/man/curs_delch.3x.html b/doc/html/man/curs_delch.3x.html index 17698ec5574e..ca638df7ce2e 100644 --- a/doc/html/man/curs_delch.3x.html +++ b/doc/html/man/curs_delch.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2006,2010 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,28 +27,28 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_delch.3x,v 1.15 2020/10/24 09:36:43 tom Exp @ + * @Id: curs_delch.3x,v 1.34 2024/04/20 19:24:14 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_delch 3x</TITLE> +<TITLE>curs_delch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_delch 3x</H1> +<H1 class="no-header">curs_delch 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG> <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG> +<STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>delch</STRONG>, <STRONG>wdelch</STRONG>, <STRONG>mvdelch</STRONG>, <STRONG>mvwdelch</STRONG> - delete character under the cursor in - a <STRONG>curses</STRONG> window + <STRONG>delch</STRONG>, <STRONG>wdelch</STRONG>, <STRONG>mvdelch</STRONG>, <STRONG>mvwdelch</STRONG> - delete a character from a <EM>curses</EM> + window </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -61,32 +61,37 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - These routines delete 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 (after moving to <EM>y</EM>, <EM>x</EM>, if - specified). (This does not imply use of the hardware delete character - feature.) + <STRONG>wdelch</STRONG> deletes the character at the cursor position in <EM>win</EM>. + <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of this function. + + <STRONG>wdelch</STRONG> moves all characters to the right of the cursor on the same line + to the left one position and replaces the contents of the rightmost + position on the line with the window's blank character; see <STRONG><A HREF="curs_bkgd.3x.html">bkgd(3x)</A></STRONG> + (wide-character API users may consult <STRONG><A HREF="curs_bkgrnd.3x.html">bkgrnd(3x)</A></STRONG> instead). The cursor + position does not change (after moving to (<EM>y</EM>, <EM>x</EM>), if specified). </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4 - specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful - completion. + These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure. + + Functions taking a <EM>WINDOW</EM> pointer argument fail if the pointer is <STRONG>NULL</STRONG>. - Functions with a "mv" prefix first perform a cursor movement using - <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if - the window pointer is null. + Functions prefixed with "mv" first perform cursor movement and fail if + the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries. </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - Note that <STRONG>delch</STRONG>, <STRONG>mvdelch</STRONG>, and <STRONG>mvwdelch</STRONG> may be macros. + <STRONG>delch</STRONG>, <STRONG>mvdelch</STRONG>, and <STRONG>mvwdelch</STRONG> may be implemented as macros. + + A terminal's <STRONG>delete_character</STRONG> (<STRONG>dch1</STRONG>) capability is not necessarily + employed. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These functions are described in the XSI Curses standard, Issue 4. The - standard specifies that they return <STRONG>ERR</STRONG> on failure, but specifies no - error conditions. + X/Open Curses, Issue 4 describes these functions. + + SVr4 <EM>curses</EM> describes a successful return value only as "an integer + value other than <STRONG>ERR</STRONG>". </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> @@ -94,7 +99,7 @@ - <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG> </PRE> <div class="nav"> <ul> diff --git a/doc/html/man/curs_deleteln.3x.html b/doc/html/man/curs_deleteln.3x.html index 59a0f1222924..c9c500146182 100644 --- a/doc/html/man/curs_deleteln.3x.html +++ b/doc/html/man/curs_deleteln.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2007,2010 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,28 +27,28 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_deleteln.3x,v 1.17 2020/10/18 00:28:51 tom Exp @ + * @Id: curs_deleteln.3x,v 1.38 2024/04/20 21:20:07 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_deleteln 3x</TITLE> +<TITLE>curs_deleteln 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_deleteln 3x</H1> +<H1 class="no-header">curs_deleteln 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG> <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG> +<STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> <STRONG>deleteln</STRONG>, <STRONG>wdeleteln</STRONG>, <STRONG>insdelln</STRONG>, <STRONG>winsdelln</STRONG>, <STRONG>insertln</STRONG>, <STRONG>winsertln</STRONG> - delete - and insert lines in a <STRONG>curses</STRONG> window + or insert lines in a <EM>curses</EM> window </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -81,7 +81,7 @@ </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4 + These routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful completion. @@ -89,12 +89,6 @@ window parameter is null, an error is returned. -</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These functions are described in the XSI Curses standard, Issue 4. The - standard specifies that they return <STRONG>ERR</STRONG> on failure, but specifies no - error conditions. - - </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> Note that all but <STRONG>winsdelln</STRONG> may be macros. @@ -104,12 +98,18 @@ window. +</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> + These functions are described in X/Open Curses, Issue 4. The standard + specifies that they return <STRONG>ERR</STRONG> on failure, but specifies no error + conditions. + + </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> - <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -117,8 +117,8 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-NOTES">NOTES</a></li> +<li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> diff --git a/doc/html/man/curs_extend.3x.html b/doc/html/man/curs_extend.3x.html index f1645a31be49..e8b3a4682f73 100644 --- a/doc/html/man/curs_extend.3x.html +++ b/doc/html/man/curs_extend.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1999-2010,2016 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,27 +28,27 @@ * authorization. * **************************************************************************** * Author: Thomas E. Dickey 1999-on - * @Id: curs_extend.3x,v 1.24 2020/10/24 09:37:07 tom Exp @ + * @Id: curs_extend.3x,v 1.46 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_extend 3x</TITLE> +<TITLE>curs_extend 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_extend 3x</H1> +<H1 class="no-header">curs_extend 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG> <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG> +<STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>curses_version</STRONG>, <STRONG>use_extended_names</STRONG> - miscellaneous curses extensions + <STRONG>curses_version</STRONG>, <STRONG>use_extended_names</STRONG> - miscellaneous <EM>curses</EM> extensions </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -65,7 +65,9 @@ </PRE><H3><a name="h3-curses_version">curses_version</a></H3><PRE> Use <STRONG>curses_version</STRONG> to get the version number, including patch level of - the library, e.g., <STRONG>5.0.19991023</STRONG> + the library, prefixed by "ncurses", e.g., + + <STRONG>ncurses</STRONG> <STRONG>5.0.19991023</STRONG> </PRE><H3><a name="h3-use_extended_names">use_extended_names</a></H3><PRE> @@ -86,24 +88,28 @@ this and restore it. +</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE> + These functions are <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> extensions, and are not found in SVr4 + <EM>curses</EM>, 4.4BSD <EM>curses</EM>, or any other previous curses implementation. + + </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines are specific to ncurses. They were not supported on - Version 7, BSD or System V implementations. It is recommended that any - code depending on them be conditioned using NCURSES_VERSION. + Applications employing <EM>ncurses</EM> extensions should condition their use on + the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro. + + +</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE> + Thomas Dickey. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>, <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>, <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>, <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>, - <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>, <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE> - Thomas Dickey. + <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>, <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> - <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -116,9 +122,10 @@ </ul> </li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> +<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-AUTHORS">AUTHORS</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-AUTHOR">AUTHOR</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/curs_get_wch.3x.html b/doc/html/man/curs_get_wch.3x.html index ad6619f2d77e..291ef67f1c0a 100644 --- a/doc/html/man/curs_get_wch.3x.html +++ b/doc/html/man/curs_get_wch.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 2002-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,28 +27,28 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_get_wch.3x,v 1.14 2020/10/17 23:17:05 tom Exp @ + * @Id: curs_get_wch.3x,v 1.40 2024/04/20 19:23:03 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_get_wch 3x</TITLE> +<TITLE>curs_get_wch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_get_wch 3x</H1> +<H1 class="no-header">curs_get_wch 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> +<STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, <STRONG>mvwget_wch</STRONG>, <STRONG>unget_wch</STRONG> - get (or push - back) a wide character from curses terminal keyboard + <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, <STRONG>mvwget_wch</STRONG>, <STRONG>unget_wch</STRONG> - get (or push + back) a wide character from <EM>curses</EM> terminal keyboard </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -59,98 +59,130 @@ <STRONG>int</STRONG> <STRONG>mvget_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>mvwget_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>unget_wch(const</STRONG> <STRONG>wchar_t</STRONG> <EM>wch</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>unget_wch(const</STRONG> <STRONG>wchar_t</STRONG> <EM>wc</EM><STRONG>);</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - The <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, and <STRONG>mvwget_wch</STRONG> functions read a char- - acter from the terminal associated with the current or specified win- - dow. In no-delay mode, if no input is waiting, the value <STRONG>ERR</STRONG> is re- - turned. In delay mode, the program waits until the system passes text - through to the program. Depending on the setting of <STRONG>cbreak</STRONG>, this is - after one character (cbreak mode), or after the first newline (nocbreak - mode). In half-delay mode, the program waits until the user types a - character or the specified timeout interval has elapsed. - - Unless <STRONG>noecho</STRONG> has been set, these routines echo the character into the - designated window. - - If the window is not a pad and has been moved or modified since the - last call to <STRONG>wrefresh</STRONG>, <STRONG>wrefresh</STRONG> will be called before another character - is read. - - If <STRONG>keypad</STRONG> is enabled, these functions respond to the pressing of a - function key by setting the object pointed to by <EM>wch</EM> to the keycode as- - signed to the function key, and returning <STRONG>KEY_CODE_YES</STRONG>. If a character - (such as escape) that could be the beginning of a function key is re- - ceived, curses sets a timer. If the remainder of the sequence does ar- - rive within the designated time, curses passes through the character; - otherwise, curses returns the function key value. For this reason, - many terminals experience a delay between the time a user presses the - escape key and the time the escape is returned to the program. - - The keycodes returned by these functions are the same as those returned - by <STRONG>wgetch</STRONG>: - - <STRONG>o</STRONG> The predefined function keys are listed in <STRONG><curses.h></STRONG> as macros - with values outside the range of 8-bit characters. Their names be- - gin with <STRONG>KEY_</STRONG>. - - <STRONG>o</STRONG> Other (user-defined) function keys which may be defined using <STRONG>de-</STRONG> - <STRONG><A HREF="define_key.3x.html">fine_key(3x)</A></STRONG> have no names, but also are expected to have values - outside the range of 8-bit characters. - - The <STRONG>unget_wch</STRONG> function pushes the wide character <EM>wch</EM> back onto the head - of the input queue, so the wide character is returned by the next call - to <STRONG>get_wch</STRONG>. The pushback of one character is guaranteed. If the pro- - gram calls <STRONG>unget_wch</STRONG> too many times without an intervening call to - <STRONG>get_wch</STRONG>, the operation may fail. +</PRE><H3><a name="h3-Reading-Characters">Reading Characters</a></H3><PRE> + <STRONG>wget_wch</STRONG> gathers a key stroke <EM>wch</EM> from the terminal keyboard associated + with a <EM>curses</EM> window <EM>win</EM>, returning <STRONG>OK</STRONG> if a wide character is read, + <STRONG>KEY_CODE_YES</STRONG> if a function key is read, and <STRONG>ERR</STRONG> if no key event is + available. <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of this function. -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><curses.h></STRONG> automatically includes the header file - <STRONG><stdio.h></STRONG>. + When input is pending, <STRONG>wget_wch</STRONG> stores an integer identifying the key + stroke in <EM>wch</EM>; for alphanumeric and punctuation keys, this value + corresponds to the character encoding used by the terminal. Use of the + control key as a modifier often results in a distinct code. The + behavior of other keys depends on whether <EM>win</EM> is in keypad mode; see + subsections "Keypad Mode" and "Predefined Key Codes" in <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>. + + If no input is pending, then if the no-delay flag is set in the window + (see <STRONG><A HREF="nodelay.3x.html">nodelay(3x)</A></STRONG>), the function returns <STRONG>ERR</STRONG>; otherwise, <EM>curses</EM> waits + until the terminal has input. If <STRONG><A HREF="curs_inopts.3x.html">cbreak(3x)</A></STRONG> has been called, this + happens after one character is read. If <STRONG><A HREF="curs_inopts.3x.html">nocbreak(3x)</A></STRONG> has been called, + it occurs when the next newline is read. If <STRONG><A HREF="curs_inopts.3x.html">halfdelay(3x)</A></STRONG> has been + called, <EM>curses</EM> waits until a character is typed or the specified delay + elapses. + + If <STRONG><A HREF="curs_inopts.3x.html">echo(3x)</A></STRONG> has been called, and the window is not a pad, <EM>curses</EM> writes + <EM>wch</EM> to the window (at the cursor position) per the following rules. + + <STRONG>o</STRONG> If <EM>wch</EM> matches the terminal's erase character, the cursor moves + leftward one position and the new position is erased as if + <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG> and then <STRONG><A HREF="curs_delch.3x.html">wdelch(3x)</A></STRONG> were called. When the window's + keypad mode is enabled (see below), <STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG> are + handled the same way. + + <STRONG>o</STRONG> <EM>curses</EM> writes any other <EM>wch</EM> to the window, as with <STRONG><A HREF="curs_add_wch.3x.html">wecho_wchar(3x)</A></STRONG>. + + <STRONG>o</STRONG> If the window has been moved or modified since the last call to + <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG>, <EM>curses</EM> calls <STRONG>wrefresh</STRONG>. - Applications should not define the escape key by itself as a single- - character function. + If <EM>wch</EM> is a carriage return and <STRONG><A HREF="curs_inopts.3x.html">nl(3x)</A></STRONG> has been called, <STRONG>wgetch</STRONG> stores + the the character code for newline (line feed) in <EM>wch</EM> instead. - When using <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, or <STRONG>mvwget_wch</STRONG>, applications - should not use <STRONG>nocbreak</STRONG> mode and <STRONG>echo</STRONG> mode at the same time. Depending - on the state of the tty driver when each character is typed, the pro- - gram may produce undesirable results. - All functions except <STRONG>wget_wch</STRONG> and <STRONG>unget_wch</STRONG> may be macros. +</PRE><H3><a name="h3-Ungetting-Characters">Ungetting Characters</a></H3><PRE> + <STRONG>unget_wch</STRONG> places <EM>wch</EM> into the input queue to be returned by the next + call to <STRONG>wget_wch</STRONG>. A single input queue serves all windows. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - When <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, and <STRONG>mvwget_wch</STRONG> functions successful- - ly report the pressing of a function key, they return <STRONG>KEY_CODE_YES</STRONG>. - When they successfully report a wide character, they return <STRONG>OK</STRONG>. Other- - wise, they return <STRONG>ERR</STRONG>. + <STRONG>wget_wch</STRONG> returns <STRONG>OK</STRONG> when it reads a wide character and <STRONG>KEY_CODE_YES</STRONG> + when it reads a function key code. It returns <STRONG>ERR</STRONG> if - Upon successful completion, <STRONG>unget_wch</STRONG> returns <STRONG>OK</STRONG>. Otherwise, the func- - tion returns <STRONG>ERR</STRONG>. + <STRONG>o</STRONG> the <EM>WINDOW</EM> pointer is <STRONG>NULL</STRONG>, or + + <STRONG>o</STRONG> its timeout expires without any data arriving, or + + <STRONG>o</STRONG> execution was interrupted by a signal, in which case <STRONG>errno</STRONG> is set + to <STRONG>EINTR</STRONG>. + + Functions prefixed with "mv" first perform cursor movement and fail if + the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries. + + <STRONG>unget_wch</STRONG> returns <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> if there is no more room in the + input queue. + + +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + See the "NOTES" section of <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>. - Functions with a "mv" prefix first perform a cursor movement using - <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if - the window pointer is null. + All of these functions except <STRONG>wget_wch</STRONG> and <STRONG>unget_wch</STRONG> may be implemented + as macros. + + Unlike <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>, <STRONG>wget_wch</STRONG> and its variants store the value of the + input character in an additional <EM>wch</EM> parameter instead of the return + value. + + Unlike <STRONG>ungetch</STRONG>, <STRONG>unget_wch</STRONG> cannot distinguish function key codes + <STRONG>wget_wch</STRONG> from conventional character codes. An application can + overcome this limitation by pushing function key codes with <STRONG>ungetch</STRONG> and + subsequently checking the return value of <STRONG>wget_wch</STRONG> for a match with + <STRONG>KEY_CODE_YES</STRONG>. + + +</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE> + See the "EXTENSIONS" section of <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>. + + +</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> + Applications employing <EM>ncurses</EM> extensions should condition their use on + the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro. + + X/Open Curses, Issue 4 describes these functions. It specifies no + error conditions for them. + + See the "PORTABILITY" section of <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> regarding the interaction + of <STRONG>wget_wch</STRONG> with signal handlers. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, - <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> + <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library in + its non-wide-character configuration. + + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>, + <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> - <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> </PRE> <div class="nav"> <ul> <li><a href="#h2-NAME">NAME</a></li> <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> -<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> +<li><a href="#h2-DESCRIPTION">DESCRIPTION</a> +<ul> +<li><a href="#h3-Reading-Characters">Reading Characters</a></li> +<li><a href="#h3-Ungetting-Characters">Ungetting Characters</a></li> +</ul> +</li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> +<li><a href="#h2-NOTES">NOTES</a></li> +<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li> +<li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> diff --git a/doc/html/man/curs_get_wstr.3x.html b/doc/html/man/curs_get_wstr.3x.html index 0d30c9e59c4d..9e18e64f3dae 100644 --- a/doc/html/man/curs_get_wstr.3x.html +++ b/doc/html/man/curs_get_wstr.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 2002-2012,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,29 +27,29 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_get_wstr.3x,v 1.21 2020/10/17 23:17:24 tom Exp @ + * @Id: curs_get_wstr.3x,v 1.48 2024/04/20 19:18:18 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_get_wstr 3x</TITLE> +<TITLE>curs_get_wstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_get_wstr 3x</H1> +<H1 class="no-header">curs_get_wstr 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> +<STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>get_wstr</STRONG>, <STRONG>getn_wstr</STRONG>, <STRONG>wget_wstr</STRONG>, <STRONG>wgetn_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>, - <STRONG>mvwget_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG> - get an array of wide characters from a - curses terminal keyboard + <STRONG>get_wstr</STRONG>, <STRONG>getn_wstr</STRONG>, <STRONG>wget_wstr</STRONG>, <STRONG>wgetn_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>, + <STRONG>mvwget_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG> - get a wide-character string from a <EM>curses</EM> + terminal keyboard </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -67,116 +67,137 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - The effect of <STRONG>get_wstr</STRONG> is as though a series of calls to <STRONG><A HREF="curs_get_wch.3x.html">get_wch(3x)</A></STRONG> - were made, until a newline, other end-of-line, or end-of-file condition - is processed. An end-of-file condition is represented by <STRONG>WEOF</STRONG>, as de- - fined in <STRONG><wchar.h></STRONG>. The newline and end-of-line conditions are repre- - sented by the <STRONG>\n</STRONG> <STRONG>wchar_t</STRONG> value. In all instances, the end of the - string is terminated by a null <STRONG>wchar_t</STRONG>. The routine places resulting - values in the area pointed to by <EM>wstr</EM>. + The function <STRONG>wgetn_wstr</STRONG> is equivalent to a series of calls to + <STRONG><A HREF="curs_get_wch.3x.html">wget_wch(3x)</A></STRONG> until a newline or carriage return terminates the series: - The user's erase and kill characters are interpreted. If keypad mode - is on for the window, <STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG> are both considered - equivalent to the user's kill character. + <STRONG>o</STRONG> The terminating character is not included in the returned string. - Characters input are echoed only if <STRONG>echo</STRONG> is currently on. In that - case, backspace is echoed as deletion of the previous character (typi- - cally a left motion). + <STRONG>o</STRONG> An end-of-file condition is represented by <STRONG>WEOF</STRONG>, as defined in + <STRONG><wchar.h></STRONG>. - The effect of <STRONG>wget_wstr</STRONG> is as though a series of calls to <STRONG>wget_wch</STRONG> were - made. + <STRONG>o</STRONG> In all instances, the end of the string is terminated by a null + <STRONG>wchar_t</STRONG>. - The effect of <STRONG>mvget_wstr</STRONG> is as though a call to <STRONG>move</STRONG> and then a series - of calls to <STRONG>get_wch</STRONG> were made. + <STRONG>o</STRONG> The function stores the result in the area pointed to by the <EM>wstr</EM> + parameter. - The effect of <STRONG>mvwget_wstr</STRONG> is as though a call to <STRONG>wmove</STRONG> and then a se- - ries of calls to <STRONG>wget_wch</STRONG> were made. + <STRONG>o</STRONG> The function reads at most <EM>n</EM> characters, thus preventing a possible + overflow of the input buffer. - The <STRONG>getn_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>, and <STRONG>wgetn_wstr</STRONG> functions are - identical to the <STRONG>get_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, and <STRONG>wget_wstr</STRONG> func- - tions, respectively, except that the <STRONG>*n_*</STRONG> versions read at most <EM>n</EM> char- - acters, letting the application prevent overflow of the input buffer. + Any attempt to enter more characters (other than the terminating + newline or carriage return) causes a beep. + Function keys also cause a beep and are ignored. -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - Using <STRONG>get_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, or <STRONG>wget_wstr</STRONG> to read a line - that overflows the array pointed to by <STRONG>wstr</STRONG> causes undefined results. - The use of <STRONG>getn_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>, or <STRONG>wgetn_wstr</STRONG>, respec- - tively, is recommended. + The user's <EM>erase</EM> and <EM>kill</EM> characters are interpreted: - These functions cannot return <STRONG>KEY_</STRONG> values because there is no way to - distinguish a <STRONG>KEY_</STRONG> value from a valid <STRONG>wchar_t</STRONG> value. + <STRONG>o</STRONG> The <EM>erase</EM> character (e.g., <STRONG>^H</STRONG>) erases the character at the end of + the buffer, moving the cursor to the left. + + If <EM>keypad</EM> mode is on for the window, <STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG> are + both considered equivalent to the user's <EM>erase</EM> character. - All of these routines except <STRONG>wgetn_wstr</STRONG> may be macros. + <STRONG>o</STRONG> The <EM>kill</EM> character (e.g., <STRONG>^U</STRONG>) erases the entire buffer, leaving the + cursor at the beginning of the buffer. + + Characters input are echoed only if <STRONG>echo</STRONG> is currently on. In that + case, backspace is echoed as deletion of the previous character + (typically a left motion). + + The <STRONG>getn_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>, and <STRONG>wgetn_wstr</STRONG> functions are + identical to the <STRONG>get_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, and <STRONG>wget_wstr</STRONG> + functions, respectively, except that the <STRONG>*n_*</STRONG> versions read at most <EM>n</EM> + characters, letting the application prevent overflow of the input + buffer. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - All of these functions return <STRONG>OK</STRONG> upon successful completion. Other- - wise, they return <STRONG>ERR</STRONG>. + All of these functions return the integer <STRONG>OK</STRONG> upon successful + completion. If unsuccessful, they return <STRONG>ERR</STRONG>. + + X/Open defines no error conditions. + + In this implementation, these functions return an error + + <STRONG>o</STRONG> if the window pointer is null, - Functions using a window parameter return an error if it is null. + <STRONG>o</STRONG> if its timeout expires without having any data, or - <STRONG>wgetn_wstr</STRONG> - returns an error if the associated call to <STRONG>wget_wch</STRONG> failed. + <STRONG>o</STRONG> if the associated call to <STRONG>wget_wch</STRONG> failed. - Functions with a "mv" prefix first perform a cursor movement using - <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if - the window pointer is null. + Functions prefixed with "mv" first perform cursor movement and fail if + the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries. + + +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + Any of these functions other than <STRONG>wgetn_wstr</STRONG> may be macros. + + Using <STRONG>get_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, or <STRONG>wget_wstr</STRONG> to read a line + that overflows the array pointed to by <STRONG>wstr</STRONG> causes undefined results. + The use of <STRONG>getn_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>, or <STRONG>wgetn_wstr</STRONG>, + respectively, is recommended. + + These functions cannot return <STRONG>KEY_</STRONG> values because there is no way to + distinguish a <STRONG>KEY_</STRONG> value from a valid <STRONG>wchar_t</STRONG> value. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> These functions are described in The Single Unix Specification, Version - 2. No error conditions are defined. This implementation returns <STRONG>ERR</STRONG> - if the window pointer is null, or if the lower-level <STRONG>wget_wch</STRONG> call re- - turns an <STRONG>ERR</STRONG>. In the latter case, an <STRONG>ERR</STRONG> return without other data is - treated as an end-of-file condition, and the returned array contains a - <STRONG>WEOF</STRONG> followed by a null <STRONG>wchar_t</STRONG>. + 2. No error conditions are defined. + + This implementation returns <STRONG>ERR</STRONG> if the window pointer is null, or if + the lower-level <STRONG>wget_wch</STRONG> call returns an <STRONG>ERR</STRONG>. In the latter case, an + <STRONG>ERR</STRONG> return without other data is treated as an end-of-file condition, + and the returned array contains a <STRONG>WEOF</STRONG> followed by a null <STRONG>wchar_t</STRONG>. X/Open curses documented these functions to pass an array of <STRONG>wchar_t</STRONG> in 1997, but that was an error because of this part of the description: - The effect of <EM>get</EM><STRONG>_</STRONG><EM>wstr()</EM> is as though a series of calls to - <EM>get</EM><STRONG>_</STRONG><EM>wch()</EM> were made, until a newline character, end-of-line - character, or end-of-file character is processed. + The effect of <STRONG>get_wstr</STRONG> is as though a series of calls to <STRONG>get_wch</STRONG> + were made, until a newline character, end-of-line character, or + end-of-file character is processed. - The latter function <EM>get</EM><STRONG>_</STRONG><EM>wch()</EM> can return a negative value, while - <STRONG>wchar_t</STRONG> is a unsigned type. All of the vendors implement this using - <STRONG>wint_t</STRONG>, following the standard. + The latter function <EM>get</EM><STRONG>_</STRONG><EM>wch</EM> can return a negative value, while <STRONG>wchar_t</STRONG> + is a unsigned type. All of the vendors implement this using <STRONG>wint_t</STRONG>, + following the standard. - X/Open Curses, Issue 7 (2009) is unclear regarding whether the termi- - nating <EM>null</EM> <STRONG>wchar_t</STRONG> value is counted in the length parameter <EM>n</EM>. X/Open - Curses, Issue 7 revised the corresponding description of <STRONG>wgetnstr</STRONG> to - address this issue. The unrevised description of <STRONG>wget_nwstr</STRONG> can be in- - terpreted either way. This implementation counts the terminator in the - length. + X/Open Curses, Issue 7 (2009) is unclear regarding whether the + terminating <EM>null</EM> <STRONG>wchar_t</STRONG> value is counted in the length parameter <EM>n</EM>. + X/Open Curses, Issue 7 revised the corresponding description of + <STRONG>wgetnstr</STRONG> to address this issue. The unrevised description of + <STRONG>wget_nwstr</STRONG> can be interpreted either way. This implementation counts + the terminator in the length. - X/Open Curses does not specify what happens if the length <EM>n</EM> is nega- - tive. + X/Open Curses does not specify what happens if the length <EM>n</EM> is + negative. - <STRONG>o</STRONG> For analogy with <STRONG>wgetnstr</STRONG>, ncurses 6.2 uses a limit (based on + <STRONG>o</STRONG> For analogy with <STRONG>wgetnstr</STRONG>, <EM>ncurses</EM> 6.2 uses a limit (based on <STRONG>LINE_MAX</STRONG>). - <STRONG>o</STRONG> Some other implementations (such as Solaris xcurses) do the same, + <STRONG>o</STRONG> Some other implementations (such as Solaris xcurses) do the same, while others (PDCurses) do not allow this. - <STRONG>o</STRONG> NetBSD 7 curses imitates ncurses 6.1 in this regard, treating a <STRONG>-1</STRONG> + <STRONG>o</STRONG> NetBSD 7 curses imitates <EM>ncurses</EM> 6.1 in this regard, treating a <STRONG>-1</STRONG> as an indefinite number of characters. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - Functions: <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>. + <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library + in its non-wide-character configuration. + + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> - <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> </PRE> <div class="nav"> <ul> <li><a href="#h2-NAME">NAME</a></li> <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> +<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> diff --git a/doc/html/man/curs_getcchar.3x.html b/doc/html/man/curs_getcchar.3x.html index 6a45e0ac8121..c1edf2841c36 100644 --- a/doc/html/man/curs_getcchar.3x.html +++ b/doc/html/man/curs_getcchar.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2019,2020 Thomas E. Dickey * + * Copyright 2019-2023,2024 Thomas E. Dickey * * Copyright 2001-2015,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,43 +27,43 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_getcchar.3x,v 1.24 2020/02/02 23:34:34 tom Exp @ + * @Id: curs_getcchar.3x,v 1.49 2024/04/20 18:55:09 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_getcchar 3x</TITLE> +<TITLE>curs_getcchar 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_getcchar 3x</H1> +<H1 class="no-header">curs_getcchar 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG> <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG> +<STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>getcchar</STRONG>, <STRONG>setcchar</STRONG> - Get a wide character string and rendition from a - <STRONG>cchar_t</STRONG> or set a <STRONG>cchar_t</STRONG> from a wide-character string + <STRONG>getcchar</STRONG>, <STRONG>setcchar</STRONG> - convert between a wide-character string and a + <EM>curses</EM> complex character </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> <STRONG>int</STRONG> <STRONG>getcchar(</STRONG> - <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>,</STRONG> - <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG> + <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG> + <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wc</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <STRONG>*</STRONG><EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>color</EM><STRONG>_</STRONG><EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM> <STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>setcchar(</STRONG> - <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>,</STRONG> - <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG> + <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG> + <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wc</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>color</EM><STRONG>_</STRONG><EM>pair</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM> <STRONG>);</STRONG> @@ -73,79 +73,79 @@ </PRE><H3><a name="h3-getcchar">getcchar</a></H3><PRE> The <STRONG>getcchar</STRONG> function gets a wide-character string and rendition from a - <STRONG>cchar_t</STRONG> argument. When <EM>wch</EM> is not a null pointer, the <STRONG>getcchar</STRONG> - function does the following: + <STRONG>cchar_t</STRONG> argument. When <EM>wc</EM> is not a null pointer, the <STRONG>getcchar</STRONG> function + does the following: - <STRONG>o</STRONG> Extracts information from a <STRONG>cchar_t</STRONG> value <EM>wcval</EM> + <STRONG>o</STRONG> Extracts information from a <STRONG>cchar_t</STRONG> value <EM>wch</EM> <STRONG>o</STRONG> Stores the character attributes in the location pointed to by <EM>attrs</EM> - <STRONG>o</STRONG> Stores the color-pair in the location pointed to by <EM>color</EM><STRONG>_</STRONG><EM>pair</EM> + <STRONG>o</STRONG> Stores the color pair in the location pointed to by <EM>color</EM><STRONG>_</STRONG><EM>pair</EM> - <STRONG>o</STRONG> Stores the wide-character string, characters referenced by <EM>wcval</EM>, - into the array pointed to by <EM>wch</EM>. + <STRONG>o</STRONG> Stores the wide-character string, characters referenced by <EM>wch</EM>, + into the array pointed to by <EM>wc</EM>. - When <EM>wch</EM> is a null pointer, the <STRONG>getcchar</STRONG> function does the following: + When <EM>wc</EM> is a null pointer, the <STRONG>getcchar</STRONG> function does the following: - <STRONG>o</STRONG> Obtains the number of wide characters pointed to by <EM>wcval</EM> + <STRONG>o</STRONG> Obtains the number of wide characters pointed to by <EM>wch</EM> <STRONG>o</STRONG> Does not change the data referenced by <EM>attrs</EM> or <EM>color</EM><STRONG>_</STRONG><EM>pair</EM> </PRE><H3><a name="h3-setcchar">setcchar</a></H3><PRE> - The <STRONG>setcchar</STRONG> function initializes the location pointed to by <EM>wcval</EM> by + The <STRONG>setcchar</STRONG> function initializes the location pointed to by <EM>wch</EM> by using: <STRONG>o</STRONG> The character attributes in <EM>attrs</EM> <STRONG>o</STRONG> The color pair in <EM>color</EM><STRONG>_</STRONG><EM>pair</EM> - <STRONG>o</STRONG> The wide-character string pointed to by <EM>wch</EM>. The string must be + <STRONG>o</STRONG> The wide-character string pointed to by <EM>wc</EM>. The string must be L'\0' terminated, contain at most one spacing character, which must be the first. - Up to <STRONG>CCHARW_MAX</STRONG>-1 nonspacing characters may follow. Additional - nonspacing characters are ignored. + Up to <STRONG>CCHARW_MAX</STRONG>-1 non-spacing characters may follow. Additional + non-spacing characters are ignored. The string may contain a single control character instead. In that - case, no nonspacing characters are allowed. + case, no non-spacing characters are allowed. -</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE> - X/Open Curses documents the <EM>opts</EM> argument as reserved for future use, - saying that it must be null. This implementation uses that parameter - in ABI 6 for the functions which have a color-pair parameter to support - extended color pairs: +</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> + When <EM>wc</EM> is a null pointer, <STRONG>getcchar</STRONG> returns the number of wide + characters referenced by <EM>wch</EM>, including one for a trailing null. - <STRONG>o</STRONG> For functions which modify the color, e.g., <STRONG>setcchar</STRONG>, if <EM>opts</EM> is - set it is treated as a pointer to <STRONG>int</STRONG>, and used to set the color - pair instead of the <STRONG>short</STRONG> pair parameter. + When <EM>wc</EM> is not a null pointer, <STRONG>getcchar</STRONG> returns <STRONG>OK</STRONG> upon successful + completion, and <STRONG>ERR</STRONG> otherwise. - <STRONG>o</STRONG> For functions which retrieve the color, e.g., <STRONG>getcchar</STRONG>, if <EM>opts</EM> is - set it is treated as a pointer to <STRONG>int</STRONG>, and used to retrieve the - color pair as an <STRONG>int</STRONG> value, in addition retrieving it via the - standard pointer to <STRONG>short</STRONG> parameter. + Upon successful completion, <STRONG>setcchar</STRONG> returns <STRONG>OK</STRONG>. Otherwise, it returns + <STRONG>ERR</STRONG>. </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The <EM>wcval</EM> argument may be a value generated by a call to <STRONG>setcchar</STRONG> or by - a function that has a <STRONG>cchar_t</STRONG> output argument. If <EM>wcval</EM> is constructed - by any other means, the effect is unspecified. + The <EM>wch</EM> argument may be a value generated by a call to <STRONG>setcchar</STRONG> or by a + function that has a <STRONG>cchar_t</STRONG> output argument. If <EM>wch</EM> is constructed by + any other means, the effect is unspecified. -</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - When <EM>wch</EM> is a null pointer, <STRONG>getcchar</STRONG> returns the number of wide - characters referenced by <EM>wcval</EM>, including one for a trailing null. +</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE> + X/Open Curses documents the <EM>opts</EM> argument as reserved for future use, + saying that it must be null. This implementation uses that parameter + in ABI 6 for the functions which have a color pair parameter to support + extended color pairs: - When <EM>wch</EM> is not a null pointer, <STRONG>getcchar</STRONG> returns <STRONG>OK</STRONG> upon successful - completion, and <STRONG>ERR</STRONG> otherwise. + <STRONG>o</STRONG> For functions which modify the color, e.g., <STRONG>setcchar</STRONG>, if <EM>opts</EM> is + set it is treated as a pointer to <STRONG>int</STRONG>, and used to set the color + pair instead of the <STRONG>short</STRONG> pair parameter. - Upon successful completion, <STRONG>setcchar</STRONG> returns <STRONG>OK</STRONG>. Otherwise, it returns - <STRONG>ERR</STRONG>. + <STRONG>o</STRONG> For functions which retrieve the color, e.g., <STRONG>getcchar</STRONG>, if <EM>opts</EM> is + set it is treated as a pointer to <STRONG>int</STRONG>, and used to retrieve the + color pair as an <STRONG>int</STRONG> value, in addition retrieving it via the + standard pointer to <STRONG>short</STRONG> parameter. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - The <STRONG>CCHARW_MAX</STRONG> symbol is specific to ncurses. X/Open Curses does not + The <STRONG>CCHARW_MAX</STRONG> symbol is specific to <EM>ncurses</EM>. X/Open Curses does not provide details for the layout of the <STRONG>cchar_t</STRONG> structure. It tells what data are stored in it: @@ -174,7 +174,7 @@ <STRONG>o</STRONG> HP-UX 10 uses an opaque structure with 28 bytes, which is large enough for the 6 <STRONG>wchar_t</STRONG> values. - <STRONG>o</STRONG> Solaris xpg4 curses uses a single array of 6 <STRONG>wchar_t</STRONG> values. + <STRONG>o</STRONG> Solaris <EM>xpg4</EM> curses uses a single array of 6 <STRONG>wchar_t</STRONG> values. This implementation's <STRONG>cchar_t</STRONG> was defined in 1995 using <STRONG>5</STRONG> for the total of spacing and non-spacing characters (<STRONG>CCHARW_MAX</STRONG>). That was probably @@ -192,11 +192,11 @@ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - Functions: <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG>wcwidth(3)</STRONG>. + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>, <STRONG>wcwidth(3)</STRONG> - <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -208,9 +208,9 @@ <li><a href="#h3-setcchar">setcchar</a></li> </ul> </li> -<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> +<li><a href="#h2-NOTES">NOTES</a></li> +<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> diff --git a/doc/html/man/curs_getch.3x.html b/doc/html/man/curs_getch.3x.html index b4e6c5cd5211..fd8a8909f3e7 100644 --- a/doc/html/man/curs_getch.3x.html +++ b/doc/html/man/curs_getch.3x.html @@ -1,7 +1,7 @@ -<!-- +<!-- * t **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,362 +28,403 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_getch.3x,v 1.57 2020/12/19 21:38:20 tom Exp @ + * @Id: curs_getch.3x,v 1.87 2024/04/20 19:18:18 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_getch 3x</TITLE> +<TITLE>curs_getch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_getch 3x</H1> +<H1 class="no-header">curs_getch 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> +<STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, <STRONG>mvwgetch</STRONG>, <STRONG>ungetch</STRONG>, <STRONG>has_key</STRONG> - get (or push back) - characters from <STRONG>curses</STRONG> terminal keyboard + characters from <EM>curses</EM> terminal keyboard </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> <STRONG>int</STRONG> <STRONG>getch(void);</STRONG> - <STRONG>int</STRONG> <STRONG>wgetch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win);</EM> - + <STRONG>int</STRONG> <STRONG>wgetch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>mvgetch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>mvwgetch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>ungetch(int</STRONG> <EM>ch</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>ungetch(int</STRONG> <EM>c</EM><STRONG>);</STRONG> - /* extension */ - <STRONG>int</STRONG> <STRONG>has_key(int</STRONG> <EM>ch</EM><STRONG>);</STRONG> + <EM>/*</EM> <EM>extension</EM> <EM>*/</EM> + <STRONG>int</STRONG> <STRONG>has_key(int</STRONG> <EM>c</EM><STRONG>);</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> -</PRE><H3><a name="h3-Reading-characters">Reading characters</a></H3><PRE> - The <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG> and <STRONG>mvwgetch</STRONG>, routines read a character from - the window. In no-delay mode, if no input is waiting, the value <STRONG>ERR</STRONG> is - returned. In delay mode, the program waits until the system passes - text through to the program. Depending on the setting of <STRONG>cbreak</STRONG>, this - is after one character (cbreak mode), or after the first newline - (nocbreak mode). In half-delay mode, the program waits until a charac- - ter is typed or the specified timeout has been reached. - - If <STRONG>echo</STRONG> is enabled, and the window is not a pad, then the character - will also be echoed into the designated window according to the follow- - ing rules: - - <STRONG>o</STRONG> If the character is the current erase character, left arrow, or - backspace, the cursor is moved one space to the left and that - screen position is erased as if <STRONG>delch</STRONG> had been called. - - <STRONG>o</STRONG> If the character value is any other <STRONG>KEY_</STRONG> define, the user is alert- - ed with a <STRONG>beep</STRONG> call. - - <STRONG>o</STRONG> If the character is a carriage-return, and if <STRONG>nl</STRONG> is enabled, it is - translated to a line-feed after echoing. - - <STRONG>o</STRONG> Otherwise the character is simply output to the screen. - - If the window is not a pad, and it has been moved or modified since the - last call to <STRONG>wrefresh</STRONG>, <STRONG>wrefresh</STRONG> will be called before another character - is read. - - -</PRE><H3><a name="h3-Keypad-mode">Keypad mode</a></H3><PRE> - If <STRONG>keypad</STRONG> is <STRONG>TRUE</STRONG>, and a function key is pressed, the token for that - function key is returned instead of the raw characters: - - <STRONG>o</STRONG> The predefined function keys are listed in <STRONG><curses.h></STRONG> as macros - with values outside the range of 8-bit characters. Their names be- - gin with <STRONG>KEY_</STRONG>. - - <STRONG>o</STRONG> Other (user-defined) function keys which may be defined using <STRONG>de-</STRONG> - <STRONG><A HREF="define_key.3x.html">fine_key(3x)</A></STRONG> have no names, but also are expected to have values - outside the range of 8-bit characters. - - Thus, a variable intended to hold the return value of a function key - must be of short size or larger. - - When a character that could be the beginning of a function key is re- - ceived (which, on modern terminals, means an escape character), <STRONG>curses</STRONG> - sets a timer. If the remainder of the sequence does not come in within - the designated time, the character is passed through; otherwise, the - function key value is returned. For this reason, many terminals expe- - rience a delay between the time a user presses the escape key and the - escape is returned to the program. - - In <STRONG>ncurses</STRONG>, the timer normally expires after the value in <STRONG>ESCDELAY</STRONG> (see - <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>). If <STRONG>notimeout</STRONG> is <STRONG>TRUE</STRONG>, the timer does not expire; - it is an infinite (or very large) value. Because function keys usually - begin with an escape character, the terminal may appear to hang in no- - timeout mode after pressing the escape key until another key is - pressed. - - -</PRE><H3><a name="h3-Ungetting-characters">Ungetting characters</a></H3><PRE> - The <STRONG>ungetch</STRONG> routine places <EM>ch</EM> back onto the input queue to be returned - by the next call to <STRONG>wgetch</STRONG>. There is just one input queue for all win- - dows. - - -</PRE><H3><a name="h3-Predefined-key-codes">Predefined key-codes</a></H3><PRE> - The following special keys are defined in <STRONG><curses.h></STRONG>. - - <STRONG>o</STRONG> Except for the special case <STRONG>KEY_RESIZE</STRONG>, it is necessary to enable - <STRONG>keypad</STRONG> for <STRONG>getch</STRONG> to return these codes. - - <STRONG>o</STRONG> Not all of these are necessarily supported on any particular termi- - nal. - - <STRONG>o</STRONG> The naming convention may seem obscure, with some apparent mis- - spellings (such as "RSUME" for "resume"). The names correspond to - the long terminfo capability names for the keys, and were defined - long ago, in the 1980s. - - <EM>Name</EM> <EM>Key</EM> <EM>name</EM> - ------------------------------------------------- - KEY_BREAK Break key - KEY_DOWN The four arrow keys ... - KEY_UP - KEY_LEFT - KEY_RIGHT - KEY_HOME Home key (upward+left arrow) - KEY_BACKSPACE Backspace - KEY_F0 Function keys; space for 64 keys - is reserved. - KEY_F(<EM>n</EM>) For 0 <= <EM>n</EM> <= 63 - KEY_DL Delete line - KEY_IL Insert line - KEY_DC Delete character - KEY_IC Insert char or enter insert mode - KEY_EIC Exit insert char mode - KEY_CLEAR Clear screen - KEY_EOS Clear to end of screen - KEY_EOL Clear to end of line - KEY_SF Scroll 1 line forward - KEY_SR Scroll 1 line backward (reverse) - KEY_NPAGE Next page - KEY_PPAGE Previous page - KEY_STAB Set tab - KEY_CTAB Clear tab - KEY_CATAB Clear all tabs - KEY_ENTER Enter or send - KEY_SRESET Soft (partial) reset - KEY_RESET Reset or hard reset - - KEY_PRINT Print or copy - KEY_LL Home down or bottom (lower left) - KEY_A1 Upper left of keypad - KEY_A3 Upper right of keypad - KEY_B2 Center of keypad - KEY_C1 Lower left of keypad - KEY_C3 Lower right of keypad - KEY_BTAB Back tab key - KEY_BEG Beg(inning) key - KEY_CANCEL Cancel key - KEY_CLOSE Close key - KEY_COMMAND Cmd (command) key - KEY_COPY Copy key - KEY_CREATE Create key - KEY_END End key - KEY_EXIT Exit key - KEY_FIND Find key - KEY_HELP Help key - KEY_MARK Mark key - KEY_MESSAGE Message key - KEY_MOUSE Mouse event read - KEY_MOVE Move key - KEY_NEXT Next object key - KEY_OPEN Open key - KEY_OPTIONS Options key - KEY_PREVIOUS Previous object key - KEY_REDO Redo key - KEY_REFERENCE Ref(erence) key - KEY_REFRESH Refresh key - KEY_REPLACE Replace key - KEY_RESIZE Screen resized - KEY_RESTART Restart key - KEY_RESUME Resume key - KEY_SAVE Save key - KEY_SBEG Shifted beginning key - KEY_SCANCEL Shifted cancel key - KEY_SCOMMAND Shifted command key - KEY_SCOPY Shifted copy key - KEY_SCREATE Shifted create key - KEY_SDC Shifted delete char key - KEY_SDL Shifted delete line key - KEY_SELECT Select key - KEY_SEND Shifted end key - KEY_SEOL Shifted clear line key - KEY_SEXIT Shifted exit key - KEY_SFIND Shifted find key - KEY_SHELP Shifted help key - KEY_SHOME Shifted home key - KEY_SIC Shifted input key - KEY_SLEFT Shifted left arrow key - KEY_SMESSAGE Shifted message key - KEY_SMOVE Shifted move key - KEY_SNEXT Shifted next key - KEY_SOPTIONS Shifted options key - KEY_SPREVIOUS Shifted prev key - KEY_SPRINT Shifted print key - KEY_SREDO Shifted redo key - KEY_SREPLACE Shifted replace key - KEY_SRIGHT Shifted right arrow - KEY_SRSUME Shifted resume key - KEY_SSAVE Shifted save key - KEY_SSUSPEND Shifted suspend key - KEY_SUNDO Shifted undo key - KEY_SUSPEND Suspend key - KEY_UNDO Undo key - - Keypad is arranged like this: - - +-----+------+-------+ - | <STRONG>A1</STRONG> | <STRONG>up</STRONG> | <STRONG>A3</STRONG> | - +-----+------+-------+ - |<STRONG>left</STRONG> | <STRONG>B2</STRONG> | <STRONG>right</STRONG> | - +-----+------+-------+ - | <STRONG>C1</STRONG> | <STRONG>down</STRONG> | <STRONG>C3</STRONG> | - +-----+------+-------+ - A few of these predefined values do <EM>not</EM> correspond to a real key: - - <STRONG>o</STRONG> <STRONG>KEY_RESIZE</STRONG> is returned when the <STRONG>SIGWINCH</STRONG> signal has been detected - (see <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG> and <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>). This code is returned - whether or not <STRONG>keypad</STRONG> has been enabled. - - <STRONG>o</STRONG> <STRONG>KEY_MOUSE</STRONG> is returned for mouse-events (see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>). This - code relies upon whether or not <STRONG><A HREF="curs_inopts.3x.html">keypad(3x)</A></STRONG> has been enabled, be- - cause (e.g., with <EM>xterm</EM> mouse prototocol) ncurses must read escape - sequences, just like a function key. - - -</PRE><H3><a name="h3-Testing-key-codes">Testing key-codes</a></H3><PRE> - The <STRONG>has_key</STRONG> routine takes a key-code value from the above list, and re- - turns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG> according to whether the current terminal type rec- - ognizes a key with that value. - - The library also supports these extensions: - - <STRONG>define_key</STRONG> - defines a key-code for a given string (see <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>). - - <STRONG>key_defined</STRONG> - checks if there is a key-code defined for a given string (see - <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>). +</PRE><H3><a name="h3-Reading-Characters">Reading Characters</a></H3><PRE> + <STRONG>wgetch</STRONG> gathers a key stroke from the terminal keyboard associated with + a <EM>curses</EM> window <EM>win</EM>. <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of this + function. + + When input is pending, <STRONG>wgetch</STRONG> returns an integer identifying the key + stroke; for alphanumeric and punctuation keys, this value corresponds + to the character encoding used by the terminal. Use of the control key + as a modifier often results in a distinct code. The behavior of other + keys depends on whether <EM>win</EM> is in keypad mode; see subsection "Keypad + Mode" below. + + If no input is pending, then if the no-delay flag is set in the window + (see <STRONG><A HREF="nodelay.3x.html">nodelay(3x)</A></STRONG>), the function returns <STRONG>ERR</STRONG>; otherwise, <EM>curses</EM> waits + until the terminal has input. If <STRONG><A HREF="curs_inopts.3x.html">cbreak(3x)</A></STRONG> has been called, this + happens after one character is read. If <STRONG><A HREF="curs_inopts.3x.html">nocbreak(3x)</A></STRONG> has been called, + it occurs when the next newline is read. If <STRONG><A HREF="curs_inopts.3x.html">halfdelay(3x)</A></STRONG> has been + called, <EM>curses</EM> waits until a character is typed or the specified delay + elapses. + + If <STRONG><A HREF="curs_inopts.3x.html">echo(3x)</A></STRONG> has been called, and the window is not a pad, <EM>curses</EM> writes + the returned character <EM>c</EM> to the window (at the cursor position) per the + following rules. + + <STRONG>o</STRONG> If <EM>c</EM> matches the terminal's erase character, the cursor moves + leftward one position and the new position is erased as if + <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG> and then <STRONG><A HREF="curs_delch.3x.html">wdelch(3x)</A></STRONG> were called. When the window's + keypad mode is enabled (see below), <STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG> are + handled the same way. + + <STRONG>o</STRONG> <EM>curses</EM> writes any other <EM>c</EM> to the window, as with <STRONG><A HREF="curs_addch.3x.html">wechochar(3x)</A></STRONG>. + + <STRONG>o</STRONG> If the window has been moved or modified since the last call to + <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG>, <EM>curses</EM> calls <STRONG>wrefresh</STRONG>. + + If <EM>c</EM> is a carriage return and <STRONG><A HREF="curs_inopts.3x.html">nl(3x)</A></STRONG> has been called, <STRONG>wgetch</STRONG> returns + the character code for line feed instead. + + +</PRE><H3><a name="h3-Keypad-Mode">Keypad Mode</a></H3><PRE> + To <EM>curses</EM>, key strokes not from the alphabetic section of the keyboard + (those corresponding to the ECMA-6 character set--see + <STRONG>ascii(7)</STRONG>--optionally modified by either the control or shift keys) are + treated as <EM>function</EM> keys. (In <EM>curses</EM>, the term "function key" includes + but is not limited to keycaps engraved with "F1", "PF1", and so on.) + If the window is in keypad mode, these produce a numeric code + corresponding to the <STRONG>KEY_</STRONG> symbols listed in subsection "Predefined Key + Codes" below; otherwise, they transmit a sequence of codes typically + starting with the escape character, and which must be collected with + multiple <STRONG>wgetch</STRONG> calls. + + <STRONG>o</STRONG> The <EM>curses.h</EM> header file declares many <EM>predefined</EM> <EM>function</EM> <EM>keys</EM> + whose names begin with <STRONG>KEY_</STRONG>; these object-like macros have values + outside the range of eight-bit character codes. + + <STRONG>o</STRONG> In <EM>ncurses</EM>, <EM>user-defined</EM> <EM>function</EM> <EM>keys</EM> are configured with + <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>; they have no names, but are also expected to have + values outside the range of eight-bit codes. + + A variable intended to hold a function key code must thus be of type + <EM>short</EM> or larger. + + Most terminals one encounters follow the ECMA-48 standard insofar as + their function keys produce character sequences prefixed with the + escape character ESC. This fact implies that <EM>curses</EM> cannot know + whether the terminal has sent an ESC key stroke or the beginning of a + function key's character sequence without waiting to see if, and how + soon, further input arrives. When <EM>curses</EM> reads such an ambiguous + character, it sets a timer. If the remainder of the sequence does not + arrive within the designated time, <STRONG>wgetch</STRONG> returns the prefix character; + otherwise, it returns the function key code corresponding to the unique + sequence defined by the terminal. Consequently, a user of a <EM>curses</EM> + application may experience a delay after pressing ESC while <EM>curses</EM> + disambiguates the input; see section "EXTENSIONS" below. If the window + is in "no time-out" mode, the timer does not expire; it is an infinite + (or very large) value. See <STRONG><A HREF="notimeout.3x.html">notimeout(3x)</A></STRONG>. Because function key + sequences usually begin with an escape character, the terminal may + appear to hang in no time-out mode after the user has pressed ESC. + Generally, further typing "awakens" <EM>curses</EM>. + + +</PRE><H3><a name="h3-Ungetting-Characters">Ungetting Characters</a></H3><PRE> + <STRONG>ungetch</STRONG> places <EM>c</EM> into the input queue to be returned by the next call + to <STRONG>wgetch</STRONG>. A single input queue serves all windows. + + +</PRE><H3><a name="h3-Predefined-Key-Codes">Predefined Key Codes</a></H3><PRE> + The header file <EM>curses.h</EM> defines the following function key codes. + + <STRONG>o</STRONG> Except for the special case of <STRONG>KEY_RESIZE</STRONG>, a window's keypad mode + must be enabled for <STRONG>wgetch</STRONG> to read these codes from it. + + <STRONG>o</STRONG> Not all of these are necessarily supported on any particular + terminal. + + <STRONG>o</STRONG> The naming convention may seem obscure, with some apparent + misspellings (such as "RSUME" for "resume"); the names correspond + to the <EM>terminfo</EM> capability names for the keys, and were + standardized before the IBM PC/AT keyboard layout achieved a + dominant position in industry. + + <STRONG>Symbol</STRONG> <STRONG>Key</STRONG> <STRONG>name</STRONG> + ----------------------------------------------------------------- + <STRONG>KEY_BREAK</STRONG> Break key + <STRONG>KEY_DOWN</STRONG> + <STRONG>KEY_UP</STRONG> Arrow keys + <STRONG>KEY_LEFT</STRONG> + <STRONG>KEY_RIGHT</STRONG> + <STRONG>KEY_HOME</STRONG> Home key (upward+left arrow) + <STRONG>KEY_BACKSPACE</STRONG> Backspace + <STRONG>KEY_F0</STRONG> Function keys; space for 64 keys is reserved + <STRONG>KEY_F(</STRONG><EM>n</EM><STRONG>)</STRONG> Function key <EM>n</EM> where 0 <= <EM>n</EM> <= 63 + + <STRONG>KEY_DL</STRONG> Delete line + <STRONG>KEY_IL</STRONG> Insert line + <STRONG>KEY_DC</STRONG> Delete character + <STRONG>KEY_IC</STRONG> Insert character/Enter insert mode + <STRONG>KEY_EIC</STRONG> Exit insert character mode + <STRONG>KEY_CLEAR</STRONG> Clear screen + <STRONG>KEY_EOS</STRONG> Clear to end of screen + <STRONG>KEY_EOL</STRONG> Clear to end of line + <STRONG>KEY_SF</STRONG> Scroll one line forward + <STRONG>KEY_SR</STRONG> Scroll one line backward (reverse) + <STRONG>KEY_NPAGE</STRONG> Next page/Page up + <STRONG>KEY_PPAGE</STRONG> Previous page/Page down + <STRONG>KEY_STAB</STRONG> Set tab + <STRONG>KEY_CTAB</STRONG> Clear tab + <STRONG>KEY_CATAB</STRONG> Clear all tabs + <STRONG>KEY_ENTER</STRONG> Enter/Send + <STRONG>KEY_SRESET</STRONG> Soft (partial) reset + <STRONG>KEY_RESET</STRONG> (Hard) reset + <STRONG>KEY_PRINT</STRONG> Print/Copy + <STRONG>KEY_LL</STRONG> Home down/Bottom (lower left) + <STRONG>KEY_A1</STRONG> Upper left of keypad + <STRONG>KEY_A3</STRONG> Upper right of keypad + <STRONG>KEY_B2</STRONG> Center of keypad + <STRONG>KEY_C1</STRONG> Lower left of keypad + <STRONG>KEY_C3</STRONG> Lower right of keypad + <STRONG>KEY_BTAB</STRONG> Back tab key + <STRONG>KEY_BEG</STRONG> Beg(inning) key + <STRONG>KEY_CANCEL</STRONG> Cancel key + <STRONG>KEY_CLOSE</STRONG> Close key + <STRONG>KEY_COMMAND</STRONG> Cmd (command) key + <STRONG>KEY_COPY</STRONG> Copy key + <STRONG>KEY_CREATE</STRONG> Create key + <STRONG>KEY_END</STRONG> End key + <STRONG>KEY_EXIT</STRONG> Exit key + <STRONG>KEY_FIND</STRONG> Find key + <STRONG>KEY_HELP</STRONG> Help key + <STRONG>KEY_MARK</STRONG> Mark key + <STRONG>KEY_MESSAGE</STRONG> Message key + <STRONG>KEY_MOUSE</STRONG> Mouse event occurred + <STRONG>KEY_MOVE</STRONG> Move key + <STRONG>KEY_NEXT</STRONG> Next object key + <STRONG>KEY_OPEN</STRONG> Open key + <STRONG>KEY_OPTIONS</STRONG> Options key + <STRONG>KEY_PREVIOUS</STRONG> Previous object key + <STRONG>KEY_REDO</STRONG> Redo key + <STRONG>KEY_REFERENCE</STRONG> Ref(erence) key + <STRONG>KEY_REFRESH</STRONG> Refresh key + <STRONG>KEY_REPLACE</STRONG> Replace key + <STRONG>KEY_RESIZE</STRONG> Screen resized + <STRONG>KEY_RESTART</STRONG> Restart key + <STRONG>KEY_RESUME</STRONG> Resume key + <STRONG>KEY_SAVE</STRONG> Save key + <STRONG>KEY_SELECT</STRONG> Select key + <STRONG>KEY_SUSPEND</STRONG> Suspend key + <STRONG>KEY_UNDO</STRONG> Undo key + ----------------------------------------------------------------- + <STRONG>KEY_SBEG</STRONG> Shifted beginning key + <STRONG>KEY_SCANCEL</STRONG> Shifted cancel key + <STRONG>KEY_SCOMMAND</STRONG> Shifted command key + <STRONG>KEY_SCOPY</STRONG> Shifted copy key + <STRONG>KEY_SCREATE</STRONG> Shifted create key + <STRONG>KEY_SDC</STRONG> Shifted delete character key + <STRONG>KEY_SDL</STRONG> Shifted delete line key + <STRONG>KEY_SEND</STRONG> Shifted end key + <STRONG>KEY_SEOL</STRONG> Shifted clear line key + + <STRONG>KEY_SEXIT</STRONG> Shifted exit key + <STRONG>KEY_SFIND</STRONG> Shifted find key + <STRONG>KEY_SHELP</STRONG> Shifted help key + <STRONG>KEY_SHOME</STRONG> Shifted home key + <STRONG>KEY_SIC</STRONG> Shifted insert key + <STRONG>KEY_SLEFT</STRONG> Shifted left arrow key + <STRONG>KEY_SMESSAGE</STRONG> Shifted message key + <STRONG>KEY_SMOVE</STRONG> Shifted move key + <STRONG>KEY_SNEXT</STRONG> Shifted next object key + <STRONG>KEY_SOPTIONS</STRONG> Shifted options key + <STRONG>KEY_SPREVIOUS</STRONG> Shifted previous object key + <STRONG>KEY_SPRINT</STRONG> Shifted print key + <STRONG>KEY_SREDO</STRONG> Shifted redo key + <STRONG>KEY_SREPLACE</STRONG> Shifted replace key + <STRONG>KEY_SRIGHT</STRONG> Shifted right arrow key + <STRONG>KEY_SRSUME</STRONG> Shifted resume key + <STRONG>KEY_SSAVE</STRONG> Shifted save key + <STRONG>KEY_SSUSPEND</STRONG> Shifted suspend key + <STRONG>KEY_SUNDO</STRONG> Shifted undo key + + Many keyboards feature a nine-key directional pad. + + +-----+------+-------+ + | A1 | up | A3 | + +-----+------+-------+ + |left | B2 | right | + +-----+------+-------+ + | C1 | down | C3 | + +-----+------+-------+ + Two of the symbols in the list above do <EM>not</EM> correspond to a physical + key. + + <STRONG>o</STRONG> <STRONG>wgetch</STRONG> returns <STRONG>KEY_RESIZE</STRONG>, even if the window's keypad mode is + disabled, when <EM>ncurses</EM> handles a <STRONG>SIGWINCH</STRONG> signal; see <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG> + and <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>. + + <STRONG>o</STRONG> <STRONG>wgetch</STRONG> returns <STRONG>KEY_MOUSE</STRONG> to indicate that a mouse event is pending + collection; see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>. Receipt of this code requires a + window's keypad mode to be enabled, because to interpret mouse + input (as with with <STRONG>xterm(1)</STRONG>'s mouse prototocol), <EM>ncurses</EM> must read + an escape sequence, as with a function key. + + +</PRE><H3><a name="h3-Testing-Key-Codes">Testing Key Codes</a></H3><PRE> + In <EM>ncurses</EM>, <STRONG>has_key</STRONG> returns a Boolean value indicating whether the + terminal type recognizes its parameter as a key code value. See also + <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> and <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - All routines return the integer <STRONG>ERR</STRONG> upon failure and an integer value - other than <STRONG>ERR</STRONG> (<STRONG>OK</STRONG> in the case of <STRONG>ungetch</STRONG>) upon successful completion. + Except for <STRONG>has_key</STRONG>, these functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on + failure. + + Functions taking a <EM>WINDOW</EM> pointer argument fail if the pointer is <STRONG>NULL</STRONG>. + + Functions prefixed with "mv" first perform cursor movement and fail if + the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries. + + <STRONG>wgetch</STRONG> also fails if + + <STRONG>o</STRONG> its timeout expires without any data arriving, or - <STRONG>ungetch</STRONG> - returns <STRONG>ERR</STRONG> if there is no more room in the FIFO. + <STRONG>o</STRONG> execution was interrupted by a signal, in which case <STRONG>errno</STRONG> is set + to <STRONG>EINTR</STRONG>. - <STRONG>wgetch</STRONG> - returns <STRONG>ERR</STRONG> if the window pointer is null, or if its timeout - expires without having any data, or if the execution was inter- - rupted by a signal (<STRONG>errno</STRONG> will be set to <STRONG>EINTR</STRONG>). + <STRONG>ungetch</STRONG> fails if there is no more room in the input queue. - Functions with a "mv" prefix first perform a cursor movement using - <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if - the window pointer is null. + <STRONG>has_key</STRONG> returns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>. </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - Use of the escape key by a programmer for a single character function - is discouraged, as it will cause a delay of up to one second while the - keypad code looks for a following function-key sequence. + <EM>curses</EM> discourages assignment of the ESC key to a discrete function by + the programmer because the library requires a delay while it awaits the + potential remainder of a terminal escape sequence. - Some keys may be the same as commonly used control keys, e.g., <STRONG>KEY_EN-</STRONG> - <STRONG>TER</STRONG> versus control/M, <STRONG>KEY_BACKSPACE</STRONG> versus control/H. Some curses im- - plementations may differ according to whether they treat these control - keys specially (and ignore the terminfo), or use the terminfo defini- - tions. <STRONG>Ncurses</STRONG> uses the terminfo definition. If it says that <STRONG>KEY_EN-</STRONG> - <STRONG>TER</STRONG> is control/M, <STRONG>getch</STRONG> will return <STRONG>KEY_ENTER</STRONG> when you press control/M. + Some key strokes are indistinguishable from control characters; for + example, <STRONG>KEY_ENTER</STRONG> may be the same as <STRONG>^M</STRONG>, and <STRONG>KEY_BACKSPACE</STRONG> may be the + same as <STRONG>^H</STRONG> or <STRONG>^?</STRONG>. Consult the terminal's <EM>terminfo</EM> entry to determine + whether this is the case; see <STRONG><A HREF="infocmp.1m.html">infocmp(1)</A></STRONG>. Some <EM>curses</EM> implementations, + including <EM>ncurses</EM>, honor the <EM>terminfo</EM> key definitions; others treat + such control characters specially. - Generally, <STRONG>KEY_ENTER</STRONG> denotes the character(s) sent by the <EM>Enter</EM> key on - the numeric keypad: + <EM>curses</EM> distinguishes the Enter keys in the alphabetic and numeric + keypad sections of a keyboard because (most) terminals do. <STRONG>KEY_ENTER</STRONG> + refers to the key on the numeric keypad and, like other function keys, + and is reliably recognized only if the window's keypad mode is enabled. - <STRONG>o</STRONG> the terminal description lists the most useful keys, + <STRONG>o</STRONG> The <EM>terminfo</EM> <STRONG>key_enter</STRONG> (<STRONG>kent</STRONG>) capability describes the character + (sequence) sent by the Enter key of a terminal's numeric (or + similar) keypad. - <STRONG>o</STRONG> the <EM>Enter</EM> key on the regular keyboard is already handled by the - standard ASCII characters for carriage-return and line-feed, + <STRONG>o</STRONG> "Enter or send" is X/Open Curses's description of this key. - <STRONG>o</STRONG> depending on whether <STRONG>nl</STRONG> or <STRONG>nonl</STRONG> was called, pressing "Enter" on the - regular keyboard may return either a carriage-return or line-feed, - and finally + <EM>curses</EM> treats the Enter or Return key in the <EM>alphabetic</EM> section of the + keyboard differently. - <STRONG>o</STRONG> "Enter or send" is the standard description for this key. + <STRONG>o</STRONG> It usually produces a control code for carriage return (<STRONG>^M</STRONG>) or line + feed (<STRONG>^J</STRONG>). - When using <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, or <STRONG>mvwgetch</STRONG>, nocbreak mode - (<STRONG>nocbreak</STRONG>) and echo mode (<STRONG>echo</STRONG>) should not be used at the same time. - Depending on the state of the tty driver when each character is typed, - the program may produce undesirable results. + <STRONG>o</STRONG> Depending on the terminal mode (raw, cbreak, or "cooked"), and + whether <STRONG><A HREF="curs_inopts.3x.html">nl(3x)</A></STRONG> or <STRONG><A HREF="curs_inopts.3x.html">nonl(3x)</A></STRONG> has been called, <STRONG>wgetch</STRONG> may return + either a carriage return or line feed upon an Enter or Return key + stroke. - Note that <STRONG>getch</STRONG>, <STRONG>mvgetch</STRONG>, and <STRONG>mvwgetch</STRONG> may be macros. + Use of <STRONG>wgetch</STRONG> with <STRONG><A HREF="curs_inopts.3x.html">echo(3x)</A></STRONG> and neither <STRONG><A HREF="curs_inopts.3x.html">cbreak(3x)</A></STRONG> nor <STRONG><A HREF="curs_inopts.3x.html">raw(3x)</A></STRONG> is not + well-defined. - Historically, the set of keypad macros was largely defined by the ex- - tremely function-key-rich keyboard of the AT&T 7300, aka 3B1, aka Sa- - fari 4. Modern personal computers usually have only a small subset of - these. IBM PC-style consoles typically support little more than - <STRONG>KEY_UP</STRONG>, <STRONG>KEY_DOWN</STRONG>, <STRONG>KEY_LEFT</STRONG>, <STRONG>KEY_RIGHT</STRONG>, <STRONG>KEY_HOME</STRONG>, <STRONG>KEY_END</STRONG>, <STRONG>KEY_NPAGE</STRONG>, - <STRONG>KEY_PPAGE</STRONG>, and function keys 1 through 12. The Ins key is usually - mapped to <STRONG>KEY_IC</STRONG>. + Historically, the list of key code macros above was influenced by the + function-key-rich keyboard of the AT&T 7300 (also known variously as + the "3B1", "Safari 4", and "UNIX PC"), a 1985 machine. Today's + computer keyboards are based that of the IBM PC/AT and tend to have + fewer. A <EM>curses</EM> application can expect such a keyboard to transmit key + codes <STRONG>KEY_UP</STRONG>, <STRONG>KEY_DOWN</STRONG>, <STRONG>KEY_LEFT</STRONG>, <STRONG>KEY_RIGHT</STRONG>, <STRONG>KEY_HOME</STRONG>, <STRONG>KEY_END</STRONG>, + <STRONG>KEY_PPAGE</STRONG> (Page Up), <STRONG>KEY_NPAGE</STRONG> (Page Down), <STRONG>KEY_IC</STRONG> (Insert), <STRONG>KEY_DC</STRONG> + (Delete), and <STRONG>KEY_F(</STRONG><EM>n</EM><STRONG>)</STRONG> for 1 <= <EM>n</EM> <= 12. + + <STRONG>getch</STRONG>, <STRONG>mvgetch</STRONG>, and <STRONG>mvwgetch</STRONG> may be implemented as macros. + + +</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE> + In <EM>ncurses</EM>, when a window's "no time-out" mode is <EM>not</EM> set, the <STRONG>ESCDELAY</STRONG> + variable configures the duration of the timer used to disambiguate a + function key character sequence from a series of key strokes beginning + with ESC typed by the user; see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>. + + <STRONG>has_key</STRONG> was designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and is not found in SVr4 <EM>curses</EM>, + 4.4BSD <EM>curses</EM>, or any other previous curses implementation. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - The *get* functions are described in the XSI Curses standard, Issue 4. - They read single-byte characters only. The standard specifies that - they return <STRONG>ERR</STRONG> on failure, but specifies no error conditions. + Applications employing <EM>ncurses</EM> extensions should condition their use on + the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro. - The echo behavior of these functions on input of <STRONG>KEY_</STRONG> or backspace - characters was not specified in the SVr4 documentation. This descrip- - tion is adopted from the XSI Curses standard. + X/Open Curses, Issue 4 describes <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, <STRONG>mvwgetch</STRONG>, and + <STRONG>ungetch</STRONG>. It specifies no error conditions for them. - The behavior of <STRONG>getch</STRONG> and friends in the presence of handled signals is - unspecified in the SVr4 and XSI Curses documentation. Under historical - curses implementations, it varied depending on whether the operating - system's implementation of handled signal receipt interrupts a <STRONG>read(2)</STRONG> - call in progress or not, and also (in some implementations) depending - on whether an input timeout or non-blocking mode has been set. + <STRONG>wgetch</STRONG> reads only single-byte characters. - <STRONG>KEY_MOUSE</STRONG> is mentioned in XSI Curses, along with a few related terminfo - capabilities, but no higher-level functions use the feature. The im- - plementation in ncurses is an extension. + The echo behavior of these functions on input of <STRONG>KEY_</STRONG> or backspace + characters was not specified in the SVr4 documentation. This + description is adapted from X/Open Curses. - <STRONG>KEY_RESIZE</STRONG> is an extension first implemented for ncurses. NetBSD curs- - es later added this extension. + The behavior of <STRONG>wgetch</STRONG> in the presence of signal handlers is + unspecified in the SVr4 documentation and X/Open Curses. In historical + <EM>curses</EM> implementations, it varied depending on whether the operating + system's dispatch of a signal to a handler interrupting a <STRONG>read(2)</STRONG> call + in progress, and also (in some implementations) whether an input + timeout or non-blocking mode has been set. Programmers concerned about + portability should be prepared for either of two cases: (a) signal + receipt does not interrupt <STRONG>wgetch</STRONG>; or (b) signal receipt interrupts + <STRONG>wgetch</STRONG> and causes it to return <STRONG>ERR</STRONG> with <STRONG>errno</STRONG> set to <STRONG>EINTR</STRONG>. - Programmers concerned about portability should be prepared for either - of two cases: (a) signal receipt does not interrupt <STRONG>getch</STRONG>; (b) signal - receipt interrupts <STRONG>getch</STRONG> and causes it to return <STRONG>ERR</STRONG> with <STRONG>errno</STRONG> set to - <STRONG>EINTR</STRONG>. + <STRONG>KEY_MOUSE</STRONG> is mentioned in X/Open Curses, along with a few related <EM>term-</EM> + <EM>info</EM> capabilities, but no higher-level functions use the feature. The + implementation in <EM>ncurses</EM> is an extension. - The <STRONG>has_key</STRONG> function is unique to <STRONG>ncurses</STRONG>. We recommend that any code - using it be conditionalized on the <STRONG>NCURSES_VERSION</STRONG> feature macro. + <STRONG>KEY_RESIZE</STRONG> and <STRONG>has_key</STRONG> are extensions first implemented for <EM>ncurses</EM>. + By 2022, <EM>PDCurses</EM> and NetBSD <EM>curses</EM> had added them along with + <STRONG>KEY_MOUSE</STRONG>. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>, <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>, <STRONG>curs_out-</STRONG> - <STRONG><A HREF="curs_outopts.3x.html">opts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>. + <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library + in its wide-character configuration (<EM>ncursesw</EM>). + + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>, + <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, + <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>, <STRONG>ascii(7)</STRONG> + + ECMA-6 "7-bit coded Character Set" <https://ecma-international.org/ + publications-and-standards/standards/ecma-6/> - Comparable functions in the wide-character (ncursesw) library are de- - scribed in <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>. + ECMA-48 "Control Functions for Coded Character Sets" <https:// + ecma-international.org/publications-and-standards/standards/ecma-48/> - <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -391,15 +432,16 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a> <ul> -<li><a href="#h3-Reading-characters">Reading characters</a></li> -<li><a href="#h3-Keypad-mode">Keypad mode</a></li> -<li><a href="#h3-Ungetting-characters">Ungetting characters</a></li> -<li><a href="#h3-Predefined-key-codes">Predefined key-codes</a></li> -<li><a href="#h3-Testing-key-codes">Testing key-codes</a></li> +<li><a href="#h3-Reading-Characters">Reading Characters</a></li> +<li><a href="#h3-Keypad-Mode">Keypad Mode</a></li> +<li><a href="#h3-Ungetting-Characters">Ungetting Characters</a></li> +<li><a href="#h3-Predefined-Key-Codes">Predefined Key Codes</a></li> +<li><a href="#h3-Testing-Key-Codes">Testing Key Codes</a></li> </ul> </li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> <li><a href="#h2-NOTES">NOTES</a></li> +<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> diff --git a/doc/html/man/curs_getstr.3x.html b/doc/html/man/curs_getstr.3x.html index 5d8a2c0e5cc5..0142df971c21 100644 --- a/doc/html/man/curs_getstr.3x.html +++ b/doc/html/man/curs_getstr.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,31 +27,28 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_getstr.3x,v 1.31 2020/10/18 00:27:44 tom Exp @ - * X/Open says also until EOf - * X/Open says then an EOS is added to the result - * X/Open doesn't mention n<0 + * @Id: curs_getstr.3x,v 1.58 2024/04/20 19:18:18 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_getstr 3x</TITLE> +<TITLE>curs_getstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_getstr 3x</H1> +<H1 class="no-header">curs_getstr 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> +<STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>getstr</STRONG>, <STRONG>getnstr</STRONG>, <STRONG>wgetstr</STRONG>, <STRONG>wgetnstr</STRONG>, <STRONG>mvgetstr</STRONG>, <STRONG>mvgetnstr</STRONG>, <STRONG>mvwgetstr</STRONG>, - <STRONG>mvwgetnstr</STRONG> - accept character strings from <STRONG>curses</STRONG> terminal keyboard + <STRONG>getstr</STRONG>, <STRONG>getnstr</STRONG>, <STRONG>wgetstr</STRONG>, <STRONG>wgetnstr</STRONG>, <STRONG>mvgetstr</STRONG>, <STRONG>mvgetnstr</STRONG>, <STRONG>mvwgetstr</STRONG>, + <STRONG>mvwgetnstr</STRONG> - accept character strings from <EM>curses</EM> terminal keyboard </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -69,77 +66,109 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - The function <STRONG>getstr</STRONG> is equivalent to a series of calls to <STRONG>getch</STRONG>, until - a newline or carriage return is received (the terminating character is - not included in the returned string). The resulting value is placed in - the area pointed to by the character pointer <EM>str</EM>, followed by a NUL. + The function <STRONG>wgetnstr</STRONG> is equivalent to a series of calls to <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>, + until a newline or carriage return terminates the series: + + <STRONG>o</STRONG> The terminating character is not included in the returned string. + + <STRONG>o</STRONG> In all instances, the end of the string is terminated by a NUL. + + <STRONG>o</STRONG> The function stores the result in the area pointed to by the <EM>str</EM> + parameter. + + <STRONG>o</STRONG> The function reads at most <EM>n</EM> characters, thus preventing a possible + overflow of the input buffer. + + Any attempt to enter more characters (other than the terminating + newline or carriage return) causes a beep. + + Function keys also cause a beep and are ignored. - <STRONG>wgetnstr</STRONG> reads at most <EM>n</EM> characters, thus preventing a possible over- - flow of the input buffer. Any attempt to enter more characters (other - than the terminating newline or carriage return) causes a beep. Func- - tion keys also cause a beep and are ignored. The <STRONG>getnstr</STRONG> function - reads from the <EM>stdscr</EM> default window. + The user's <EM>erase</EM> and <EM>kill</EM> characters are interpreted: - The user's erase and kill characters are interpreted. If keypad mode - is on for the window, <STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG> are both considered - equivalent to the user's kill character. + <STRONG>o</STRONG> The <EM>erase</EM> character (e.g., <STRONG>^H</STRONG>) erases the character at the end of + the buffer, moving the cursor to the left. + + If <EM>keypad</EM> mode is on for the window, <STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG> are + both considered equivalent to the user's <EM>erase</EM> character. + + <STRONG>o</STRONG> The <EM>kill</EM> character (e.g., <STRONG>^U</STRONG>) erases the entire buffer, leaving the + cursor at the beginning of the buffer. Characters input are echoed only if <STRONG>echo</STRONG> is currently on. In that - case, backspace is echoed as deletion of the previous character (typi- - cally a left motion). + case, backspace is echoed as deletion of the previous character + (typically a left motion). + + The <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, <STRONG>mvwgetnstr</STRONG>, and <STRONG>wgetnstr</STRONG> functions are + identical to the <STRONG>getstr</STRONG>, <STRONG>mvgetstr</STRONG>, <STRONG>mvwgetstr</STRONG>, and <STRONG>wgetstr</STRONG> functions, + respectively, except that the <STRONG>*n*</STRONG> versions read at most <EM>n</EM> characters, + letting the application prevent overflow of the input buffer. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4 speci- - fies only "an integer value other than <STRONG>ERR</STRONG>") upon successful comple- - tion. + All of these functions return the integer <STRONG>OK</STRONG> upon successful + completion. (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>") If + unsuccessful, they return <STRONG>ERR</STRONG>. X/Open defines no error conditions. - In this implementation, these functions return an error if the window - pointer is null, or if its timeout expires without having any data. + In this implementation, these functions return an error + + <STRONG>o</STRONG> if the window pointer is null, + + <STRONG>o</STRONG> if its timeout expires without having any data, or + + <STRONG>o</STRONG> if the associated call to <STRONG>wgetch</STRONG> failed. - This implementation provides an extension as well. If a <STRONG>SIGWINCH</STRONG> in- - terrupts the function, it will return <STRONG>KEY_RESIZE</STRONG> rather than <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>. + This implementation provides an extension as well. If a <STRONG>SIGWINCH</STRONG> + interrupts the function, it will return <STRONG>KEY_RESIZE</STRONG> rather than <STRONG>OK</STRONG> or + <STRONG>ERR</STRONG>. - Functions with a "mv" prefix first perform a cursor movement using - <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if - the window pointer is null. + Functions prefixed with "mv" first perform cursor movement and fail if + the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries. </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - Note that <STRONG>getstr</STRONG>, <STRONG>mvgetstr</STRONG>, and <STRONG>mvwgetstr</STRONG> may be macros. + Any of these functions other than <STRONG>wgetnstr</STRONG> may be macros. + + Using <STRONG>getstr</STRONG>, <STRONG>mvgetstr</STRONG>, <STRONG>mvwgetstr</STRONG>, or <STRONG>wgetstr</STRONG> to read a line that + overflows the array pointed to by <STRONG>str</STRONG> causes undefined results. The + use of <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, <STRONG>mvwgetnstr</STRONG>, or <STRONG>wgetnstr</STRONG>, respectively, is + recommended. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These functions are described in the XSI Curses standard, Issue 4. - They read single-byte characters only. The standard does not define - any error conditions. This implementation returns <STRONG>ERR</STRONG> if the window - pointer is null, or if the lower-level <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> call returns an <STRONG>ERR</STRONG>. + These functions are described in The Single Unix Specification, Version + 2. No error conditions are defined. + + This implementation returns <STRONG>ERR</STRONG> if the window pointer is null, or if + the lower-level <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> call returns an <STRONG>ERR</STRONG>. SVr3 and early SVr4 curses implementations did not reject function keys; the SVr4.0 documentation claimed that "special keys" (such as - function keys, "home" key, "clear" key, <EM>etc</EM>.) are "interpreted", with- - out giving details. It lied. In fact, the "character" value appended - to the string by those implementations was predictable but not useful - (being, in fact, the low-order eight bits of the key's KEY_ value). + function keys, "home" key, "clear" key, <EM>etc</EM>.) are "interpreted", + without giving details. It lied. In fact, the "character" value + appended to the string by those implementations was predictable but not + useful (being, in fact, the low-order eight bits of the key's KEY_ + value). - The functions <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, and <STRONG>mvwgetnstr</STRONG> were present but not + The functions <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, and <STRONG>mvwgetnstr</STRONG> were present but not documented in SVr4. X/Open Curses, Issue 5 (2007) stated that these functions "read at most - <EM>n</EM> bytes" but did not state whether the terminating NUL is counted in - that limit. X/Open Curses, Issue 7 (2009) changed that to say they + <EM>n</EM> bytes" but did not state whether the terminating NUL is counted in + that limit. X/Open Curses, Issue 7 (2009) changed that to say they "read at most <EM>n</EM>-1 bytes" to allow for the terminating NUL. As of 2018, - some implementations do, some do not count it: + some implementations count it, some do not: - <STRONG>o</STRONG> ncurses 6.1 and PDCurses do not count the NUL in the given limit, + <STRONG>o</STRONG> <EM>ncurses</EM> 6.1 and PDCurses do not count the NUL in the given limit, while <STRONG>o</STRONG> Solaris SVr4 and NetBSD curses count the NUL as part of the limit. - <STRONG>o</STRONG> Solaris xcurses provides both: its wide-character <STRONG>wget_nstr</STRONG> re- - serves a NUL, but its <STRONG>wgetnstr</STRONG> does not count the NUL consistently. + <STRONG>o</STRONG> Solaris xcurses provides both: its wide-character <STRONG>wget_nstr</STRONG> + reserves a NUL, but its <STRONG>wgetnstr</STRONG> does not count the NUL + consistently. In SVr4 curses, a negative value of <EM>n</EM> tells <STRONG>wgetnstr</STRONG> to assume that the caller's buffer is large enough to hold the result, i.e., to act like @@ -159,23 +188,61 @@ A comment in NetBSD's source code states that this is specified in SUSv2. - <STRONG>o</STRONG> ncurses (before 6.2) assumes no particular limit for the result + <STRONG>o</STRONG> <EM>ncurses</EM> (before 6.2) assumes no particular limit for the result from <STRONG>wgetstr</STRONG>, and treats the <EM>n</EM> parameter of <STRONG>wgetnstr</STRONG> like SVr4 curses. - <STRONG>o</STRONG> ncurses 6.2 uses <STRONG>LINE_MAX</STRONG>, or a larger (system-dependent) value + <STRONG>o</STRONG> <EM>ncurses</EM> 6.2 uses <STRONG>LINE_MAX</STRONG>, or a larger (system-dependent) value which the <STRONG>sysconf</STRONG> function may provide. If neither <STRONG>LINE_MAX</STRONG> or - <STRONG>sysconf</STRONG> is available, ncurses uses the POSIX value for <STRONG>LINE_MAX</STRONG> (a - 2048 byte limit). In either case, it reserves a byte for the ter- - minating NUL. + <STRONG>sysconf</STRONG> is available, <EM>ncurses</EM> uses the POSIX value for <STRONG>LINE_MAX</STRONG> (a + 2048 byte limit). In either case, it reserves a byte for the + terminating NUL. + + Although <STRONG>getnstr</STRONG> is equivalent to a series of calls to <STRONG>getch</STRONG>, it also + makes changes to the curses modes to allow simple editing of the input + buffer: + + <STRONG>o</STRONG> <STRONG>getnstr</STRONG> saves the current value of the <STRONG>nl</STRONG>, <STRONG>echo</STRONG>, <STRONG>raw</STRONG> and <STRONG>cbreak</STRONG> + modes, and sets <STRONG>nl</STRONG>, <STRONG>noecho</STRONG>, <STRONG>noraw</STRONG>, and <STRONG>cbreak</STRONG>. + + <STRONG>getnstr</STRONG> handles the echoing of characters, rather than relying on + the caller to set an appropriate mode. + + <STRONG>o</STRONG> It also obtains the <EM>erase</EM> and <EM>kill</EM> characters from <STRONG>erasechar</STRONG> and + <STRONG>killchar</STRONG>, respectively. + + <STRONG>o</STRONG> On return, <STRONG>getnstr</STRONG> restores the modes to their previous values. + + Other implementations differ in their treatment of special characters: + + <STRONG>o</STRONG> While they may set the <EM>echo</EM> mode, other implementations do not + modify the <EM>raw</EM> mode, They may take the <EM>cbreak</EM> mode set by the + caller into account when deciding whether to handle echoing within + <STRONG>getnstr</STRONG> or as a side-effect of the <STRONG>getch</STRONG> calls. + + <STRONG>o</STRONG> The original <EM>ncurses</EM> (as <EM>pcurses</EM> in 1986) set <STRONG>noraw</STRONG> and <STRONG>cbreak</STRONG> when + accepting input for <STRONG>getnstr</STRONG>. That may have been done to make + function- and cursor-keys work; it is not necessary with <EM>ncurses</EM>. + + Since 1995, <EM>ncurses</EM> has provided signal handlers for INTR and QUIT + (e.g., <STRONG>^C</STRONG> or <STRONG>^\</STRONG>). With the <STRONG>noraw</STRONG> and <STRONG>cbreak</STRONG> settings, those may + catch a signal and stop the program, where other implementations + allow one to enter those characters in the buffer. + + <STRONG>o</STRONG> Starting in 2021 (<EM>ncurses</EM> 6.3), <STRONG>getnstr</STRONG> sets <STRONG>raw</STRONG>, rather than <STRONG>noraw</STRONG> + and <STRONG>cbreak</STRONG> for better compatibility with SVr4-curses, e.g., + allowing one to enter a <STRONG>^C</STRONG> into the buffer. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>. + <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library + in its wide-character configuration (<EM>ncursesw</EM>). + + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> - <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> </PRE> <div class="nav"> <ul> diff --git a/doc/html/man/curs_getyx.3x.html b/doc/html/man/curs_getyx.3x.html index 7543eb2f6f30..1857170022bd 100644 --- a/doc/html/man/curs_getyx.3x.html +++ b/doc/html/man/curs_getyx.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2020 Thomas E. Dickey * + * Copyright 2020-2023,2024 Thomas E. Dickey * * Copyright 1998-2007,2010 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,27 +27,27 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_getyx.3x,v 1.20 2020/10/24 09:38:43 tom Exp @ + * @Id: curs_getyx.3x,v 1.44 2024/04/20 21:20:07 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_getyx 3x</TITLE> +<TITLE>curs_getyx 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_getyx 3x</H1> +<H1 class="no-header">curs_getyx 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG> <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG> +<STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>getyx</STRONG>, <STRONG>getparyx</STRONG>, <STRONG>getbegyx</STRONG>, <STRONG>getmaxyx</STRONG> - get <STRONG>curses</STRONG> cursor and window + <STRONG>getyx</STRONG>, <STRONG>getparyx</STRONG>, <STRONG>getbegyx</STRONG>, <STRONG>getmaxyx</STRONG> - get <EM>curses</EM> cursor and window coordinates @@ -78,27 +78,27 @@ </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - All of these interfaces are macros. A "<STRONG>&</STRONG>" is not necessary before the + All of these interfaces are macros. A "&" is not necessary before the variables <EM>y</EM> and <EM>x</EM>. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - The <STRONG>getyx</STRONG>, <STRONG>getparyx</STRONG>, <STRONG>getbegyx</STRONG> and <STRONG>getmaxyx</STRONG> macros are described in the - XSI Curses standard, Issue 4. + The <STRONG>getyx</STRONG>, <STRONG>getparyx</STRONG>, <STRONG>getbegyx</STRONG> and <STRONG>getmaxyx</STRONG> macros are described in + X/Open Curses, Issue 4. This implementation also provides functions <STRONG>getbegx</STRONG>, <STRONG>getbegy</STRONG>, <STRONG>getcurx</STRONG>, <STRONG>getcury</STRONG>, <STRONG>getmaxx</STRONG>, <STRONG>getmaxy</STRONG>, <STRONG>getparx</STRONG> and <STRONG>getpary</STRONG> for compatibility with - older versions of curses. + older versions of <EM>curses</EM>; see <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>. Although X/Open Curses does not address this, many implementations - provide members of the WINDOW structure containing values corresponding + provide members of the <STRONG>WINDOW</STRONG> structure containing values corresponding to these macros. For best portability, do not rely on using the data - in WINDOW, since some implementations make WINDOW opaque (do not allow + in <STRONG>WINDOW</STRONG>, since some implementations make <STRONG>WINDOW</STRONG> opaque (do not allow direct use of its members). Besides the problem of opaque structures, the data stored in like-named members may not have like-values in different implementations. For - example, the WINDOW._maxx and WINDOW._maxy values in ncurses have (at + example, the <STRONG>WINDOW._maxx</STRONG> and <STRONG>WINDOW._maxy</STRONG> values in <EM>ncurses</EM> have (at least since release 1.8.1) differed by one from some other implementations. The difference is hidden by means of the macro <STRONG>getmaxyx</STRONG>. @@ -109,7 +109,7 @@ - <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG> </PRE> <div class="nav"> <ul> diff --git a/doc/html/man/curs_in_wch.3x.html b/doc/html/man/curs_in_wch.3x.html index 7fed34ba9edd..1ea5b63ec42b 100644 --- a/doc/html/man/curs_in_wch.3x.html +++ b/doc/html/man/curs_in_wch.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 2002-2010,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,55 +27,54 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_in_wch.3x,v 1.10 2020/10/17 23:19:29 tom Exp @ + * @Id: curs_in_wch.3x,v 1.31 2024/04/20 21:20:07 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_in_wch 3x</TITLE> +<TITLE>curs_in_wch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_in_wch 3x</H1> +<H1 class="no-header">curs_in_wch 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG> <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG> +<STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>in_wch</STRONG>, <STRONG>mvin_wch</STRONG>, <STRONG>mvwin_wch</STRONG>, <STRONG>win_wch</STRONG> - extract a complex character and - rendition from a window + <STRONG>in_wch</STRONG>, <STRONG>mvin_wch</STRONG>, <STRONG>mvwin_wch</STRONG>, <STRONG>win_wch</STRONG> - get a <EM>curses</EM> complex character + from a window </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> - <STRONG>int</STRONG> <STRONG>in_wch(cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>win_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>in_wch(cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>win_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>mvin_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>mvwin_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>mvin_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>mvwin_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> These functions extract the complex character and rendition from the current position in the named window into the <STRONG>cchar_t</STRONG> object referenced - by wcval. + by wch. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - No errors are defined in the XSI Curses standard. This implementation - checks for null pointers, returns <STRONG>ERR</STRONG> in that case. Also, the <EM>mv</EM> - routines check for error moving the cursor, returning <STRONG>ERR</STRONG> in that case. - Otherwise they return <STRONG>OK</STRONG>. + No errors are defined in X/Open Curses. This implementation checks for + null pointers, returns <STRONG>ERR</STRONG> in that case. Also, the <EM>mv</EM> routines check + for error moving the cursor, returning <STRONG>ERR</STRONG> in that case. Otherwise + they return <STRONG>OK</STRONG>. - Functions with a "mv" prefix first perform a cursor movement using - <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if - the window pointer is null. + Functions prefixed with "mv" first perform cursor movement and fail if + the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries. </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> @@ -83,15 +82,18 @@ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These functions are described in the XSI Curses standard, Issue 4. + These functions are described in X/Open Curses, Issue 4. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>. + <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library in + its non-wide-character configuration. + + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> - <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG> </PRE> <div class="nav"> <ul> diff --git a/doc/html/man/curs_in_wchstr.3x.html b/doc/html/man/curs_in_wchstr.3x.html index f1b048f51307..d7af18ddcfdf 100644 --- a/doc/html/man/curs_in_wchstr.3x.html +++ b/doc/html/man/curs_in_wchstr.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 2002-2012,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,92 +27,106 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_in_wchstr.3x,v 1.14 2020/10/17 23:19:44 tom Exp @ + * @Id: curs_in_wchstr.3x,v 1.39 2024/04/20 21:24:19 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_in_wchstr 3x</TITLE> +<TITLE>curs_in_wchstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_in_wchstr 3x</H1> +<H1 class="no-header">curs_in_wchstr 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG> <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG> +<STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>in_wchstr</STRONG>, <STRONG>in_wchnstr</STRONG>, <STRONG>win_wchstr</STRONG>, <STRONG>win_wchnstr</STRONG>, <STRONG>mvin_wchstr</STRONG>, - <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG> - get an array of complex - characters and renditions from a curses window + <STRONG>in_wchstr</STRONG>, <STRONG>in_wchnstr</STRONG>, <STRONG>win_wchstr</STRONG>, <STRONG>win_wchnstr</STRONG>, <STRONG>mvin_wchstr</STRONG>, + <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG> - get a <EM>curses</EM> complex + character string from a window </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> <STRONG>int</STRONG> <STRONG>in_wchstr(cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>in_wchnstr(cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>win_wchstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>win_wchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>mvin_wchstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>mvin_wchnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>mvwin_wchstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>mvwin_wchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM>, int <EM>n</EM><STRONG>);</STRONG> - -</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - These functions return an array of complex characters in <EM>wchstr</EM>, start- - ing at the current cursor position in the named window. Attributes - (rendition) are stored with the characters. + <STRONG>int</STRONG> <STRONG>in_wchnstr(cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>win_wchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>mvin_wchnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>mvwin_wchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> - The <STRONG>in_wchnstr</STRONG>, <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG> and <STRONG>win_wchnstr</STRONG> fill the - array with at most <EM>n</EM> <STRONG>cchar_t</STRONG> elements. +</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> + These functions return an array of complex characters in <EM>wchstr</EM>, + starting at the current cursor position in the named window. + Attributes (rendition) are stored with the characters. -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - Note that all routines except <STRONG>win_wchnstr</STRONG> may be macros. + The four functions with <EM>n</EM> as the last argument return a leading + substring at most <EM>n</EM> characters long (exclusive of the trailing zeroed + <STRONG>cchar_t</STRONG>. Transfer stops at the end of the current line, or when <EM>n</EM> + characters have been stored at the location referenced by <EM>wchstr</EM>. - Reading a line that overflows the array pointed to by <EM>wchstr</EM> with - <STRONG>in_wchstr</STRONG>, <STRONG>mvin_wchstr</STRONG>, <STRONG>mvwin_wchstr</STRONG> or <STRONG>win_wchstr</STRONG> causes undefined re- - sults. Therefore, the use of <STRONG>in_wchnstr</STRONG>, <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG>, - or <STRONG>win_wchnstr</STRONG> is recommended. + Constants defined in <STRONG><curses.h></STRONG> can be used with the <STRONG>&</STRONG> (logical AND) + operator to extract the character or the attribute alone from any + position in the <EM>wchstr</EM> [see <STRONG><A HREF="curs_getcchar.3x.html">getcchar(3x)</A></STRONG>]. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> Upon successful completion, these functions return <STRONG>OK</STRONG>. Otherwise, they return <STRONG>ERR</STRONG>. - Functions with a "mv" prefix first perform a cursor movement using - <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if - the window pointer is null. + X/Open Curses defines no error conditions. This implementation returns + an error + + <STRONG>o</STRONG> if the <EM>win</EM> parameter is null or + + <STRONG>o</STRONG> if the <EM>wchstr</EM> parameter is null. + + Functions prefixed with "mv" first perform cursor movement and fail if + the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries. + + +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + All routines except <STRONG>win_wchnstr</STRONG> may be macros. + + Reading a line that overflows the array pointed to by <EM>wchstr</EM> with + <STRONG>in_wchstr</STRONG>, <STRONG>mvin_wchstr</STRONG>, <STRONG>mvwin_wchstr</STRONG> or <STRONG>win_wchstr</STRONG> causes undefined + results. Therefore, the use of <STRONG>in_wchnstr</STRONG>, <STRONG>mvin_wchnstr</STRONG>, + <STRONG>mvwin_wchnstr</STRONG>, or <STRONG>win_wchnstr</STRONG> is recommended. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - The XSI Curses defines no error conditions. This implementation checks + X/Open Curses defines no error conditions. This implementation checks for null pointers, returning <STRONG>ERR</STRONG> in that case. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - Functions: <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>, <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> - <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> + <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library + in its non-wide-character configuration. + + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG> - <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG> </PRE> <div class="nav"> <ul> <li><a href="#h2-NAME">NAME</a></li> <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> +<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> diff --git a/doc/html/man/curs_inch.3x.html b/doc/html/man/curs_inch.3x.html index a3382dfd186d..15bd134e9b76 100644 --- a/doc/html/man/curs_inch.3x.html +++ b/doc/html/man/curs_inch.3x.html @@ -1,7 +1,7 @@ -<!-- +<!-- * t **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,28 +28,27 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_inch.3x,v 1.25 2020/10/18 00:25:23 tom Exp @ + * @Id: curs_inch.3x,v 1.51 2024/04/20 21:20:07 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_inch 3x</TITLE> +<TITLE>curs_inch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_inch 3x</H1> +<H1 class="no-header">curs_inch 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG> <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG> +<STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>inch</STRONG>, <STRONG>winch</STRONG>, <STRONG>mvinch</STRONG>, <STRONG>mvwinch</STRONG> - get a character and attributes from a - <STRONG>curses</STRONG> window + <STRONG>inch</STRONG>, <STRONG>winch</STRONG>, <STRONG>mvinch</STRONG>, <STRONG>mvwinch</STRONG> - get a <EM>curses</EM> character from a window </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -63,26 +62,27 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - These routines return the character, of type <STRONG>chtype</STRONG>, at the current - position in the named window. If any attributes are set for that - position, their values are OR'ed into the value returned. Constants - defined in <STRONG><curses.h></STRONG> can be used with the <STRONG>&</STRONG> (logical AND) operator to + These routines return the character, of type <STRONG>chtype</STRONG>, at the current + position in the named window. If any attributes are set for that + position, their values are OR'ed into the value returned. Constants + defined in <STRONG><curses.h></STRONG> can be used with the <STRONG>&</STRONG> (logical AND) operator to extract the character or attributes alone. </PRE><H3><a name="h3-Attributes">Attributes</a></H3><PRE> - The following bit-masks may be AND-ed with characters returned by + The following bit masks may be AND-ed with characters returned by <STRONG>winch</STRONG>. - <STRONG>A_CHARTEXT</STRONG> Bit-mask to extract character - <STRONG>A_ATTRIBUTES</STRONG> Bit-mask to extract attributes - <STRONG>A_COLOR</STRONG> Bit-mask to extract color-pair field information + <STRONG>Name</STRONG> <STRONG>Description</STRONG> + ------------------------------------------------------------------------ + <STRONG>A_CHARTEXT</STRONG> Extract character + <STRONG>A_ATTRIBUTES</STRONG> Extract attributes + <STRONG>A_COLOR</STRONG> Extract color pair information </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - Functions with a "mv" prefix first perform a cursor movement using - <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if - the window pointer is null. + Functions prefixed with "mv" first perform cursor movement and fail if + the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries. The <STRONG>winch</STRONG> function does not return an error if the window contains characters larger than 8-bits (255). Only the low-order 8 bits of the @@ -94,7 +94,7 @@ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These functions are described in the XSI Curses standard, Issue 4. + These functions are described in X/Open Curses, Issue 4. Very old systems (before standardization) provide a different function with the same name: @@ -120,20 +120,14 @@ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> - gives an overview of the WINDOW and <STRONG>chtype</STRONG> data types. - - <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> - goes into more detail, pointing out portability problems and - constraints on the use of <STRONG>chtype</STRONG> for returning window information. + <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library + in its wide-character configuration (<EM>ncursesw</EM>). - <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG> - describes comparable functions for the wide-character (ncursesw) - library. + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG> - <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG> </PRE> <div class="nav"> <ul> diff --git a/doc/html/man/curs_inchstr.3x.html b/doc/html/man/curs_inchstr.3x.html index a94a7fcf05e9..1eeb1b3a3c5e 100644 --- a/doc/html/man/curs_inchstr.3x.html +++ b/doc/html/man/curs_inchstr.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,29 +27,28 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_inchstr.3x,v 1.21 2020/10/18 00:24:36 tom Exp @ + * @Id: curs_inchstr.3x,v 1.45 2024/04/20 21:20:07 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_inchstr 3x</TITLE> +<TITLE>curs_inchstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_inchstr 3x</H1> +<H1 class="no-header">curs_inchstr 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> +<STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>inchstr</STRONG>, <STRONG>inchnstr</STRONG>, <STRONG>winchstr</STRONG>, <STRONG>winchnstr</STRONG>, <STRONG>mvinchstr</STRONG>, <STRONG>mvinchnstr</STRONG>, - <STRONG>mvwinchstr</STRONG>, <STRONG>mvwinchnstr</STRONG> - get a string of characters (and attributes) - from a <STRONG>curses</STRONG> window + <STRONG>inchstr</STRONG>, <STRONG>inchnstr</STRONG>, <STRONG>winchstr</STRONG>, <STRONG>winchnstr</STRONG>, <STRONG>mvinchstr</STRONG>, <STRONG>mvinchnstr</STRONG>, + <STRONG>mvwinchstr</STRONG>, <STRONG>mvwinchnstr</STRONG> - get a <EM>curses</EM> character string from a window </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -67,54 +66,61 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - These routines return a NULL-terminated array of <STRONG>chtype</STRONG> quantities, - starting at the current cursor position in the named window and ending - at the right margin of the window. The four functions with <EM>n</EM> as the - last argument, return a leading substring at most <EM>n</EM> characters long - (exclusive of the trailing (chtype)0). Constants defined in <STRONG><curses.h></STRONG> - can be used with the <STRONG>&</STRONG> (logical AND) operator to extract the character - or the attribute alone from any position in the <EM>chstr</EM> [see - <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>]. + These routines return a NULL-terminated array of <STRONG>chtype</STRONG> quantities, + starting at the current cursor position in the named window and ending + at the right margin of the window. + + The four functions with <EM>n</EM> as the last argument, return a leading + substring at most <EM>n</EM> characters long (exclusive of the trailing + (chtype)0). Transfer stops at the end of the current line, or when <EM>n</EM> + characters have been stored at the location referenced by <EM>chstr</EM>. + + Constants defined in <STRONG><curses.h></STRONG> can be used with the <STRONG>&</STRONG> (logical AND) + operator to extract the character or the attribute alone from any + position in the <EM>chstr</EM> [see <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>]. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - All routines return the integer <STRONG>ERR</STRONG> upon failure and an integer value - other than <STRONG>ERR</STRONG> upon successful completion (the number of characters re- - trieved, exclusive of the trailing 0). + All routines return the integer <STRONG>ERR</STRONG> upon failure and an integer value + other than <STRONG>ERR</STRONG> upon successful completion (the number of characters + retrieved, exclusive of the trailing 0). - X/Open Curses defines no error conditions. In this implementation: + X/Open Curses defines no error conditions. This implementation returns + an error - <STRONG>o</STRONG> If the <EM>win</EM> parameter is null, an error is returned, + <STRONG>o</STRONG> if the <EM>win</EM> parameter is null or - <STRONG>o</STRONG> If the <EM>chstr</EM> parameter is null, an error is returned, + <STRONG>o</STRONG> if the <EM>chstr</EM> parameter is null. - Functions with a "mv" prefix first perform a cursor movement using - <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if - the window pointer is null. + Functions prefixed with "mv" first perform cursor movement and fail if + the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries. </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - Note that all routines except <STRONG>winchnstr</STRONG> may be macros. SVr4 does not - document whether the result string is zero-terminated; it does not doc- - ument whether a length limit argument includes any trailing 0; and it - does not document the meaning of the return value. + All routines except <STRONG>winchnstr</STRONG> may be macros. + + SVr4 does not document whether the result string is zero-terminated; it + does not document whether a length limit argument includes any trailing + 0; and it does not document the meaning of the return value. + + Reading a line that overflows the array pointed to by <EM>chstr</EM> with + <STRONG>inchstr</STRONG>, <STRONG>mvinchstr</STRONG>, <STRONG>mvwinchstr</STRONG> or <STRONG>winchstr</STRONG> causes undefined results. + Therefore, the use of <STRONG>inchnstr</STRONG>, <STRONG>mvinchnstr</STRONG>, <STRONG>mvwinchnstr</STRONG>, or <STRONG>winchnstr</STRONG> + is recommended. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These functions are described in the XSI Curses standard, Issue 4. It - is no more specific than the SVr4 documentation on the trailing 0. It - does specify that the successful return of the functions is <STRONG>OK</STRONG>. + These functions are described in X/Open Curses, Issue 4. It is no more + specific than the SVr4 documentation on the trailing 0. It does + specify that the successful return of the functions is <STRONG>OK</STRONG>. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>. - - Comparable functions in the wide-character (ncursesw) library are de- - scribed in <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>. + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>, <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG> - <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> </PRE> <div class="nav"> <ul> diff --git a/doc/html/man/curs_initscr.3x.html b/doc/html/man/curs_initscr.3x.html index ff3e6c26db89..778fc0016d1a 100644 --- a/doc/html/man/curs_initscr.3x.html +++ b/doc/html/man/curs_initscr.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,28 +27,28 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_initscr.3x,v 1.33 2020/10/17 23:20:48 tom Exp @ + * @Id: curs_initscr.3x,v 1.69 2024/04/20 21:24:19 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_initscr 3x</TITLE> +<TITLE>curs_initscr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_initscr 3x</H1> +<H1 class="no-header">curs_initscr 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> +<STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>initscr</STRONG>, <STRONG>newterm</STRONG>, <STRONG>endwin</STRONG>, <STRONG>isendwin</STRONG>, <STRONG>set_term</STRONG>, <STRONG>delscreen</STRONG> - <STRONG>curses</STRONG> screen - initialization and manipulation routines + <STRONG>initscr</STRONG>, <STRONG>newterm</STRONG>, <STRONG>endwin</STRONG>, <STRONG>isendwin</STRONG>, <STRONG>set_term</STRONG>, <STRONG>delscreen</STRONG> - initialize, + manipulate, or tear down <EM>curses</EM> terminal interface </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -59,7 +59,7 @@ <STRONG>bool</STRONG> <STRONG>isendwin(void);</STRONG> - <STRONG>SCREEN</STRONG> <STRONG>*newterm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>type</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>outfd</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>infd</EM><STRONG>);</STRONG> + <STRONG>SCREEN</STRONG> <STRONG>*newterm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>type</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>outf</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>inf</EM><STRONG>);</STRONG> <STRONG>SCREEN</STRONG> <STRONG>*set_term(SCREEN</STRONG> <STRONG>*</STRONG><EM>new</EM><STRONG>);</STRONG> <STRONG>void</STRONG> <STRONG>delscreen(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> @@ -72,11 +72,11 @@ it; these are <STRONG><A HREF="curs_slk.3x.html">slk_init(3x)</A></STRONG>, <STRONG>filter</STRONG>, <STRONG>ripoffline</STRONG>, <STRONG>use_env</STRONG>. For multiple- terminal applications, <STRONG>newterm</STRONG> may be called before <STRONG>initscr</STRONG>. - The initscr code determines the terminal type and initializes all <STRONG>curs-</STRONG> - <STRONG>es</STRONG> data structures. <STRONG>initscr</STRONG> also causes the first call to <STRONG><A HREF="curscurs_refresh.3x.html">refresh(3x)</A></STRONG> - to clear the screen. If errors occur, <STRONG>initscr</STRONG> writes an appropriate - error message to standard error and exits; otherwise, a pointer is re- - turned to <STRONG>stdscr</STRONG>. + The initscr code determines the terminal type and initializes all + <STRONG>curses</STRONG> data structures. <STRONG>initscr</STRONG> also causes the first call to + <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> to clear the screen. If errors occur, <STRONG>initscr</STRONG> writes an + appropriate error message to standard error and exits; otherwise, a + pointer is returned to <STRONG>stdscr</STRONG>. </PRE><H3><a name="h3-newterm">newterm</a></H3><PRE> @@ -84,18 +84,24 @@ routine for each terminal instead of <STRONG>initscr</STRONG>. A program that needs to inspect capabilities, so it can continue to run in a line-oriented mode if the terminal cannot support a screen-oriented program, would also - use <STRONG>newterm</STRONG>. The routine <STRONG>newterm</STRONG> should be called once for each termi- - nal. It returns a variable of type <STRONG>SCREEN</STRONG> <STRONG>*</STRONG> which should be saved as a + use <STRONG>newterm</STRONG>. + + The routine <STRONG>newterm</STRONG> should be called once for each terminal. It + returns a variable of type <EM>SCREEN</EM> <EM>*</EM> which should be saved as a reference to that terminal. <STRONG>newterm</STRONG>'s arguments are <STRONG>o</STRONG> the <EM>type</EM> of the terminal to be used in place of <STRONG>$TERM</STRONG>, - <STRONG>o</STRONG> a file pointer for output to the terminal, and + <STRONG>o</STRONG> an output stream connected to the terminal, and - <STRONG>o</STRONG> another file pointer for input from the terminal + <STRONG>o</STRONG> an input stream connected to the terminal If the <EM>type</EM> parameter is <STRONG>NULL</STRONG>, <STRONG>$TERM</STRONG> will be used. + The file descriptor of the output stream is passed to <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>, + which returns a pointer to a <EM>TERMINAL</EM> structure. <STRONG>newterm</STRONG>'s return + value holds a pointer to the <EM>TERMINAL</EM> structure. + </PRE><H3><a name="h3-endwin">endwin</a></H3><PRE> The program must also call <STRONG>endwin</STRONG> for each terminal being used before @@ -110,13 +116,13 @@ <STRONG>o</STRONG> moves the cursor to the lower left-hand corner of the screen, - <STRONG>o</STRONG> clears the remainder of the line so that it uses the default col- - ors, + <STRONG>o</STRONG> clears the remainder of the line so that it uses the default + colors, <STRONG>o</STRONG> sets the cursor to normal visibility (see <STRONG><A HREF="curs_kernel.3x.html">curs_set(3x)</A></STRONG>), - <STRONG>o</STRONG> stops cursor-addressing mode using the <EM>exit</EM><STRONG>_</STRONG><EM>ca</EM><STRONG>_</STRONG><EM>mode</EM> terminal capa- - bility, + <STRONG>o</STRONG> stops cursor-addressing mode using the <EM>exit</EM><STRONG>_</STRONG><EM>ca</EM><STRONG>_</STRONG><EM>mode</EM> terminal + capability, <STRONG>o</STRONG> restores tty modes (see <STRONG><A HREF="curs_kernel.3x.html">reset_shell_mode(3x)</A></STRONG>). @@ -131,27 +137,33 @@ </PRE><H3><a name="h3-set_term">set_term</a></H3><PRE> The <STRONG>set_term</STRONG> routine is used to switch between different terminals. - The screen reference <STRONG>new</STRONG> becomes the new current terminal. The previ- - ous terminal is returned by the routine. This is the only routine - which manipulates <STRONG>SCREEN</STRONG> pointers; all other routines affect only the + The screen reference <EM>new</EM> becomes the new current terminal. The + previous terminal is returned by the routine. This is the only routine + which manipulates <EM>SCREEN</EM> pointers; all other routines affect only the current terminal. </PRE><H3><a name="h3-delscreen">delscreen</a></H3><PRE> - The <STRONG>delscreen</STRONG> routine frees storage associated with the <STRONG>SCREEN</STRONG> data + The <STRONG>delscreen</STRONG> routine frees storage associated with the <EM>SCREEN</EM> data structure. The <STRONG>endwin</STRONG> routine does not do this, so <STRONG>delscreen</STRONG> should be - called after <STRONG>endwin</STRONG> if a particular <STRONG>SCREEN</STRONG> is no longer needed. + called after <STRONG>endwin</STRONG> if a particular <EM>SCREEN</EM> is no longer needed. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - <STRONG>endwin</STRONG> returns the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon successful com- - pletion. + <STRONG>endwin</STRONG> returns the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon successful + completion. Routines that return pointers always return <STRONG>NULL</STRONG> on error. X/Open defines no error conditions. In this implementation - <STRONG>o</STRONG> <STRONG>endwin</STRONG> returns an error if the terminal was not initialized. + <STRONG>o</STRONG> <STRONG>endwin</STRONG> returns an error if + + <STRONG>o</STRONG> the terminal was not initialized, or + + <STRONG>o</STRONG> <STRONG>endwin</STRONG> is called more than once without updating the screen, or + + <STRONG>o</STRONG> <STRONG><A HREF="curs_kernel.3x.html">reset_shell_mode(3x)</A></STRONG> returns an error. <STRONG>o</STRONG> <STRONG>newterm</STRONG> returns an error if it cannot allocate the data structures for the screen, or for the top-level windows within the screen, @@ -161,93 +173,133 @@ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These functions were described in the XSI Curses standard, Issue 4. As - of 2015, the current document is X/Open Curses, Issue 7. + These functions were described in X/Open Curses, Issue 4. As of 2015, + the current document is X/Open Curses, Issue 7. </PRE><H3><a name="h3-Differences">Differences</a></H3><PRE> - X/Open specifies that portable applications must not call <STRONG>initscr</STRONG> more - than once: + X/Open Curses specifies that portable applications must not call + <STRONG>initscr</STRONG> more than once: - <STRONG>o</STRONG> The portable way to use <STRONG>initscr</STRONG> is once only, using <STRONG>refresh</STRONG> (see - <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>) to restore the screen after <STRONG>endwin</STRONG>. + <STRONG>o</STRONG> The portable way to use <STRONG>initscr</STRONG> is once only, using <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> to + restore the screen after <STRONG>endwin</STRONG>. <STRONG>o</STRONG> This implementation allows using <STRONG>initscr</STRONG> after <STRONG>endwin</STRONG>. - Old versions of curses, e.g., BSD 4.4, may have returned a null pointer - from <STRONG>initscr</STRONG> when an error is detected, rather than exiting. It is - safe but redundant to check the return value of <STRONG>initscr</STRONG> in XSI Curses. + Old versions of curses, e.g., BSD 4.4, would return a null pointer from + <STRONG>initscr</STRONG> when an error is detected, rather than exiting. It is safe but + redundant to check the return value of <STRONG>initscr</STRONG> in X/Open Curses. + + Calling <STRONG>endwin</STRONG> does not dispose of the memory allocated in <STRONG>initscr</STRONG> or + <STRONG>newterm</STRONG>. Deleting a <EM>SCREEN</EM> provides a way to do this: + + <STRONG>o</STRONG> X/Open Curses does not say what happens to <EM>WINDOW</EM>s when <STRONG>delscreen</STRONG> + "frees storage associated with the <EM>SCREEN</EM>" nor does the SVr4 + documentation help, adding that it should be called after <STRONG>endwin</STRONG> if + a <EM>SCREEN</EM> is no longer needed. + + <STRONG>o</STRONG> However, <EM>WINDOW</EM>s are implicitly associated with a <EM>SCREEN</EM>. so that + it is reasonable to expect <STRONG>delscreen</STRONG> to deal with these. + + <STRONG>o</STRONG> SVr4 curses deletes the standard <EM>WINDOW</EM> structures <STRONG>stdscr</STRONG> and + <STRONG>curscr</STRONG> as well as a work area <STRONG>newscr</STRONG>. SVr4 curses ignores other + windows. + + <STRONG>o</STRONG> Since version 4.0 (1996), <EM>ncurses</EM> has maintained a list of all + windows for each screen, using that information to delete those + windows when <STRONG>delscreen</STRONG> is called. + + <STRONG>o</STRONG> NetBSD copied this feature of <EM>ncurses</EM> in 2001. PDCurses follows + the SVr4 model, deleting only the standard <EM>WINDOW</EM> structures. + + +</PRE><H3><a name="h3-High-level-versus-Low-level">High-level versus Low-level</a></H3><PRE> + Different implementations may disagree regarding the level of some + functions. For example, <EM>SCREEN</EM> (returned by <STRONG>newterm</STRONG>) and <EM>TERMINAL</EM> + (returned by <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>) hold file descriptors for the output + stream. If an application switches screens using <STRONG>set_term</STRONG>, or switches + terminals using <STRONG><A HREF="curs_terminfo.3x.html">set_curterm(3x)</A></STRONG>, applications which use the output file + descriptor can have different behavior depending on which structure + holds the corresponding descriptor. + + For example + + <STRONG>o</STRONG> NetBSD's <STRONG><A HREF="curs_termattrs.3x.html">baudrate(3x)</A></STRONG> function uses the descriptor in <EM>TERMINAL</EM>. + <EM>ncurses</EM> and SVr4 use the descriptor in <EM>SCREEN</EM>. + <STRONG>o</STRONG> NetBSD and <EM>ncurses</EM> use the descriptor in <EM>TERMINAL</EM> for terminal I/O + modes, e.g., <STRONG><A HREF="curs_kernel.3x.html">def_shell_mode(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">def_prog_mode(3x)</A></STRONG>. SVr4 curses + uses the descriptor in <EM>SCREEN</EM>. -</PRE><H3><a name="h3-Unset-TERM-Variable">Unset TERM Variable</a></H3><PRE> - If the TERM variable is missing or empty, <STRONG>initscr</STRONG> uses the value "un- - known", which normally corresponds to a terminal entry with the <EM>generic</EM> - (<EM>gn</EM>) capability. Generic entries are detected by <STRONG>setupterm</STRONG> (see - <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>) and cannot be used for full-screen operation. Other - implementations may handle a missing/empty TERM variable differently. + <STRONG>Unset</STRONG> <EM>TERM</EM> <STRONG>Variable</STRONG> + If the <EM>TERM</EM> variable is missing or empty, <STRONG>initscr</STRONG> uses the value + "unknown", which normally corresponds to a terminal entry with the + <EM>generic</EM> (<EM>gn</EM>) capability. Generic entries are detected by <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> + and cannot be used for full-screen operation. Other implementations + may handle a missing/empty <EM>TERM</EM> variable differently. </PRE><H3><a name="h3-Signal-Handlers">Signal Handlers</a></H3><PRE> - Quoting from X/Open Curses, section 3.1.1: + Quoting from X/Open Curses Issue 7, section 3.1.1: - <EM>Curses</EM> <EM>implementations</EM> <EM>may</EM> <EM>provide</EM> <EM>for</EM> <EM>special</EM> <EM>handling</EM> <EM>of</EM> <EM>the</EM> - <STRONG>SIGINT</STRONG><EM>,</EM> <STRONG>SIGQUIT</STRONG> <EM>and</EM> <STRONG>SIGTSTP</STRONG> <EM>signals</EM> <EM>if</EM> <EM>their</EM> <EM>disposition</EM> <EM>is</EM> - <STRONG>SIG_DFL</STRONG> <EM>at</EM> <EM>the</EM> <EM>time</EM> <STRONG>initscr</STRONG> <EM>is</EM> <EM>called</EM> <STRONG>...</STRONG> + Curses implementations may provide for special handling of the + SIGINT, SIGQUIT, and SIGTSTP signals if their disposition is + SIG_DFL at the time <EM>initscr</EM> is called... - <EM>Any</EM> <EM>special</EM> <EM>handling</EM> <EM>for</EM> <EM>these</EM> <EM>signals</EM> <EM>may</EM> <EM>remain</EM> <EM>in</EM> <EM>effect</EM> <EM>for</EM> - <EM>the</EM> <EM>life</EM> <EM>of</EM> <EM>the</EM> <EM>process</EM> <EM>or</EM> <EM>until</EM> <EM>the</EM> <EM>process</EM> <EM>changes</EM> <EM>the</EM> <EM>disposi-</EM> - <EM>tion</EM> <EM>of</EM> <EM>the</EM> <EM>signal.</EM> + Any special handling for these signals may remain in effect for + the life of the process or until the process changes the + disposition of the signal. - <EM>None</EM> <EM>of</EM> <EM>the</EM> <EM>Curses</EM> <EM>functions</EM> <EM>are</EM> <EM>required</EM> <EM>to</EM> <EM>be</EM> <EM>safe</EM> <EM>with</EM> <EM>respect</EM> - <EM>to</EM> <EM>signals</EM> ... + None of the Curses functions are required to be safe with respect + to signals... - This implementation establishes signal handlers during initialization, + This implementation establishes signal handlers during initialization, e.g., <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>. Applications which must handle these signals - should set up the corresponding handlers <EM>after</EM> initializing the li- - brary: + should set up the corresponding handlers <EM>after</EM> initializing the + library: <STRONG>SIGINT</STRONG> - The handler <EM>attempts</EM> to cleanup the screen on exit. Although it + The handler <EM>attempts</EM> to clean up the screen on exit. Although it <EM>usually</EM> works as expected, there are limitations: - <STRONG>o</STRONG> Walking the <STRONG>SCREEN</STRONG> list is unsafe, since all list management + <STRONG>o</STRONG> Walking the <EM>SCREEN</EM> list is unsafe, since all list management is done without any signal blocking. - <STRONG>o</STRONG> On systems which have <STRONG>REENTRANT</STRONG> turned on, <STRONG>set_term</STRONG> uses func- - tions which could deadlock or misbehave in other ways. + <STRONG>o</STRONG> On systems which have <STRONG>REENTRANT</STRONG> turned on, <STRONG>set_term</STRONG> uses + functions which could deadlock or misbehave in other ways. - <STRONG>o</STRONG> <STRONG>endwin</STRONG> calls other functions, many of which use stdio or other - library functions which are clearly unsafe. + <STRONG>o</STRONG> <STRONG>endwin</STRONG> calls other functions, many of which use <STRONG>stdio(3)</STRONG> or + other library functions which are clearly unsafe. <STRONG>SIGTERM</STRONG> - This uses the same handler as <STRONG>SIGINT</STRONG>, with the same limitations. - It is not mentioned in X/Open Curses, but is more suitable for + This uses the same handler as <STRONG>SIGINT</STRONG>, with the same limitations. + It is not mentioned in X/Open Curses, but is more suitable for this purpose than <STRONG>SIGQUIT</STRONG> (which is used in debugging). <STRONG>SIGTSTP</STRONG> - This handles the <EM>stop</EM> signal, used in job control. When resuming - the process, this implementation discards pending input with - <STRONG>flushinput</STRONG> (see <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>), and repaints the screen assuming - that it has been completely altered. It also updates the saved - terminal modes with <STRONG>def_shell_mode</STRONG> (see <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>). + This handles the <EM>stop</EM> signal, used in job control. When resuming + the process, this implementation discards pending input with + <STRONG><A HREF="curs_util.3x.html">flushinp(3x)</A></STRONG>, and repaints the screen assuming that it has been + completely altered. It also updates the saved terminal modes with + <STRONG><A HREF="curs_kernel.3x.html">def_shell_mode(3x)</A></STRONG>. <STRONG>SIGWINCH</STRONG> - This handles the window-size changes which were ignored in the - standardization efforts. The handler sets a (signal-safe) vari- - able which is later tested in <STRONG>wgetch</STRONG> (see <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>). If - <STRONG>keypad</STRONG> has been enabled for the corresponding window, <STRONG>wgetch</STRONG> re- - turns the key symbol <STRONG>KEY_RESIZE</STRONG>. At the same time, <STRONG>wgetch</STRONG> calls - <STRONG>resizeterm</STRONG> to adjust the standard screen <STRONG>stdscr</STRONG>, and update other - data such as <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG>. + This handles the window-size changes which were ignored in the + standardization efforts. The handler sets a (signal-safe) + variable which is later tested in <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>. If <STRONG>keypad</STRONG> has been + enabled for the corresponding window, <STRONG>wgetch</STRONG> returns the key + symbol <STRONG>KEY_RESIZE</STRONG>. At the same time, <STRONG>wgetch</STRONG> calls <STRONG>resizeterm</STRONG> to + adjust the standard screen <STRONG>stdscr</STRONG>, and update other data such as + <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG>. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG>curs_ter-</STRONG> - <STRONG><A HREF="curs_terminfo.3x.html">minfo(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>. + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, + <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> - <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -267,7 +319,7 @@ <li><a href="#h2-PORTABILITY">PORTABILITY</a> <ul> <li><a href="#h3-Differences">Differences</a></li> -<li><a href="#h3-Unset-TERM-Variable">Unset TERM Variable</a></li> +<li><a href="#h3-High-level-versus-Low-level">High-level versus Low-level</a></li> <li><a href="#h3-Signal-Handlers">Signal Handlers</a></li> </ul> </li> diff --git a/doc/html/man/curs_inopts.3x.html b/doc/html/man/curs_inopts.3x.html index 533d6709f8c5..149b2b82be28 100644 --- a/doc/html/man/curs_inopts.3x.html +++ b/doc/html/man/curs_inopts.3x.html @@ -1,6 +1,7 @@ -<!-- +<!-- + * t **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,29 +28,30 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_inopts.3x,v 1.33 2020/12/05 19:38:18 Benno.Schulenberg Exp @ + * @Id: curs_inopts.3x,v 1.66 2024/04/13 22:20:29 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_inopts 3x</TITLE> +<TITLE>curs_inopts 3x 2024-04-13 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_inopts 3x</H1> +<H1 class="no-header">curs_inopts 3x 2024-04-13 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> +<STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>cbreak</STRONG>, <STRONG>nocbreak</STRONG>, <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>keypad</STRONG>, <STRONG>meta</STRONG>, <STRONG>nl</STRONG>, - <STRONG>nonl</STRONG>, <STRONG>nodelay</STRONG>, <STRONG>notimeout</STRONG>, <STRONG>raw</STRONG>, <STRONG>noraw</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>noqiflush</STRONG>, <STRONG>timeout</STRONG>, - <STRONG>wtimeout</STRONG>, <STRONG>typeahead</STRONG> - <STRONG>curses</STRONG> input options + <STRONG>cbreak</STRONG>, <STRONG>echo</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>is_cbreak</STRONG>, <STRONG>is_echo</STRONG>, <STRONG>is_nl</STRONG>, <STRONG>is_raw</STRONG>, + <STRONG>keypad</STRONG>, <STRONG>meta</STRONG>, <STRONG>nl</STRONG>, <STRONG>nocbreak</STRONG>, <STRONG>nodelay</STRONG>, <STRONG>noecho</STRONG>, <STRONG>nonl</STRONG>, <STRONG>noqiflush</STRONG>, <STRONG>noraw</STRONG>, + <STRONG>notimeout</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>raw</STRONG>, <STRONG>timeout</STRONG>, <STRONG>wtimeout</STRONG>, <STRONG>typeahead</STRONG> - get and set + <EM>curses</EM> terminal input options </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -82,227 +84,272 @@ <STRONG>int</STRONG> <STRONG>typeahead(int</STRONG> <EM>fd</EM><STRONG>);</STRONG> + <EM>/*</EM> <EM>extensions</EM> <EM>*/</EM> + <STRONG>int</STRONG> <STRONG>is_cbreak(void);</STRONG> + <STRONG>int</STRONG> <STRONG>is_echo(void);</STRONG> + <STRONG>int</STRONG> <STRONG>is_nl(void);</STRONG> + <STRONG>int</STRONG> <STRONG>is_raw(void);</STRONG> + </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - The <STRONG>ncurses</STRONG> library provides several functions which let an application - change the way input from the terminal is handled. Some are global, - applying to all windows. Others apply only to a specific window. Win- - dow-specific settings are not automatically applied to new or derived - windows. An application must apply these to each window, if the same - behavior is needed. - - -</PRE><H3><a name="h3-cbreak_nocbreak">cbreak/nocbreak</a></H3><PRE> - Normally, the tty driver buffers typed characters until a newline or - carriage return is typed. The <STRONG>cbreak</STRONG> routine disables line buffering - and erase/kill character-processing (interrupt and flow control charac- - ters are unaffected), making characters typed by the user immediately - available to the program. The <STRONG>nocbreak</STRONG> routine returns the terminal to - normal (cooked) mode. + <EM>ncurses</EM> provides several functions that let an application change the + way input from the terminal is handled. Some are global, applying to + all windows. Others apply only to a specific window. Window-specific + settings are not automatically applied to new or derived windows. An + application must apply these to each window if the same behavior is + desired. + + +</PRE><H3><a name="h3-cbreak_nocbreak">cbreak, nocbreak</a></H3><PRE> + Normally, the terminal driver buffers typed characters until a newline + or carriage return is typed. The <STRONG>cbreak</STRONG> routine disables line + buffering and erase/kill character-processing (interrupt and flow + control characters are unaffected), making characters typed by the user + immediately available to the program. The <STRONG>nocbreak</STRONG> routine returns the + terminal to normal (cooked) mode. Initially the terminal may or may not be in <STRONG>cbreak</STRONG> mode, as the mode is - inherited; therefore, a program should call <STRONG>cbreak</STRONG> or <STRONG>nocbreak</STRONG> explic- - itly. Most interactive programs using <STRONG>curses</STRONG> set the <STRONG>cbreak</STRONG> mode. - Note that <STRONG>cbreak</STRONG> overrides <STRONG>raw</STRONG>. [See <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> for a discussion - of how these routines interact with <STRONG>echo</STRONG> and <STRONG>noecho</STRONG>.] + inherited; therefore, a program should call <STRONG>cbreak</STRONG> or <STRONG>nocbreak</STRONG> + explicitly. Most interactive programs using <EM>curses</EM> set the <STRONG>cbreak</STRONG> + mode. Note that <STRONG>cbreak</STRONG> overrides <STRONG>raw</STRONG>. [See <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> for a + discussion of how these routines interact with <STRONG>echo</STRONG> and <STRONG>noecho</STRONG>.] -</PRE><H3><a name="h3-echo_noecho">echo/noecho</a></H3><PRE> - The <STRONG>echo</STRONG> and <STRONG>noecho</STRONG> routines control whether characters typed by the - user are echoed by <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG> as they are typed. Echoing by the tty - driver is always disabled, but initially <STRONG>getch</STRONG> is in echo mode, so - characters typed are echoed. Authors of most interactive programs pre- - fer to do their own echoing in a controlled area of the screen, or not - to echo at all, so they disable echoing by calling <STRONG>noecho</STRONG>. [See - <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> for a discussion of how these routines interact with - <STRONG>cbreak</STRONG> and <STRONG>nocbreak</STRONG>.] +</PRE><H3><a name="h3-echo_noecho">echo, noecho</a></H3><PRE> + The <STRONG>echo</STRONG> and <STRONG>noecho</STRONG> routines control whether characters typed by the + user are echoed by <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG> as they are typed. Echoing by the + terminal driver is always disabled, but initially <STRONG>getch</STRONG> is in echo + mode, so characters typed are echoed. Authors of most interactive + programs prefer to do their own echoing in a controlled area of the + screen, or not to echo at all, so they disable echoing by calling + <STRONG>noecho</STRONG>. [See <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> for a discussion of how these routines + interact with <STRONG>cbreak</STRONG> and <STRONG>nocbreak</STRONG>.] </PRE><H3><a name="h3-halfdelay">halfdelay</a></H3><PRE> - The <STRONG>halfdelay</STRONG> routine is used for half-delay mode, which is similar to - <STRONG>cbreak</STRONG> mode in that characters typed by the user are immediately avail- - able to the program. However, after blocking for <EM>tenths</EM> tenths of sec- - onds, <STRONG>ERR</STRONG> is returned if nothing has been typed. The value of <EM>tenths</EM> - must be a number between 1 and 255. Use <STRONG>nocbreak</STRONG> to leave half-delay - mode. + The <STRONG>halfdelay</STRONG> routine is used for half-delay mode, which is similar to + <STRONG>cbreak</STRONG> mode in that characters typed by the user are immediately + available to the program. However, after blocking for <EM>tenths</EM> tenths of + seconds, <STRONG>ERR</STRONG> is returned if nothing has been typed. The value of + <EM>tenths</EM> must be a number between 1 and 255. Use <STRONG>nocbreak</STRONG> to leave half- + delay mode. </PRE><H3><a name="h3-intrflush">intrflush</a></H3><PRE> - If the <STRONG>intrflush</STRONG> option is enabled (<EM>bf</EM> is <STRONG>TRUE</STRONG>), and an interrupt key - is pressed on the keyboard (interrupt, break, quit), all output in the - tty driver queue will be flushed, giving the effect of faster response - to the interrupt, but causing <STRONG>curses</STRONG> to have the wrong idea of what is - on the screen. Disabling the option (<EM>bf</EM> is <STRONG>FALSE</STRONG>) prevents the flush. - The default for the option is inherited from the tty driver settings. - The window argument is ignored. + If the <STRONG>intrflush</STRONG> option is enabled (<EM>bf</EM> is <STRONG>TRUE</STRONG>), and an interrupt key + is pressed on the keyboard (interrupt, break, quit), all output in the + terminal driver queue is flushed, giving the effect of faster response + to the interrupt, but causing <EM>curses</EM> to have the wrong idea of what is + on the screen. Disabling the option (<EM>bf</EM> is <STRONG>FALSE</STRONG>), prevents the flush. + The default for the option is inherited from the terminal driver + settings. The <EM>win</EM> argument is ignored. </PRE><H3><a name="h3-keypad">keypad</a></H3><PRE> - The <STRONG>keypad</STRONG> option enables the keypad of the user's terminal. If en- - abled (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the user can press a function key (such as an arrow - key) and <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> returns a single value representing the function - key, as in <STRONG>KEY_LEFT</STRONG>. If disabled (<EM>bf</EM> is <STRONG>FALSE</STRONG>), <STRONG>curses</STRONG> does not treat - function keys specially and the program has to interpret the escape se- - quences itself. If the keypad in the terminal can be turned on (made - to transmit) and off (made to work locally), turning on this option - causes the terminal keypad to be turned on when <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> is called. - The default value for keypad is <STRONG>FALSE</STRONG>. + The <STRONG>keypad</STRONG> option enables the keypad of the user's terminal. If + enabled (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the user can press a function key (such as an + arrow key) and <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> returns a single value representing the + function key, as in <STRONG>KEY_LEFT</STRONG>. If disabled (<EM>bf</EM> is <STRONG>FALSE</STRONG>), <EM>curses</EM> does + not treat function keys specially and the program has to interpret the + escape sequences itself. If the keypad in the terminal can be turned + on (made to transmit) and off (made to work locally), turning on this + option causes the terminal keypad to be turned on when <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> is + called. The default value for keypad is <STRONG>FALSE</STRONG>. </PRE><H3><a name="h3-meta">meta</a></H3><PRE> - Initially, whether the terminal returns 7 or 8 significant bits on in- - put depends on the control mode of the tty driver [see <STRONG>termios(3)</STRONG>]. To - force 8 bits to be returned, invoke <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>TRUE</STRONG>); this is equiva- - lent, under POSIX, to setting the CS8 flag on the terminal. To force 7 - bits to be returned, invoke <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>FALSE</STRONG>); this is equivalent, under - POSIX, to setting the CS7 flag on the terminal. The window argument, - <EM>win</EM>, is always ignored. If the terminfo capabilities <STRONG>smm</STRONG> (meta_on) and - <STRONG>rmm</STRONG> (meta_off) are defined for the terminal, <STRONG>smm</STRONG> is sent to the termi- - nal when <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>TRUE</STRONG>) is called and <STRONG>rmm</STRONG> is sent when <STRONG>meta</STRONG>(<EM>win</EM>, - <STRONG>FALSE</STRONG>) is called. - - -</PRE><H3><a name="h3-nl_nonl">nl/nonl</a></H3><PRE> - The <STRONG>nl</STRONG> and <STRONG>nonl</STRONG> routines control whether the underlying display device + Initially, whether the terminal returns 7 or 8 significant bits on + input depends on the control mode of the terminal driver [see + <STRONG>termios(3)</STRONG>]. To force 8 bits to be returned, invoke <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>TRUE</STRONG>); + this is equivalent, under POSIX, to setting the CS8 flag on the + terminal. To force 7 bits to be returned, invoke <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>FALSE</STRONG>); + this is equivalent, under POSIX, to setting the CS7 flag on the + terminal. The window argument, <EM>win</EM>, is always ignored. If the + terminfo capabilities <STRONG>smm</STRONG> (meta_on) and <STRONG>rmm</STRONG> (meta_off) are defined for + the terminal, <STRONG>smm</STRONG> is sent to the terminal when <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>TRUE</STRONG>) is + called and <STRONG>rmm</STRONG> is sent when <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>FALSE</STRONG>) is called. + + +</PRE><H3><a name="h3-nl_nonl">nl, nonl</a></H3><PRE> + The <STRONG>nl</STRONG> and <STRONG>nonl</STRONG> routines control whether the underlying display device translates the return key into newline on input. </PRE><H3><a name="h3-nodelay">nodelay</a></H3><PRE> The <STRONG>nodelay</STRONG> option causes <STRONG>getch</STRONG> to be a non-blocking call. If no input - is ready, <STRONG>getch</STRONG> returns <STRONG>ERR</STRONG>. If disabled (<EM>bf</EM> is <STRONG>FALSE</STRONG>), <STRONG>getch</STRONG> waits + is ready, <STRONG>getch</STRONG> returns <STRONG>ERR</STRONG>. If disabled (<EM>bf</EM> is <STRONG>FALSE</STRONG>), <STRONG>getch</STRONG> waits until a key is pressed. </PRE><H3><a name="h3-notimeout">notimeout</a></H3><PRE> - When interpreting an escape sequence, <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> sets a timer while - waiting for the next character. If <STRONG>notimeout(</STRONG><EM>win</EM>, <STRONG>TRUE</STRONG>) is called, - then <STRONG>wgetch</STRONG> does not set a timer. The purpose of the timeout is to - differentiate between sequences received from a function key and those - typed by a user. - - -</PRE><H3><a name="h3-raw_noraw">raw/noraw</a></H3><PRE> - The <STRONG>raw</STRONG> and <STRONG>noraw</STRONG> routines place the terminal into or out of raw mode. - Raw mode is similar to <STRONG>cbreak</STRONG> mode, in that characters typed are imme- - diately passed through to the user program. The differences are that - in raw mode, the interrupt, quit, suspend, and flow control characters - are all passed through uninterpreted, instead of generating a signal. - The behavior of the BREAK key depends on other bits in the tty driver - that are not set by <STRONG>curses</STRONG>. - - -</PRE><H3><a name="h3-qiflush_noqiflush">qiflush/noqiflush</a></H3><PRE> - When the <STRONG>noqiflush</STRONG> routine is used, normal flush of input and output - queues associated with the <STRONG>INTR</STRONG>, <STRONG>QUIT</STRONG> and <STRONG>SUSP</STRONG> characters will not be - done [see <STRONG>termios(3)</STRONG>]. When <STRONG>qiflush</STRONG> is called, the queues will be - flushed when these control characters are read. You may want to call - <STRONG>noqiflush</STRONG> in a signal handler if you want output to continue as though + When interpreting an escape sequence, <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> sets a timer while + waiting for the next character. If <STRONG>notimeout(</STRONG><EM>win</EM>, <STRONG>TRUE</STRONG>) is called, + then <STRONG>wgetch</STRONG> does not set a timer. The purpose of the timeout is to + distinguish sequences produced by a function key from those typed by a + user. + + +</PRE><H3><a name="h3-raw_noraw">raw, noraw</a></H3><PRE> + The <STRONG>raw</STRONG> and <STRONG>noraw</STRONG> routines place the terminal into or out of raw mode. + Raw mode is similar to <STRONG>cbreak</STRONG> mode, in that characters typed are + immediately passed through to the user program. The differences are + that in raw mode, the interrupt, quit, suspend, and flow control + characters are all passed through uninterpreted, instead of generating + a signal. The behavior of the BREAK key depends on other bits in the + terminal driver that are not set by <EM>curses</EM>. + + +</PRE><H3><a name="h3-qiflush_nqiflush">qiflush, nqiflush</a></H3><PRE> + When the <STRONG>noqiflush</STRONG> routine is used, normal flush of input and output + queues associated with the <STRONG>INTR</STRONG>, <STRONG>QUIT</STRONG> and <STRONG>SUSP</STRONG> characters will not be + done [see <STRONG>termios(3)</STRONG>]. When <STRONG>qiflush</STRONG> is called, the queues will be + flushed when these control characters are read. You may want to call + <STRONG>noqiflush</STRONG> in a signal handler if you want output to continue as though the interrupt had not occurred, after the handler exits. -</PRE><H3><a name="h3-timeout_wtimeout">timeout/wtimeout</a></H3><PRE> +</PRE><H3><a name="h3-timeout_wtimeout">timeout, wtimeout</a></H3><PRE> The <STRONG>timeout</STRONG> and <STRONG>wtimeout</STRONG> routines set blocking or non-blocking read for - a given window. If <EM>delay</EM> is negative, blocking read is used (i.e., - waits indefinitely for input). If <EM>delay</EM> is zero, then non-blocking - read is used (i.e., read returns <STRONG>ERR</STRONG> if no input is waiting). If <EM>delay</EM> - is positive, then read blocks for <EM>delay</EM> milliseconds, and returns <STRONG>ERR</STRONG> - if there is still no input. Hence, these routines provide the same - functionality as <STRONG>nodelay</STRONG>, plus the additional capability of being able + a given window. If <EM>delay</EM> is negative, a blocking read is used (i.e., + waits indefinitely for input). If <EM>delay</EM> is zero, then a non-blocking + read is used (i.e., <EM>read</EM> returns <STRONG>ERR</STRONG> if no input is waiting). If <EM>delay</EM> + is positive, then <EM>read</EM> blocks for <EM>delay</EM> milliseconds, and returns <STRONG>ERR</STRONG> + if there is still no input. Hence, these routines provide the same + functionality as <STRONG>nodelay</STRONG>, plus the additional capability of being able to block for only <EM>delay</EM> milliseconds (where <EM>delay</EM> is positive). </PRE><H3><a name="h3-typeahead">typeahead</a></H3><PRE> - The <STRONG>curses</STRONG> library does "line-breakout optimization" by looking for ty- - peahead periodically while updating the screen. If input is found, and - it is coming from a tty, the current update is postponed until <STRONG>re-</STRONG> - <STRONG><A HREF="refresh.3x.html">fresh(3x)</A></STRONG> or <STRONG>doupdate</STRONG> is called again. This allows faster response to - commands typed in advance. Normally, the input FILE pointer passed to - <STRONG>newterm</STRONG>, or <STRONG>stdin</STRONG> in the case that <STRONG>initscr</STRONG> was used, will be used to do - this typeahead checking. The <STRONG>typeahead</STRONG> routine specifies that the file - descriptor <EM>fd</EM> is to be used to check for typeahead instead. If <EM>fd</EM> is - -1, then no typeahead checking is done. + <EM>curses</EM> does "line-breakout optimization" by looking for typeahead + periodically while updating the screen. If input is found, and it is + coming from a terminal, the current update is postponed until + <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> or <STRONG>doupdate</STRONG> is called again. This allows faster response + to commands typed in advance. Normally, the input <EM>FILE</EM> pointer passed + to <STRONG>newterm</STRONG>, or <STRONG>stdin</STRONG> in the case that <STRONG>initscr</STRONG> was used, will be used to + do this typeahead checking. The <STRONG>typeahead</STRONG> routine specifies that the + file descriptor <EM>fd</EM> is to be used to check for typeahead instead. If <EM>fd</EM> + is -1, then no typeahead checking is done. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - All routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> + All routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful - completion, unless otherwise noted in the preceding routine descrip- - tions. + completion, unless otherwise noted in the preceding routine + descriptions. + + X/Open Curses does not specify any error conditions. In this + implementation, functions with a window parameter will return an error + if it is null. Any function will also return an error if the terminal + was not initialized. Also, + + <STRONG>halfdelay</STRONG> + returns an error if its parameter is outside the range 1..255. + + +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>meta</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG>, <STRONG>nodelay</STRONG>, <STRONG>notimeout</STRONG>, + <STRONG>noqiflush</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, and <STRONG>wtimeout</STRONG> may be implemented as macros. + + <STRONG>noraw</STRONG> and <STRONG>nocbreak</STRONG> follow historical practice in that they attempt to + restore normal ("cooked") mode from raw and cbreak modes respectively. + Mixing <STRONG>raw</STRONG>/<STRONG>noraw</STRONG> and <STRONG>cbreak</STRONG>/<STRONG>nocbreak</STRONG> calls leads to terminal driver + control states that are hard to predict or understand; doing so is not + recommended. + - X/Open does not define any error conditions. In this implementation, - functions with a window parameter will return an error if it is null. - Any function will also return an error if the terminal was not initial- - ized. Also, +</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE> + <EM>ncurses</EM> provides four "is_" functions that may be used to detect if the + corresponding flags were set or reset. - <STRONG>halfdelay</STRONG> - returns an error if its parameter is outside the range - 1..255. + <STRONG>Query</STRONG> <STRONG>Set</STRONG> <STRONG>Reset</STRONG> + ------------------------------ + is_cbreak cbreak nocbreak + is_echo echo noecho + is_nl nl nonl + is_raw raw noraw + + In each case, the function returns + + 1 if the flag is set, + + 0 if the flag is reset, or + + -1 if the library is not initialized. + + They were designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and are not found in SVr4 <EM>curses</EM>, + 4.4BSD <EM>curses</EM>, or any other previous <EM>curses</EM> implementation. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These functions are described in the XSI Curses standard, Issue 4. - - The ncurses library obeys the XPG4 standard and the historical practice - of the AT&T curses implementations, in that the echo bit is cleared - when curses initializes the terminal state. BSD curses differed from - this slightly; it left the echo bit on at initialization, but the BSD - <STRONG>raw</STRONG> call turned it off as a side-effect. For best portability, set - <STRONG>echo</STRONG> or <STRONG>noecho</STRONG> explicitly just after initialization, even if your pro- - gram remains in cooked mode. - - The XSI Curses standard is ambiguous on the question of whether <STRONG>raw</STRONG> - should disable the CRLF translations controlled by <STRONG>nl</STRONG> and <STRONG>nonl</STRONG>. BSD - curses did turn off these translations; AT&T curses (at least as late - as SVr1) did not. We chose to do so, on the theory that a programmer - requesting raw input wants a clean (ideally 8-bit clean) connection - that the operating system will not alter. - - When <STRONG>keypad</STRONG> is first enabled, ncurses loads the key-definitions for the - current terminal description. If the terminal description includes ex- - tended string capabilities, e.g., from using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>, then - ncurses also defines keys for the capabilities whose names begin with - "k". The corresponding keycodes are generated and (depending on previ- - ous loads of terminal descriptions) may differ from one execution of a - program to the next. The generated keycodes are recognized by the <STRONG>key-</STRONG> - <STRONG>name</STRONG> function (which will then return a name beginning with "k" denot- - ing the terminfo capability name rather than "K", used for curses key- - names). On the other hand, an application can use <STRONG>define_key</STRONG> to estab- - lish a specific keycode for a given string. This makes it possible for - an application to check for an extended capability's presence with - <STRONG>tigetstr</STRONG>, and reassign the keycode to match its own needs. + Applications employing <EM>ncurses</EM> extensions should condition their use on + the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro. + + Except as noted in section "EXTENSIONS" above, X/Open Curses, Issue 4, + Version 2 describes these functions. + + <EM>ncurses</EM> follows X/Open Curses and the historical practice of AT&T + <EM>curses</EM> implementations, in that the echo bit is cleared when <EM>curses</EM> + initializes the terminal state. BSD <EM>curses</EM> differed from this + slightly; it left the echo bit on at initialization, but the BSD <STRONG>raw</STRONG> + call turned it off as a side effect. For best portability, set <STRONG>echo</STRONG> or + <STRONG>noecho</STRONG> explicitly just after initialization, even if your program + remains in cooked mode. + + X/Open Curses is ambiguous regarding whether <STRONG>raw</STRONG> should disable the + CR/LF translations controlled by <STRONG>nl</STRONG> and <STRONG>nonl</STRONG>. BSD <EM>curses</EM> did turn off + these translations; AT&T <EM>curses</EM> (at least as late as SVr1) did not. + <EM>ncurses</EM> does so, on the assumption that a programmer requesting raw + input wants a clean (ideally, 8-bit clean) connection that the + operating system will not alter. + + When <STRONG>keypad</STRONG> is first enabled, <EM>ncurses</EM> loads the key definitions for the + current terminal description. If the terminal description includes + extended string capabilities, e.g., from using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>, + then <EM>ncurses</EM> also defines keys for the capabilities whose names begin + with "k". The corresponding keycodes are generated and (depending on + previous loads of terminal descriptions) may differ from one execution + of a program to the next. The generated keycodes are recognized by the + <STRONG><A HREF="curs_util.3x.html">keyname(3x)</A></STRONG> function (which will then return a name beginning with "k" + denoting the terminfo capability name rather than "K", used for <EM>curses</EM> + key names). On the other hand, an application can use <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> + to establish a specific keycode for a given string. This makes it + possible for an application to check for an extended capability's + presence with <STRONG>tigetstr</STRONG>, and reassign the keycode to match its own + needs. Low-level applications can use <STRONG>tigetstr</STRONG> to obtain the definition of any particular string capability. Higher-level applications which use the - curses <STRONG>wgetch</STRONG> and similar functions to return keycodes rely upon the + <EM>curses</EM> <STRONG>wgetch</STRONG> and similar functions to return keycodes rely upon the order in which the strings are loaded. If more than one key definition has the same string value, then <STRONG>wgetch</STRONG> can return only one keycode. - Most curses implementations (including ncurses) load key definitions in + Most <EM>curses</EM> implementations (including <EM>ncurses</EM>) load key definitions in the order defined by the array of string capability names. The last key to be loaded determines the keycode which will be returned. In - ncurses, you may also have extended capabilities interpreted as key - definitions. These are loaded after the predefined keys, and if a ca- - pability's value is the same as a previously-loaded key definition, the - later definition is the one used. + <EM>ncurses</EM>, you may also have extended capabilities interpreted as key + definitions. These are loaded after the predefined keys, and if a + capability's value is the same as a previously-loaded key definition, + the later definition is the one used. -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - Note that <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>meta</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG>, <STRONG>nodelay</STRONG>, - <STRONG>notimeout</STRONG>, <STRONG>noqiflush</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, and <STRONG>wtimeout</STRONG> may be macros. - - The <STRONG>noraw</STRONG> and <STRONG>nocbreak</STRONG> calls follow historical practice in that they - attempt to restore to normal ("cooked") mode from raw and cbreak modes - respectively. Mixing raw/noraw and cbreak/nocbreak calls leads to tty - driver control states that are hard to predict or understand; it is not - recommended. +</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE> + Formerly, <EM>ncurses</EM> used <STRONG>nl</STRONG> and <STRONG>nonl</STRONG> to control the conversion of + newlines to carriage return/line feed on output as well as input. + X/Open Curses documents the use of these functions only for input. + This difference arose from converting the <EM>pcurses</EM> source (1986), which + used <STRONG>ioctl(2)</STRONG> calls and the <EM>sgttyb</EM> structure, to <EM>termios</EM> (the POSIX + terminal API). In the former, both input and output were controlled + via a single option <STRONG>CRMOD</STRONG>, while the latter separates these features. + Because that conversion interferes with output optimization, <EM>ncurses</EM> + 6.2 (2020) amended <STRONG>nl</STRONG> and <STRONG>nonl</STRONG> to eliminate their effect on output. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG>de-</STRONG> - <STRONG><A HREF="define_key.3x.html">fine_key(3x)</A></STRONG>, <STRONG>termios(3)</STRONG> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, + <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG>termios(3)</STRONG> - <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> +ncurses 6.5 2024-04-13 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -310,24 +357,26 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a> <ul> -<li><a href="#h3-cbreak_nocbreak">cbreak/nocbreak</a></li> -<li><a href="#h3-echo_noecho">echo/noecho</a></li> +<li><a href="#h3-cbreak_nocbreak">cbreak, nocbreak</a></li> +<li><a href="#h3-echo_noecho">echo, noecho</a></li> <li><a href="#h3-halfdelay">halfdelay</a></li> <li><a href="#h3-intrflush">intrflush</a></li> <li><a href="#h3-keypad">keypad</a></li> <li><a href="#h3-meta">meta</a></li> -<li><a href="#h3-nl_nonl">nl/nonl</a></li> +<li><a href="#h3-nl_nonl">nl, nonl</a></li> <li><a href="#h3-nodelay">nodelay</a></li> <li><a href="#h3-notimeout">notimeout</a></li> -<li><a href="#h3-raw_noraw">raw/noraw</a></li> -<li><a href="#h3-qiflush_noqiflush">qiflush/noqiflush</a></li> -<li><a href="#h3-timeout_wtimeout">timeout/wtimeout</a></li> +<li><a href="#h3-raw_noraw">raw, noraw</a></li> +<li><a href="#h3-qiflush_nqiflush">qiflush, nqiflush</a></li> +<li><a href="#h3-timeout_wtimeout">timeout, wtimeout</a></li> <li><a href="#h3-typeahead">typeahead</a></li> </ul> </li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-NOTES">NOTES</a></li> +<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li> +<li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-HISTORY">HISTORY</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> diff --git a/doc/html/man/curs_ins_wch.3x.html b/doc/html/man/curs_ins_wch.3x.html index 5ab6a01189f8..7c25b2ed7e9d 100644 --- a/doc/html/man/curs_ins_wch.3x.html +++ b/doc/html/man/curs_ins_wch.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2019,2020 Thomas E. Dickey * + * Copyright 2019-2023,2024 Thomas E. Dickey * * Copyright 2002-2010,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,66 +27,84 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_ins_wch.3x,v 1.10 2020/10/18 00:22:21 tom Exp @ + * @Id: curs_ins_wch.3x,v 1.30 2024/04/20 19:18:18 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_ins_wch 3x</TITLE> +<TITLE>curs_ins_wch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_ins_wch 3x</H1> +<H1 class="no-header">curs_ins_wch 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG> <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG> +<STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>ins_wch</STRONG>, <STRONG>mvins_wch</STRONG>, <STRONG>mvwins_wch</STRONG>, <STRONG>wins_wch</STRONG> - insert a complex character - and rendition into a window + <STRONG>ins_wch</STRONG>, <STRONG>mvins_wch</STRONG>, <STRONG>mvwins_wch</STRONG>, <STRONG>wins_wch</STRONG> - insert a <EM>curses</EM> complex + character in a window </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> - #include <curses.h> + <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> <STRONG>int</STRONG> <STRONG>ins_wch(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>wins_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>mvins_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>mvwins_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - These routines, insert the complex character <EM>wch</EM> with rendition before - the character under the cursor. All characters to the right of the - cursor are moved one space to the right, with the possibility of the - rightmost character on the line being lost. The insertion operation - does not change the cursor position. + These functions insert the <EM>curses</EM> complex character <EM>wch</EM> at the cursor + in the specified window <EM>win</EM> (or <STRONG>stdscr</STRONG>). The character previously at + the cursor and any to its right move one cell to the right; the + rightmost character on the line is discarded. The cursor does not + advance. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - If successful, these functions return <STRONG>OK</STRONG>. If not, they return <STRONG>ERR</STRONG>. + These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure. + + Functions taking a <EM>WINDOW</EM> pointer argument fail if the pointer is <STRONG>NULL</STRONG>. + + Functions prefixed with "mv" first perform cursor movement and fail if + the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries. + - Functions with a "mv" prefix first perform a cursor movement using - <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if - the window pointer is null. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + A terminal's <STRONG>insert_character</STRONG> (<STRONG>ich1</STRONG>) capability is not necessarily + employed. + <STRONG>ins_wch</STRONG>, <STRONG>mvins_wch</STRONG>, and <STRONG>mvwins_wch</STRONG> may be implemented as macros. -</PRE><H2><a name="h2-ERRORS">ERRORS</a></H2><PRE> - No errors are defined. + +</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> + X/Open Curses, Issue 4 describes these functions. + + SVr4 describes successful return values only as "an integer value other + than <STRONG>ERR</STRONG>". + + +</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE> + SVr4 (1989) implemented these functions under the names <STRONG>inswch</STRONG>, + <STRONG>winswch</STRONG>, <STRONG>mvinswch</STRONG>, and <STRONG>mvwinswch</STRONG>. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>. + <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG> describes comparable functions in the non-wide-character + <EM>curses</EM> configuration. + + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> - <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -94,7 +112,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-ERRORS">ERRORS</a></li> +<li><a href="#h2-NOTES">NOTES</a></li> +<li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-HISTORY">HISTORY</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> diff --git a/doc/html/man/curs_ins_wstr.3x.html b/doc/html/man/curs_ins_wstr.3x.html index fdb40881149d..f2982eaa14ab 100644 --- a/doc/html/man/curs_ins_wstr.3x.html +++ b/doc/html/man/curs_ins_wstr.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2019,2020 Thomas E. Dickey * + * Copyright 2019-2023,2024 Thomas E. Dickey * * Copyright 2002-2012,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,35 +27,35 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_ins_wstr.3x,v 1.11 2020/10/17 23:21:25 tom Exp @ + * @Id: curs_ins_wstr.3x,v 1.38 2024/04/20 21:23:08 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_ins_wstr 3x</TITLE> +<TITLE>curs_ins_wstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_ins_wstr 3x</H1> +<H1 class="no-header">curs_ins_wstr 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> +<STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>ins_wstr</STRONG>, <STRONG>ins_nwstr</STRONG>, <STRONG>wins_wstr</STRONG>, <STRONG>wins_nwstr</STRONG>, <STRONG>mvins_wstr</STRONG>, <STRONG>mvins_nwstr</STRONG>, - <STRONG>mvwins_wstr</STRONG>, <STRONG>mvwins_nwstr</STRONG> - insert a wide-character string into a - curses window + <STRONG>ins_wstr</STRONG>, <STRONG>ins_nwstr</STRONG>, <STRONG>wins_wstr</STRONG>, <STRONG>wins_nwstr</STRONG>, <STRONG>mvins_wstr</STRONG>, <STRONG>mvins_nwstr</STRONG>, + <STRONG>mvwins_wstr</STRONG>, <STRONG>mvwins_nwstr</STRONG> - insert a wide-character string in a <EM>curses</EM> + window </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> - <STRONG>int</STRONG> <STRONG>ins_wstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr);</EM> + <STRONG>int</STRONG> <STRONG>ins_wstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>ins_nwstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>wins_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>wins_nwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG> @@ -68,55 +68,72 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> These routines insert a <STRONG>wchar_t</STRONG> character string (as many characters as - will fit on the line) before the character under the cursor. All char- - acters to the right of the cursor are shifted right, with the possibil- - ity of the rightmost characters on the line being lost. No wrapping is - performed. The cursor position does not change (after moving to <EM>y</EM>, <EM>x</EM>, - if specified). The four routines with <EM>n</EM> as the last argument insert a - leading substring of at most <EM>n</EM> <STRONG>wchar_t</STRONG> characters. If <EM>n</EM> is less than - 1, the entire string is inserted. - - If a character in <EM>wstr</EM> is a tab, newline, carriage return or backspace, - the cursor is moved appropriately within the window. A newline also - does a <STRONG>clrtoeol</STRONG> before moving. Tabs are considered to be at every - eighth column. If a character in <EM>wstr</EM> is another control character, it - is drawn in the <STRONG>^</STRONG><EM>X</EM> notation. Calling <STRONG>win_wch</STRONG> after adding a control - character (and moving to it, if necessary) does not return the control - character, but instead returns a character in the ^-representation of - the control character. + will fit on the line) before the character under the cursor, as if + calling <STRONG><A HREF="curs_ins_wch.3x.html">wins_wch(3x)</A></STRONG>. All characters to the right of the cursor are + shifted right, with the possibility of the rightmost characters on the + line being lost. No wrapping is performed. + The cursor position does not change (after moving to <EM>y</EM>, <EM>x</EM>, if + specified). -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - Note that all but wins_nwstr may be macros. + The functions with <EM>n</EM> as the last argument insert a leading substring of + at most <EM>n</EM> <STRONG>wchar_t</STRONG> characters. If <EM>n</EM> is less than zero, the entire + string is inserted (stopping on a L'\0' character). - If the first character in the string is a nonspacing character, these - functions will fail. XSI does not define what will happen if a non- - spacing character follows a control character. + Special characters are handled as in <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG>. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - Upon successful completion, these functions return <STRONG>OK</STRONG>. Otherwise, they - return <STRONG>ERR</STRONG>. + All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success. + + X/Open Curses does not specify any error conditions. This + implementation returns an error + + <STRONG>o</STRONG> if the <EM>win</EM> parameter is null or + + <STRONG>o</STRONG> if the <EM>wstr</EM> parameter is null or + + <STRONG>o</STRONG> if the <STRONG>wins_wch</STRONG> function returns an error. + + Functions prefixed with "mv" first perform cursor movement and fail if + the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries. + - Functions with a "mv" prefix first perform a cursor movement using - <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if - the window pointer is null. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + All but <STRONG>wins_nwstr</STRONG> may be macros. + + If the first character in the string is a non-spacing character, these + functions will fail. X/Open Curses does not define what will happen if + a non-spacing character follows a control character. + + +</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> + These functions are described in X/Open Curses, Issue 4, which adds + <EM>const</EM> qualifiers to the arguments. + + X/Open states that the entire string is inserted if <EM>n</EM> is less than 1. + This is probably an error, because it is inconsistent with other + functions, and differs from the X/Open implementation on Solaris. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>. + <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library + in its non-wide-character configuration. + + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG> - <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> </PRE> <div class="nav"> <ul> <li><a href="#h2-NAME">NAME</a></li> <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> +<li><a href="#h2-NOTES">NOTES</a></li> +<li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> diff --git a/doc/html/man/curs_insch.3x.html b/doc/html/man/curs_insch.3x.html index c727aa7149db..5f60c67c0fde 100644 --- a/doc/html/man/curs_insch.3x.html +++ b/doc/html/man/curs_insch.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,28 +27,28 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_insch.3x,v 1.19 2020/10/18 00:21:39 tom Exp @ + * @Id: curs_insch.3x,v 1.40 2024/04/20 19:03:47 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_insch 3x</TITLE> +<TITLE>curs_insch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_insch 3x</H1> +<H1 class="no-header">curs_insch 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG> <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG> +<STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>insch</STRONG>, <STRONG>winsch</STRONG>, <STRONG>mvinsch</STRONG>, <STRONG>mvwinsch</STRONG> - insert a character before cursor in - a <STRONG>curses</STRONG> window + <STRONG>insch</STRONG>, <STRONG>winsch</STRONG>, <STRONG>mvinsch</STRONG>, <STRONG>mvwinsch</STRONG> - insert a <EM>curses</EM> character in a + window </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -56,50 +56,49 @@ <STRONG>int</STRONG> <STRONG>insch(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>winsch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>mvinsch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>mvwinsch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - These routines insert the character <EM>ch</EM> before the character under the - cursor. All characters to the right of the cursor are moved one space - to the right, with the possibility of the rightmost character on the - line being lost. The insertion operation does not change the cursor - position. + These functions insert the <EM>curses</EM> character <EM>ch</EM> at the cursor in the + specified window <EM>win</EM> (or <STRONG>stdscr</STRONG>). The character previously at the + cursor and any to its right move one cell to the right; the rightmost + character on the line is discarded. The cursor does not advance. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - All routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> - (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful - completion, unless otherwise noted in the preceding routine - descriptions. + These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure. - Functions with a "mv" prefix first perform a cursor movement using - <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if - the window pointer is null. + Functions taking a <EM>WINDOW</EM> pointer argument fail if the pointer is <STRONG>NULL</STRONG>. + + Functions prefixed with "mv" first perform cursor movement and fail if + the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries. </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - These routines do not necessarily imply use of a hardware insert - character feature. + <STRONG>insch</STRONG>, <STRONG>mvinsch</STRONG>, and <STRONG>mvwinsch</STRONG> may be implemented as macros. - Note that <STRONG>insch</STRONG>, <STRONG>mvinsch</STRONG>, and <STRONG>mvwinsch</STRONG> may be macros. + A terminal's <STRONG>insert_character</STRONG> (<STRONG>ich1</STRONG>) capability is not necessarily + employed. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These functions are described in the XSI Curses standard, Issue 4. + X/Open Curses, Issue 4 describes these functions. + + SVr4 <EM>curses</EM> describes a successful return value only as "an integer + value other than <STRONG>ERR</STRONG>". </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>. + <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG> describes comparable functions in the wide-character + <EM>curses</EM> configuration. - Comparable functions in the wide-character (ncursesw) library are - described in <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>. + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> - <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG> </PRE> <div class="nav"> <ul> diff --git a/doc/html/man/curs_insstr.3x.html b/doc/html/man/curs_insstr.3x.html index 7d4815a6914b..04e0239925e2 100644 --- a/doc/html/man/curs_insstr.3x.html +++ b/doc/html/man/curs_insstr.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2019,2020 Thomas E. Dickey * + * Copyright 2019-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,28 +27,28 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_insstr.3x,v 1.26 2020/10/18 00:20:36 tom Exp @ + * @Id: curs_insstr.3x,v 1.51 2024/04/20 21:20:07 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_insstr 3x</TITLE> +<TITLE>curs_insstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_insstr 3x</H1> +<H1 class="no-header">curs_insstr 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> +<STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> <STRONG>insstr</STRONG>, <STRONG>insnstr</STRONG>, <STRONG>winsstr</STRONG>, <STRONG>winsnstr</STRONG>, <STRONG>mvinsstr</STRONG>, <STRONG>mvinsnstr</STRONG>, <STRONG>mvwinsstr</STRONG>, - <STRONG>mvwinsnstr</STRONG> - insert string before cursor in a <STRONG>curses</STRONG> window + <STRONG>mvwinsnstr</STRONG> - insert a string in a <EM>curses</EM> window </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -66,51 +66,62 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> These routines insert a character string (as many characters as will - fit on the line) before the character under the cursor. All characters - to the right of the cursor are shifted right with the possibility of - the rightmost characters on the line being lost. The cursor position - does not change (after moving to <EM>y</EM>, <EM>x</EM>, if specified). The functions - with <EM>n</EM> as the last argument insert a leading substring of at most <EM>n</EM> - characters. If <EM>n</EM><=0, then the entire string is inserted. + fit on the line) before the character under the cursor, as if calling + <STRONG><A HREF="curs_insch.3x.html">winsch(3x)</A></STRONG>. All characters to the right of the cursor are shifted + right, with the possibility of the rightmost characters on the line + being lost. No wrapping is performed. + + The cursor position does not change (after moving to <EM>y</EM>, <EM>x</EM>, if + specified). - Special characters are handled as in <STRONG>addch</STRONG>. + The functions with <EM>n</EM> as the last argument insert a leading substring of + at most <EM>n</EM> characters. If <EM>n</EM> is less than zero, the entire string is + inserted (stopping on a NUL character). + + Special characters are handled as in <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG>. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - All routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> - (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful - completion, unless otherwise noted in the preceding routine - descriptions. + All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success. + + X/Open Curses does not specify any error conditions. This + implementation returns an error - X/Open defines no error conditions. In this implementation, if the - window parameter is null or the str parameter is null, an error is - returned. + <STRONG>o</STRONG> if the <EM>win</EM> parameter is null or - Functions with a "mv" prefix first perform a cursor movement using - <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if - the window pointer is null. + <STRONG>o</STRONG> if the <EM>str</EM> parameter is null or + + <STRONG>o</STRONG> the <STRONG><A HREF="curs_insch.3x.html">winsch(3x)</A></STRONG> function returns an error. + + Functions prefixed with "mv" first perform cursor movement and fail if + the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries. </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - Note that all but <STRONG>winsnstr</STRONG> may be macros. + All but <STRONG>winsnstr</STRONG> may be macros. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These functions are described in the XSI Curses standard, Issue 4, - which adds const qualifiers to the arguments. + These functions are described in X/Open Curses, Issue 4, which adds + <EM>const</EM> qualifiers to the arguments. The Single Unix Specification, Version 2 states that <STRONG>insnstr</STRONG> and <STRONG>winsnstr</STRONG> perform wrapping. This is probably an error, since it makes this group of functions inconsistent. Also, no implementation of curses documents this inconsistency. + X/Open states that the entire string is inserted if <EM>n</EM> is less than 1. + This is probably an error, because it is inconsistent with other + functions, and differs from the SVr4 and X/Open implementations on + Solaris. + </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>. + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>, <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> - <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> </PRE> <div class="nav"> <ul> diff --git a/doc/html/man/curs_instr.3x.html b/doc/html/man/curs_instr.3x.html index cd6e72787b98..50d0f20e2d9b 100644 --- a/doc/html/man/curs_instr.3x.html +++ b/doc/html/man/curs_instr.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,28 +27,28 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_instr.3x,v 1.22 2020/10/18 00:18:27 tom Exp @ + * @Id: curs_instr.3x,v 1.51 2024/04/20 21:24:19 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_instr 3x</TITLE> +<TITLE>curs_instr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_instr 3x</H1> +<H1 class="no-header">curs_instr 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG> <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG> +<STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> <STRONG>instr</STRONG>, <STRONG>innstr</STRONG>, <STRONG>winstr</STRONG>, <STRONG>winnstr</STRONG>, <STRONG>mvinstr</STRONG>, <STRONG>mvinnstr</STRONG>, <STRONG>mvwinstr</STRONG>, <STRONG>mvwinnstr</STRONG> - - get a string of characters from a <STRONG>curses</STRONG> window + - get a string from a <EM>curses</EM> window </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -66,47 +66,57 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - These routines return a string of characters in <EM>str</EM>, extracted starting - at the current cursor position in the named window. Attributes are - stripped from the characters. The four functions with <EM>n</EM> as the last - argument return a leading substring at most <EM>n</EM> characters long - (exclusive of the trailing NUL). + These routines return a string of characters in <EM>str</EM>, starting at the + current cursor position in the named window. Attributes are stripped + from the characters. + + The four functions with <EM>n</EM> as the last argument return a leading + substring at most <EM>n</EM> characters long (exclusive of the trailing NUL). + Transfer stops at the end of the current line, or when <EM>n</EM> characters + have been stored at the location referenced by <EM>str</EM>. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - All of the functions return <STRONG>ERR</STRONG> upon failure, or the number of + All of the functions return <STRONG>ERR</STRONG> upon failure, or the number of characters actually read into the string. - X/Open Curses defines no error conditions. In this implementation: + X/Open Curses defines no error conditions. This implementation returns + an error - <STRONG>o</STRONG> If the <EM>win</EM> parameter is null, an error is returned, + <STRONG>o</STRONG> if the <EM>win</EM> parameter is null or - <STRONG>o</STRONG> If the <EM>chstr</EM> parameter is null, an error is returned, + <STRONG>o</STRONG> if the <EM>chstr</EM> parameter is null. - Functions with a "mv" prefix first perform a cursor movement using - <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if - the window pointer is null. + Functions prefixed with "mv" first perform cursor movement and fail if + the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries. </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - Note that all routines except <STRONG>winnstr</STRONG> may be macros. + All routines except <STRONG>winnstr</STRONG> may be macros. + + Reading a line that overflows the array pointed to by <EM>str</EM> with <STRONG>instr</STRONG>, + <STRONG>mvinstr</STRONG>, <STRONG>mvwinstr</STRONG> or <STRONG>winstr</STRONG> causes undefined results. Therefore, the + use of <STRONG>innstr</STRONG>, <STRONG>mvinnstr</STRONG>, <STRONG>mvwinnstr</STRONG>, or <STRONG>winnstr</STRONG> is recommended. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - SVr4 does not document whether a length limit includes or excludes the + SVr4 does not document whether a length limit includes or excludes the trailing NUL. - The ncurses library extends the XSI description by allowing a negative - value for <EM>n</EM>. In this case, the functions return the string ending at - the right margin. + The <EM>ncurses</EM> library extends the X/Open Curses description by allowing a + negative value for <EM>n</EM>. In this case, the functions return the string + ending at the right margin. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>. + <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library + in its wide-character configuration (<EM>ncursesw</EM>). + + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>, <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> - <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG> </PRE> <div class="nav"> <ul> diff --git a/doc/html/man/curs_inwstr.3x.html b/doc/html/man/curs_inwstr.3x.html index 3110967aeebe..6c79b595fbeb 100644 --- a/doc/html/man/curs_inwstr.3x.html +++ b/doc/html/man/curs_inwstr.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 2002-2012,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,28 +27,28 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_inwstr.3x,v 1.14 2020/10/17 23:22:11 tom Exp @ + * @Id: curs_inwstr.3x,v 1.41 2024/04/20 21:20:07 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_inwstr 3x</TITLE> +<TITLE>curs_inwstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_inwstr 3x</H1> +<H1 class="no-header">curs_inwstr 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> +<STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> <STRONG>inwstr</STRONG>, <STRONG>innwstr</STRONG>, <STRONG>winwstr</STRONG>, <STRONG>winnwstr</STRONG>, <STRONG>mvinwstr</STRONG>, <STRONG>mvinnwstr</STRONG>, <STRONG>mvwinwstr</STRONG>, - <STRONG>mvwinnwstr</STRONG> - get a string of <STRONG>wchar_t</STRONG> characters from a curses window + <STRONG>mvwinnwstr</STRONG> - get a wide-character string from a <EM>curses</EM> window </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -67,7 +67,7 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> These routines return a string of <STRONG>wchar_t</STRONG> wide characters in <EM>wstr</EM>, - extracted starting at the current cursor position in the named window. + starting at the current cursor position in the named window. The four functions with <EM>n</EM> as the last argument return a leading substring at most <EM>n</EM> characters long (exclusive of the trailing NUL). @@ -78,39 +78,58 @@ character, an error is generated. +</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> + All routines return <STRONG>ERR</STRONG> upon failure. Upon successful completion, the + *<STRONG>inwstr</STRONG> routines return <STRONG>OK</STRONG>, and the *<STRONG>innwstr</STRONG> routines return the number + of characters read into the string. + + X/Open defines no error conditions. This implementation returns an + error + + <STRONG>o</STRONG> if the <EM>win</EM> parameter is null or + + <STRONG>o</STRONG> if the <EM>wstr</EM> parameter is null, or + + <STRONG>o</STRONG> if no characters could be read. + + Functions prefixed with "mv" first perform cursor movement and fail if + the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries. + + </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> All routines except <STRONG>winnwstr</STRONG> may be macros. - Each cell in the window holds a complex character (i.e., base- and - combining-characters) together with attributes and color. These - functions store only the wide characters, ignoring attributes and - color. Use <STRONG>in_wchstr</STRONG> to return the complex characters from a window. + Each cell in the window holds a complex character (a spacing character + and zero or more non-spacing characters) together with attributes and + color. These functions store only the wide characters, ignoring + attributes and color. Use <STRONG>in_wchstr</STRONG> to return the complex characters + from a window. + Reading a line that overflows the array pointed to by <EM>wstr</EM> with <STRONG>inwstr</STRONG>, + <STRONG>mvinwstr</STRONG>, <STRONG>mvwinwstr</STRONG> or <STRONG>winwstr</STRONG> causes undefined results. Therefore, + the use of <STRONG>innwstr</STRONG>, <STRONG>mvinnwstr</STRONG>, <STRONG>mvwinnwstr</STRONG>, or <STRONG>winnwstr</STRONG> is recommended. -</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - All routines return <STRONG>ERR</STRONG> upon failure. Upon successful completion, the - *<STRONG>inwstr</STRONG> routines return <STRONG>OK</STRONG>, and the *<STRONG>innwstr</STRONG> routines return the number - of characters read into the string. - Functions with a "mv" prefix first perform a cursor movement using - <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if - the window pointer is null. +</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> + These functions are described in X/Open Curses, Issue 4. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>, <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>, <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>, + <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG> - <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> </PRE> <div class="nav"> <ul> <li><a href="#h2-NAME">NAME</a></li> <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> +<li><a href="#h2-NOTES">NOTES</a></li> +<li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> diff --git a/doc/html/man/curs_kernel.3x.html b/doc/html/man/curs_kernel.3x.html index d8932e326a91..90042caf9d2e 100644 --- a/doc/html/man/curs_kernel.3x.html +++ b/doc/html/man/curs_kernel.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,29 +27,29 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_kernel.3x,v 1.29 2020/10/17 23:22:35 tom Exp @ + * @Id: curs_kernel.3x,v 1.61 2024/04/20 21:24:19 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_kernel 3x</TITLE> +<TITLE>curs_kernel 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_kernel 3x</H1> +<H1 class="no-header">curs_kernel 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> +<STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>def_prog_mode</STRONG>, <STRONG>def_shell_mode</STRONG>, <STRONG>reset_prog_mode</STRONG>, <STRONG>reset_shell_mode</STRONG>, - <STRONG>resetty</STRONG>, <STRONG>savetty</STRONG>, <STRONG>getsyx</STRONG>, <STRONG>setsyx</STRONG>, <STRONG>ripoffline</STRONG>, <STRONG>curs_set</STRONG>, <STRONG>napms</STRONG> - low- - level <STRONG>curses</STRONG> routines + <STRONG>def_prog_mode</STRONG>, <STRONG>def_shell_mode</STRONG>, <STRONG>reset_prog_mode</STRONG>, <STRONG>reset_shell_mode</STRONG>, + <STRONG>resetty</STRONG>, <STRONG>savetty</STRONG>, <STRONG>getsyx</STRONG>, <STRONG>setsyx</STRONG>, <STRONG>ripoffline</STRONG>, <STRONG>curs_set</STRONG>, <STRONG>napms</STRONG> - low- + level <EM>curses</EM> routines </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -73,58 +73,58 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - The following routines give low-level access to various <STRONG>curses</STRONG> capabil- - ities. These routines typically are used inside library routines. + The following routines give low-level access to various <STRONG>curses</STRONG> + capabilities. These routines typically are used inside library + routines. -</PRE><H3><a name="h3-def_prog_mode_-def_shell_mode">def_prog_mode, def_shell_mode</a></H3><PRE> +</PRE><H3><a name="h3-def_prog_mode_def_shell_mode">def_prog_mode, def_shell_mode</a></H3><PRE> The <STRONG>def_prog_mode</STRONG> and <STRONG>def_shell_mode</STRONG> routines save the current terminal modes as the "program" (in <STRONG>curses</STRONG>) or "shell" (not in <STRONG>curses</STRONG>) state for use by the <STRONG>reset_prog_mode</STRONG> and <STRONG>reset_shell_mode</STRONG> routines. This is done - automatically by <STRONG>initscr</STRONG>. There is one such save area for each screen + automatically by <STRONG>initscr</STRONG>. There is one such save area for each screen context allocated by <STRONG>newterm</STRONG>. -</PRE><H3><a name="h3-reset_prog_mode_-reset_shell_mode">reset_prog_mode, reset_shell_mode</a></H3><PRE> - The <STRONG>reset_prog_mode</STRONG> and <STRONG>reset_shell_mode</STRONG> routines restore the terminal - to "program" (in <STRONG>curses</STRONG>) or "shell" (out of <STRONG>curses</STRONG>) state. These are - done automatically by <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> and, after an <STRONG>endwin</STRONG>, by <STRONG>doupdate</STRONG>, so +</PRE><H3><a name="h3-reset_prog_mode_reset_shell_mode">reset_prog_mode, reset_shell_mode</a></H3><PRE> + The <STRONG>reset_prog_mode</STRONG> and <STRONG>reset_shell_mode</STRONG> routines restore the terminal + to "program" (in <STRONG>curses</STRONG>) or "shell" (out of <STRONG>curses</STRONG>) state. These are + done automatically by <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> and, after an <STRONG>endwin</STRONG>, by <STRONG>doupdate</STRONG>, so they normally are not called. -</PRE><H3><a name="h3-resetty_-savetty">resetty, savetty</a></H3><PRE> - The <STRONG>resetty</STRONG> and <STRONG>savetty</STRONG> routines save and restore the state of the ter- - minal modes. <STRONG>savetty</STRONG> saves the current state in a buffer and <STRONG>resetty</STRONG> - restores the state to what it was at the last call to <STRONG>savetty</STRONG>. +</PRE><H3><a name="h3-resetty_savetty">resetty, savetty</a></H3><PRE> + The <STRONG>resetty</STRONG> and <STRONG>savetty</STRONG> routines save and restore the state of the + terminal modes. <STRONG>savetty</STRONG> saves the current state in a buffer and + <STRONG>resetty</STRONG> restores the state to what it was at the last call to <STRONG>savetty</STRONG>. </PRE><H3><a name="h3-getsyx">getsyx</a></H3><PRE> - The <STRONG>getsyx</STRONG> routine returns the current coordinates of the <EM>virtual</EM> - <EM>screen</EM> cursor in <EM>y</EM> and <EM>x</EM>. If <STRONG>leaveok</STRONG> is currently <STRONG>TRUE</STRONG>, then <STRONG>-1</STRONG>,<STRONG>-1</STRONG> is + The <STRONG>getsyx</STRONG> routine returns the current coordinates of the <EM>virtual</EM> + <EM>screen</EM> cursor in <EM>y</EM> and <EM>x</EM>. If <STRONG>leaveok</STRONG> is currently <STRONG>TRUE</STRONG>, then <STRONG>-1</STRONG>,<STRONG>-1</STRONG> is returned. If lines have been removed from the top of the screen, using - <STRONG>ripoffline</STRONG>, <EM>y</EM> and <EM>x</EM> include these lines; therefore, <EM>y</EM> and <EM>x</EM> should be + <STRONG>ripoffline</STRONG>, <EM>y</EM> and <EM>x</EM> include these lines; therefore, <EM>y</EM> and <EM>x</EM> should be used only as arguments for <STRONG>setsyx</STRONG>. Few applications will use this feature, most use <STRONG>getyx</STRONG> instead. </PRE><H3><a name="h3-setsyx">setsyx</a></H3><PRE> - The <STRONG>setsyx</STRONG> routine sets the <EM>virtual</EM> <EM>screen</EM> cursor to <EM>y</EM>, <EM>x</EM>. If <EM>y</EM> and <EM>x</EM> - are both <STRONG>-1</STRONG>, then <STRONG>leaveok</STRONG> is set. The two routines <STRONG>getsyx</STRONG> and <STRONG>setsyx</STRONG> - are designed to be used by a library routine, which manipulates <STRONG>curses</STRONG> - windows but does not want to change the current position of the pro- - gram's cursor. The library routine would call <STRONG>getsyx</STRONG> at the beginning, - do its manipulation of its own windows, do a <STRONG>wnoutrefresh</STRONG> on its win- - dows, call <STRONG>setsyx</STRONG>, and then call <STRONG>doupdate</STRONG>. + The <STRONG>setsyx</STRONG> routine sets the <EM>virtual</EM> <EM>screen</EM> cursor to <EM>y</EM>, <EM>x</EM>. If <EM>y</EM> and <EM>x</EM> + are both <STRONG>-1</STRONG>, then <STRONG>leaveok</STRONG> is set. The two routines <STRONG>getsyx</STRONG> and <STRONG>setsyx</STRONG> + are designed to be used by a library routine, which manipulates <STRONG>curses</STRONG> + windows but does not want to change the current position of the + program's cursor. The library routine would call <STRONG>getsyx</STRONG> at the + beginning, do its manipulation of its own windows, do a <STRONG>wnoutrefresh</STRONG> on + its windows, call <STRONG>setsyx</STRONG>, and then call <STRONG>doupdate</STRONG>. Few applications will use this feature, most use <STRONG>wmove</STRONG> instead. </PRE><H3><a name="h3-ripoffline">ripoffline</a></H3><PRE> - The <STRONG>ripoffline</STRONG> routine provides access to the same facility that - <STRONG>slk_init</STRONG> [see <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>] uses to reduce the size of the screen. - <STRONG>ripoffline</STRONG> must be called before <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> is called, to pre- - pare these initial actions: + <STRONG>ripoffline</STRONG> provides access to the same facility that <STRONG><A HREF="curs_slk.3x.html">slk_init(3x)</A></STRONG> uses + to reduce the size of the screen. <STRONG>ripoffline</STRONG> must be called before + <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> is called, to prepare these initial actions: <STRONG>o</STRONG> If <EM>line</EM> is positive, a line is removed from the top of <STRONG>stdscr</STRONG>. @@ -138,9 +138,9 @@ <STRONG>o</STRONG> an integer with the number of columns in the window. Inside this initialization routine, the integer variables <STRONG>LINES</STRONG> and - <STRONG>COLS</STRONG> (defined in <STRONG><curses.h></STRONG>) are not guaranteed to be accurate and <STRONG>wre-</STRONG> - <STRONG>fresh</STRONG> or <STRONG>doupdate</STRONG> must not be called. It is allowable to call <STRONG>wnoutre-</STRONG> - <STRONG>fresh</STRONG> during the initialization routine. + <STRONG>COLS</STRONG> (defined in <STRONG><curses.h></STRONG>) are not guaranteed to be accurate and + <STRONG>wrefresh</STRONG> or <STRONG>doupdate</STRONG> must not be called. It is allowable to call + <STRONG>wnoutrefresh</STRONG> during the initialization routine. <STRONG>ripoffline</STRONG> can be called up to five times before calling <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>. @@ -154,13 +154,14 @@ </PRE><H3><a name="h3-napms">napms</a></H3><PRE> - The <STRONG>napms</STRONG> routine is used to sleep for <EM>ms</EM> milliseconds. + <STRONG>napms</STRONG> sleeps for <EM>ms</EM> milliseconds. If <EM>ms</EM> exceeds 30,000 (thirty + seconds), it is capped at that value. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> Except for <STRONG>curs_set</STRONG>, these routines always return <STRONG>OK</STRONG>. - <STRONG>curs_set</STRONG> returns the previous cursor state, or <STRONG>ERR</STRONG> if the requested + <STRONG>curs_set</STRONG> returns the previous cursor state, or <STRONG>ERR</STRONG> if the requested <EM>visibility</EM> is not supported. X/Open defines no error conditions. In this implementation @@ -171,40 +172,43 @@ <STRONG>ripoffline</STRONG> returns an error if the maximum number of ripped-off lines exceeds - the maximum (NRIPS = 5). + the maximum (5). </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> Note that <STRONG>getsyx</STRONG> is a macro, so <STRONG>&</STRONG> is not necessary before the variables <EM>y</EM> and <EM>x</EM>. - Older SVr4 man pages warn that the return value of <STRONG>curs_set</STRONG> "is cur- - rently incorrect". This implementation gets it right, but it may be + Older SVr4 man pages warn that the return value of <STRONG>curs_set</STRONG> "is + currently incorrect". This implementation gets it right, but it may be unwise to count on the correctness of the return value anywhere else. - Both ncurses and SVr4 will call <STRONG>curs_set</STRONG> in <STRONG>endwin</STRONG> if <STRONG>curs_set</STRONG> has been - called to make the cursor other than normal, i.e., either invisible or - very visible. There is no way for ncurses to determine the initial + Both <EM>ncurses</EM> and SVr4 will call <STRONG>curs_set</STRONG> in <STRONG>endwin</STRONG> if <STRONG>curs_set</STRONG> has been + called to make the cursor other than normal, i.e., either invisible or + very visible. There is no way for <EM>ncurses</EM> to determine the initial cursor state to restore that. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - The <EM>virtual</EM> <EM>screen</EM> functions <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> are not described in the - XSI Curses standard, Issue 4. All other functions are as described in - XSI Curses. + The <EM>virtual</EM> <EM>screen</EM> functions <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> are not described in + X/Open Curses, Issue 4. All other functions are as described in X/Open + Curses. - The SVr4 documentation describes <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> as having return - type int. This is misleading, as they are macros with no documented + The SVr4 documentation describes <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> as having return + type int. This is misleading, as they are macros with no documented semantics for the return value. + If interrupted, <EM>ncurses</EM> restarts <STRONG>napms</STRONG>. That, and the limitation to 30 + seconds, are different from other implementations. + </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, - <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>. + <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> - <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -212,9 +216,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a> <ul> -<li><a href="#h3-def_prog_mode_-def_shell_mode">def_prog_mode, def_shell_mode</a></li> -<li><a href="#h3-reset_prog_mode_-reset_shell_mode">reset_prog_mode, reset_shell_mode</a></li> -<li><a href="#h3-resetty_-savetty">resetty, savetty</a></li> +<li><a href="#h3-def_prog_mode_def_shell_mode">def_prog_mode, def_shell_mode</a></li> +<li><a href="#h3-reset_prog_mode_reset_shell_mode">reset_prog_mode, reset_shell_mode</a></li> +<li><a href="#h3-resetty_savetty">resetty, savetty</a></li> <li><a href="#h3-getsyx">getsyx</a></li> <li><a href="#h3-setsyx">setsyx</a></li> <li><a href="#h3-ripoffline">ripoffline</a></li> diff --git a/doc/html/man/curs_legacy.3x.html b/doc/html/man/curs_legacy.3x.html index c52be23be754..22f78dddbcf9 100644 --- a/doc/html/man/curs_legacy.3x.html +++ b/doc/html/man/curs_legacy.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2019,2020 Thomas E. Dickey * + * Copyright 2019-2023,2024 Thomas E. Dickey * * Copyright 2007-2015,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,27 +27,29 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_legacy.3x,v 1.12 2020/10/18 00:16:04 tom Exp @ + * @Id: curs_legacy.3x,v 1.32 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_legacy 3x</TITLE> +<TITLE>curs_legacy 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_legacy 3x</H1> +<H1 class="no-header">curs_legacy 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG> <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG> +<STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - curs_legacy - get <STRONG>curses</STRONG> cursor and window coordinates, attributes + <STRONG>getattrs</STRONG>, <STRONG>getbegx</STRONG>, <STRONG>getbegy</STRONG>, <STRONG>getcurx</STRONG>, <STRONG>getcury</STRONG>, <STRONG>getmaxx</STRONG>, <STRONG>getmaxy</STRONG>, + <STRONG>getparx</STRONG>, <STRONG>getpary</STRONG> - get <EM>curses</EM> cursor and window coordinates or + attributes (legacy) </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -69,7 +71,7 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - These legacy functions are simpler to use than the X/Open Curses + These legacy functions are simpler to use than the X/Open <EM>curses</EM> functions: <STRONG>o</STRONG> The <STRONG>getattrs</STRONG> function returns the same attribute data as <STRONG>wattr_get</STRONG>. @@ -100,12 +102,14 @@ </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - All of these interfaces are provided as macros and functions. The - macros are suppressed (and only the functions provided) when - <STRONG>NCURSES_OPAQUE</STRONG> is defined. The standard forms such as <STRONG>getyx</STRONG> must be - implemented as macros, and (in this implementation) are defined in - terms of the functions described here, to avoid reliance on internal - details of the WINDOW structure. + All of these interfaces are implemented as macros and functions. The + macros are suppressed (and only the functions provided) in an "opaque" + <EM>ncurses</EM> build, which defines the preprocessor symbol <STRONG>NCURSES_OPAQUE</STRONG>. + See section "ALTERNATE CONFIGURATIONS" in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>. + + The standard forms such as <STRONG>getyx</STRONG> <EM>must</EM> be implemented as macros, and (in + this implementation) are defined in terms of the functions described + here, to avoid reliance on internal details of the <EM>WINDOW</EM> structure. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> @@ -123,7 +127,7 @@ - <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG> </PRE> <div class="nav"> <ul> diff --git a/doc/html/man/curs_memleaks.3x.html b/doc/html/man/curs_memleaks.3x.html index 388d969a3146..085e3aba91d8 100644 --- a/doc/html/man/curs_memleaks.3x.html +++ b/doc/html/man/curs_memleaks.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2019-2020,2021 Thomas E. Dickey * + * Copyright 2019-2023,2024 Thomas E. Dickey * * Copyright 2008-2010,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,27 +27,27 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_memleaks.3x,v 1.11 2021/01/02 23:47:51 tom Exp @ + * @Id: curs_memleaks.3x,v 1.35 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_memleaks 3x</TITLE> +<TITLE>curs_memleaks 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_memleaks 3x</H1> +<H1 class="no-header">curs_memleaks 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG> <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG> +<STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>exit_curses</STRONG>, <STRONG>exit_terminfo</STRONG> - <STRONG>curses</STRONG> memory-leak checking + <STRONG>exit_curses</STRONG>, <STRONG>exit_terminfo</STRONG> - check for memory leaks in <EM>curses</EM> </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -57,7 +57,7 @@ <STRONG>#include</STRONG> <STRONG><term.h></STRONG> <STRONG>void</STRONG> <STRONG>exit_terminfo(int</STRONG> <EM>code</EM><STRONG>);</STRONG> - /* deprecated (intentionally not declared in curses.h or term.h) */ + <EM>/*</EM> <EM>deprecated</EM> <EM>(intentionally</EM> <EM>not</EM> <EM>declared</EM> <EM>in</EM> <EM>curses.h</EM> <EM>or</EM> <EM>term.h)</EM> <EM>*/</EM> <STRONG>void</STRONG> <STRONG>_nc_freeall(void);</STRONG> <STRONG>void</STRONG> <STRONG>_nc_free_and_exit(int</STRONG> <EM>code</EM><STRONG>);</STRONG> <STRONG>void</STRONG> <STRONG>_nc_free_tinfo(int</STRONG> <EM>code</EM><STRONG>);</STRONG> @@ -65,28 +65,28 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> These functions are used to simplify analysis of memory leaks in the - ncurses library. + <EM>ncurses</EM> library. Any implementation of curses must not free the memory associated with a screen, since (even after calling <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG>), it must be available for use in the next call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>. There are also chunks of memory - held for performance reasons. That makes it hard to analyze curses ap- - plications for memory leaks. When using the specially configured de- - bugging version of the ncurses library, applications can call functions - which free those chunks of memory, simplifying the process of memory- - leak checking. + held for performance reasons. That makes it hard to analyze curses + applications for memory leaks. When using the specially configured + debugging version of the <EM>ncurses</EM> library, applications can call + functions which free those chunks of memory, simplifying the process of + memory-leak checking. Some of the functions are named with a "_nc_" prefix because they are not intended for use in the non-debugging library: <STRONG>_nc_freeall</STRONG> - This frees (almost) all of the memory allocated by ncurses. + This frees (almost) all of the memory allocated by <EM>ncurses</EM>. <STRONG>_nc_free_and_exit</STRONG> - This frees the memory allocated by ncurses (like <STRONG>_nc_freeall</STRONG>), and + This frees the memory allocated by <EM>ncurses</EM> (like <STRONG>_nc_freeall</STRONG>), and exits the program. It is preferred over <STRONG>_nc_freeall</STRONG> since some of - that memory may be required to keep the application running. Sim- - ply exiting (with the given exit-code) is safer. + that memory may be required to keep the application running. + Simply exiting (with the given exit-code) is safer. <STRONG>_nc_free_tinfo</STRONG> Use this function if only the low-level terminfo functions (and @@ -94,9 +94,9 @@ the program after freeing memory. The functions prefixed "_nc" are normally not available; they must be - configured into the library at build time using the <STRONG>--disable-leaks</STRONG> op- - tion. That compiles-in code that frees memory that normally would not - be freed. + configured into the library at build time using the <STRONG>--disable-leaks</STRONG> + option. That compiles-in code that frees memory that normally would + not be freed. The <STRONG>exit_curses</STRONG> and <STRONG>exit_terminfo</STRONG> functions call <STRONG>_nc_free_and_exit</STRONG> and <STRONG>_nc_free_tinfo</STRONG> if the library is configured to support memory-leak @@ -109,16 +109,30 @@ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These functions are not part of X/Open Curses; nor do other implementa- - tions of curses provide a similar feature. + These functions are not part of X/Open Curses; nor do other + implementations of curses provide a similar feature. + + In any implementation of X/Open Curses, an application can free part of + the memory allocated by curses: + + <STRONG>o</STRONG> The portable part of <STRONG>exit_curses</STRONG> can be freed using <STRONG>delscreen</STRONG>, + passing the <EM>SCREEN</EM> pointer returned by <STRONG>newterm</STRONG>. + + In some implementations, there is a global variable <STRONG>sp</STRONG> which could + be used, e.g., if the screen were only initialized using <STRONG>initscr</STRONG>. + + <STRONG>o</STRONG> The portable part of <STRONG>exit_terminfo</STRONG> can be freed using <STRONG>del_curterm</STRONG>. + + In this case, there is a global variable <STRONG>cur_term</STRONG> which can be used + as parameter. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>. + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> - <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG> </PRE> <div class="nav"> <ul> diff --git a/doc/html/man/curs_mouse.3x.html b/doc/html/man/curs_mouse.3x.html index b62defdfbe14..cdb42f278832 100644 --- a/doc/html/man/curs_mouse.3x.html +++ b/doc/html/man/curs_mouse.3x.html @@ -1,7 +1,7 @@ -<!-- +<!-- * t **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2015,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,28 +28,28 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_mouse.3x,v 1.53 2020/10/17 23:25:08 tom Exp @ + * @Id: curs_mouse.3x,v 1.98 2024/04/20 19:02:07 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_mouse 3x</TITLE> +<TITLE>curs_mouse 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_mouse 3x</H1> +<H1 class="no-header">curs_mouse 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> +<STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>has_mouse</STRONG>, <STRONG>getmouse</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>wenclose</STRONG>, <STRONG>mouse_trafo</STRONG>, - <STRONG>wmouse_trafo</STRONG>, <STRONG>mouseinterval</STRONG> - mouse interface through curses + <STRONG>has_mouse</STRONG>, <STRONG>getmouse</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>wenclose</STRONG>, <STRONG>mouse_trafo</STRONG>, + <STRONG>wmouse_trafo</STRONG>, <STRONG>mouseinterval</STRONG> - get mouse events in <EM>curses</EM> </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -65,11 +65,11 @@ <STRONG>bool</STRONG> <STRONG>has_mouse(void);</STRONG> + <STRONG>mmask_t</STRONG> <STRONG>mousemask(mmask_t</STRONG> <EM>newmask</EM><STRONG>,</STRONG> <STRONG>mmask_t</STRONG> <STRONG>*</STRONG><EM>oldmask</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>getmouse(MEVENT</STRONG> <STRONG>*</STRONG><EM>event</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>ungetmouse(MEVENT</STRONG> <STRONG>*</STRONG><EM>event</EM><STRONG>);</STRONG> - <STRONG>mmask_t</STRONG> <STRONG>mousemask(mmask_t</STRONG> <EM>newmask</EM><STRONG>,</STRONG> <STRONG>mmask_t</STRONG> <STRONG>*</STRONG><EM>oldmask</EM><STRONG>);</STRONG> - <STRONG>bool</STRONG> <STRONG>wenclose(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG> <STRONG>bool</STRONG> <STRONG>mouse_trafo(int*</STRONG> <EM>pY</EM><STRONG>,</STRONG> <STRONG>int*</STRONG> <EM>pX</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>to</EM><STRONG>_</STRONG><EM>screen</EM><STRONG>);</STRONG> @@ -85,61 +85,76 @@ <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> input stream. +</PRE><H3><a name="h3-has_mouse">has_mouse</a></H3><PRE> + The <STRONG>has_mouse</STRONG> function returns <STRONG>TRUE</STRONG> if the mouse driver has been + successfully initialized, and <STRONG>FALSE</STRONG> otherwise. + + Mouse events are ignored when input is in cooked mode, and cause an + error beep when cooked mode is being simulated in a window by a + function such as <STRONG>getstr</STRONG> that expects a linefeed for input-loop + termination. + + </PRE><H3><a name="h3-mousemask">mousemask</a></H3><PRE> - To make mouse events visible, use the <STRONG>mousemask</STRONG> function. This will - set the mouse events to be reported. By default, no mouse events are - reported. The function will return a mask to indicate which of the - specified mouse events can be reported; on complete failure it returns - 0. If oldmask is non-NULL, this function fills the indicated location - with the previous value of the given window's mouse event mask. - - As a side effect, setting a zero mousemask may turn off the mouse + To make mouse events visible, use the <STRONG>mousemask</STRONG> function. This sets + the mouse events to be reported. By default, no mouse events are + reported. + + <STRONG>o</STRONG> The function returns an updated copy of <EM>newmask</EM> to indicate which + of the specified mouse events can be reported. + + If the screen has not been initialized, or if the terminal does not + support mouse-events, this function returns 0. + + <STRONG>o</STRONG> If <EM>oldmask</EM> is non-<STRONG>NULL</STRONG>, this function fills the indicated location + with the previous value of the current screen's mouse event mask. + + As a side effect, setting a zero mouse mask may turn off the mouse pointer; setting a nonzero mask may turn it on. Whether this happens is device-dependent. -</PRE><H3><a name="h3-Mouse-events">Mouse events</a></H3><PRE> +</PRE><H3><a name="h3-Mouse-Events">Mouse Events</a></H3><PRE> Here are the mouse event type masks which may be defined: - <EM>Name</EM> <EM>Description</EM> - --------------------------------------------------------------------- - BUTTON1_PRESSED mouse button 1 down - BUTTON1_RELEASED mouse button 1 up - BUTTON1_CLICKED mouse button 1 clicked - BUTTON1_DOUBLE_CLICKED mouse button 1 double clicked - BUTTON1_TRIPLE_CLICKED mouse button 1 triple clicked - --------------------------------------------------------------------- - BUTTON2_PRESSED mouse button 2 down - BUTTON2_RELEASED mouse button 2 up - BUTTON2_CLICKED mouse button 2 clicked - - BUTTON2_DOUBLE_CLICKED mouse button 2 double clicked - BUTTON2_TRIPLE_CLICKED mouse button 2 triple clicked - --------------------------------------------------------------------- - BUTTON3_PRESSED mouse button 3 down - BUTTON3_RELEASED mouse button 3 up - BUTTON3_CLICKED mouse button 3 clicked - BUTTON3_DOUBLE_CLICKED mouse button 3 double clicked - BUTTON3_TRIPLE_CLICKED mouse button 3 triple clicked - --------------------------------------------------------------------- - BUTTON4_PRESSED mouse button 4 down - BUTTON4_RELEASED mouse button 4 up - BUTTON4_CLICKED mouse button 4 clicked - BUTTON4_DOUBLE_CLICKED mouse button 4 double clicked - BUTTON4_TRIPLE_CLICKED mouse button 4 triple clicked - --------------------------------------------------------------------- - BUTTON5_PRESSED mouse button 5 down - BUTTON5_RELEASED mouse button 5 up - BUTTON5_CLICKED mouse button 5 clicked - BUTTON5_DOUBLE_CLICKED mouse button 5 double clicked - BUTTON5_TRIPLE_CLICKED mouse button 5 triple clicked - --------------------------------------------------------------------- - BUTTON_SHIFT shift was down during button state change - BUTTON_CTRL control was down during button state change - BUTTON_ALT alt was down during button state change - ALL_MOUSE_EVENTS report all button state changes - REPORT_MOUSE_POSITION report mouse movement - --------------------------------------------------------------------- + <STRONG>Name</STRONG> <STRONG>Description</STRONG> + ------------------------------------------------------------------------ + <STRONG>BUTTON1_PRESSED</STRONG> mouse button 1 down + <STRONG>BUTTON1_RELEASED</STRONG> mouse button 1 up + <STRONG>BUTTON1_CLICKED</STRONG> mouse button 1 clicked + <STRONG>BUTTON1_DOUBLE_CLICKED</STRONG> mouse button 1 double clicked + <STRONG>BUTTON1_TRIPLE_CLICKED</STRONG> mouse button 1 triple clicked + ------------------------------------------------------------------------ + <STRONG>BUTTON2_PRESSED</STRONG> mouse button 2 down + <STRONG>BUTTON2_RELEASED</STRONG> mouse button 2 up + <STRONG>BUTTON2_CLICKED</STRONG> mouse button 2 clicked + <STRONG>BUTTON2_DOUBLE_CLICKED</STRONG> mouse button 2 double clicked + <STRONG>BUTTON2_TRIPLE_CLICKED</STRONG> mouse button 2 triple clicked + ------------------------------------------------------------------------ + <STRONG>BUTTON3_PRESSED</STRONG> mouse button 3 down + <STRONG>BUTTON3_RELEASED</STRONG> mouse button 3 up + <STRONG>BUTTON3_CLICKED</STRONG> mouse button 3 clicked + <STRONG>BUTTON3_DOUBLE_CLICKED</STRONG> mouse button 3 double clicked + <STRONG>BUTTON3_TRIPLE_CLICKED</STRONG> mouse button 3 triple clicked + ------------------------------------------------------------------------ + <STRONG>BUTTON4_PRESSED</STRONG> mouse button 4 down + <STRONG>BUTTON4_RELEASED</STRONG> mouse button 4 up + <STRONG>BUTTON4_CLICKED</STRONG> mouse button 4 clicked + <STRONG>BUTTON4_DOUBLE_CLICKED</STRONG> mouse button 4 double clicked + <STRONG>BUTTON4_TRIPLE_CLICKED</STRONG> mouse button 4 triple clicked + ------------------------------------------------------------------------ + <STRONG>BUTTON5_PRESSED</STRONG> mouse button 5 down + <STRONG>BUTTON5_RELEASED</STRONG> mouse button 5 up + <STRONG>BUTTON5_CLICKED</STRONG> mouse button 5 clicked + <STRONG>BUTTON5_DOUBLE_CLICKED</STRONG> mouse button 5 double clicked + <STRONG>BUTTON5_TRIPLE_CLICKED</STRONG> mouse button 5 triple clicked + ------------------------------------------------------------------------ + <STRONG>BUTTON_SHIFT</STRONG> shift was down during button state change + <STRONG>BUTTON_CTRL</STRONG> control was down during button state change + <STRONG>BUTTON_ALT</STRONG> alt was down during button state change + <STRONG>ALL_MOUSE_EVENTS</STRONG> report all button state changes + <STRONG>REPORT_MOUSE_POSITION</STRONG> report mouse movement + ------------------------------------------------------------------------ </PRE><H3><a name="h3-getmouse">getmouse</a></H3><PRE> @@ -149,11 +164,11 @@ event off the queue, call <STRONG>getmouse</STRONG>. This function will return <STRONG>OK</STRONG> if a mouse event is actually visible in the given window, <STRONG>ERR</STRONG> otherwise. When <STRONG>getmouse</STRONG> returns <STRONG>OK</STRONG>, the data deposited as y and x in the event - structure coordinates will be screen-relative character-cell coordi- - nates. The returned state mask will have exactly one bit set to indi- - cate the event type. The corresponding data in the queue is marked in- - valid. A subsequent call to <STRONG>getmouse</STRONG> will retrieve the next older item - from the queue. + structure coordinates will be screen-relative character-cell + coordinates. The returned state mask will have exactly one bit set to + indicate the event type. The corresponding data in the queue is marked + invalid. A subsequent call to <STRONG>getmouse</STRONG> will retrieve the next older + item from the queue. </PRE><H3><a name="h3-ungetmouse">ungetmouse</a></H3><PRE> @@ -168,73 +183,83 @@ <STRONG>TRUE</STRONG> if it is and <STRONG>FALSE</STRONG> otherwise. It is useful for determining what subset of the screen windows enclose the location of a mouse event. + If the parameter is a pad, <STRONG>wenclose</STRONG> uses the most recent screen + coordinates used for this pad in <STRONG><A HREF="curs_pad.3x.html">prefresh(3x)</A></STRONG> or <STRONG><A HREF="curs_pad.3x.html">pnoutrefresh(3x)</A></STRONG>. + </PRE><H3><a name="h3-wmouse_trafo">wmouse_trafo</a></H3><PRE> - The <STRONG>wmouse_trafo</STRONG> function transforms a given pair of coordinates from - stdscr-relative coordinates to coordinates relative to the given window - or vice versa. The resulting stdscr-relative coordinates are not al- - ways identical to window-relative coordinates due to the mechanism to - reserve lines on top or bottom of the screen for other purposes (see - the <STRONG>ripoffline</STRONG> and <STRONG><A HREF="curs_slk.3x.html">slk_init(3x)</A></STRONG> calls, for example). - - <STRONG>o</STRONG> If the parameter <STRONG>to_screen</STRONG> is <STRONG>TRUE</STRONG>, the pointers <STRONG>pY,</STRONG> <STRONG>pX</STRONG> must refer- - ence the coordinates of a location inside the window <STRONG>win</STRONG>. They are - converted to window-relative coordinates and returned through the - pointers. If the conversion was successful, the function returns - <STRONG>TRUE</STRONG>. - - <STRONG>o</STRONG> If one of the parameters was NULL or the location is not inside the + The <STRONG>wmouse_trafo</STRONG> function transforms a given pair of coordinates from + <STRONG>stdscr</STRONG>-relative coordinates to coordinates relative to the given window + or vice versa. The resulting <STRONG>stdscr</STRONG>-relative coordinates are not + always identical to screen coordinates due to the mechanism to reserve + lines on top or bottom of the screen for other purposes (see the + <STRONG><A HREF="curs_kernel.3x.html">ripoffline(3x)</A></STRONG> and <STRONG><A HREF="curs_slk.3x.html">slk_init(3x)</A></STRONG> calls, for example). + + <STRONG>o</STRONG> If the parameter <EM>to</EM><STRONG>_</STRONG><EM>screen</EM> is <STRONG>TRUE</STRONG>, the pointers <EM>pY,</EM> <EM>pX</EM> must + reference the coordinates of a location inside the window <EM>win</EM>. + They are converted to <STRONG>stdscr</STRONG>-relative coordinates and returned + through the pointers. If the conversion was successful, the + function returns <STRONG>TRUE</STRONG>. + + If one of the parameters was <STRONG>NULL</STRONG> or the location is not inside the window, <STRONG>FALSE</STRONG> is returned. - <STRONG>o</STRONG> If <STRONG>to_screen</STRONG> is <STRONG>FALSE</STRONG>, the pointers <STRONG>pY,</STRONG> <STRONG>pX</STRONG> must reference window- - relative coordinates. They are converted to stdscr-relative coor- - dinates if the window <STRONG>win</STRONG> encloses this point. In this case the - function returns <STRONG>TRUE</STRONG>. + <STRONG>o</STRONG> If <EM>to</EM><STRONG>_</STRONG><EM>screen</EM> is <STRONG>FALSE</STRONG>, the pointers <EM>pY,</EM> <EM>pX</EM> must reference + <STRONG>stdscr</STRONG>-relative coordinates. They are converted to window-relative + coordinates if the window <EM>win</EM> encloses this point. In this case + the function returns <STRONG>TRUE</STRONG>. - <STRONG>o</STRONG> If one of the parameters is NULL or the point is not inside the - window, <STRONG>FALSE</STRONG> is returned. The referenced coordinates are only re- - placed by the converted coordinates if the transformation was suc- - cessful. + If one of the parameters is <STRONG>NULL</STRONG> or the point is not inside the + window, <STRONG>FALSE</STRONG> is returned. + + The referenced coordinates are only replaced by the converted + coordinates if the transformation was successful. </PRE><H3><a name="h3-mouse_trafo">mouse_trafo</a></H3><PRE> The <STRONG>mouse_trafo</STRONG> function performs the same translation as <STRONG>wmouse_trafo</STRONG>, - using stdscr for <STRONG>win</STRONG>. + using <STRONG>stdscr</STRONG> for <EM>win</EM>. </PRE><H3><a name="h3-mouseinterval">mouseinterval</a></H3><PRE> The <STRONG>mouseinterval</STRONG> function sets the maximum time (in thousands of a second) that can elapse between press and release events for them to be - recognized as a click. Use <STRONG>mouseinterval(0)</STRONG> to disable click resolu- - tion. This function returns the previous interval value. Use <STRONG>mousein-</STRONG> - <STRONG>terval(-1)</STRONG> to obtain the interval without altering it. The default is - one sixth of a second. + resolved as a <EM>click</EM>. An application might interpret button press and + release events separated by more than the mouse interval as a "long + press", or, with motion, as a "drag". + Calling <STRONG>mouseinterval(0)</STRONG> disables click resolution. When <EM>ncurses</EM> + detects a mouse event, it awaits further input activity up to this + interval, and then checks for a subsequent mouse event which can be + combined with the first event. If the timeout expires without input + activity (which would happen with a zero interval), then no click + resolution will occur. -</PRE><H3><a name="h3-has_mouse">has_mouse</a></H3><PRE> - The <STRONG>has_mouse</STRONG> function returns <STRONG>TRUE</STRONG> if the mouse driver has been suc- - cessfully initialized. + This function returns the previous interval value. Use + <STRONG>mouseinterval(-1)</STRONG> to obtain the interval without altering it. - Note that mouse events will be ignored when input is in cooked mode, - and will cause an error beep when cooked mode is being simulated in a - window by a function such as <STRONG>getstr</STRONG> that expects a linefeed for input- - loop termination. + The mouse interval is set to one sixth of a second when the + corresponding screen is initialized, e.g., in <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG> or + <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - <STRONG>getmouse</STRONG> and <STRONG>ungetmouse</STRONG> return the integer <STRONG>ERR</STRONG> upon failure or <STRONG>OK</STRONG> upon - successful completion: + <STRONG>has_mouse</STRONG>, <STRONG>wenclose</STRONG>, <STRONG>mouse_trafo</STRONG>, and <STRONG>wmouse_trafo</STRONG> return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG> + as noted above. + + <STRONG>getmouse</STRONG> and <STRONG>ungetmouse</STRONG> return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon success. - <STRONG>getmouse</STRONG> - returns an error. + <STRONG>getmouse</STRONG> fails if: - <STRONG>o</STRONG> If no mouse driver was initialized, or if the mask parameter is - zero, + <STRONG>o</STRONG> no mouse driver was initialized, - <STRONG>o</STRONG> It also returns an error if no more events remain in the queue. + <STRONG>o</STRONG> the mask of reportable events is zero, - <STRONG>ungetmouse</STRONG> - returns an error if the FIFO is full. + <STRONG>o</STRONG> a mouse event was detected that does not match the mask, + + <STRONG>o</STRONG> or if no more events remain in the queue. + + <STRONG>ungetmouse</STRONG> returns an error if the event queue is full. <STRONG>mousemask</STRONG> returns the mask of reportable events. @@ -242,130 +267,134 @@ was not initialized. In that case, it returns the maximum interval value (166). - <STRONG>wenclose</STRONG> and <STRONG>wmouse_trafo</STRONG> are boolean functions returning <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG> - depending on their test result. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The order of the <STRONG>MEVENT</STRONG> structure members is not guaranteed. + Additional fields may be added to the structure in the future. -</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These calls were designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and are not found in SVr4 - curses, 4.4BSD curses, or any other previous version of curses. + Under <EM>ncurses</EM>, these calls are implemented using either <EM>xterm</EM>'s built- + in mouse-tracking API or platform-specific drivers including - SVr4 curses had support for the mouse in a variant of <STRONG>xterm</STRONG>. It is - mentioned in a few places, but with no supporting documentation: + <STRONG>o</STRONG> Alessandro Rubini's gpm server - <STRONG>o</STRONG> the "libcurses" manual page lists functions for this feature which - are prototyped in <STRONG>curses.h</STRONG>: + <STRONG>o</STRONG> FreeBSD sysmouse - extern int mouse_set(long int); - extern int mouse_on(long int); - extern int mouse_off(long int); - extern int request_mouse_pos(void); - extern int map_button(unsigned long); - extern void wmouse_position(WINDOW *, int *, int *); - extern unsigned long getmouse(void), getbmap(void); + <STRONG>o</STRONG> OS/2 EMX - <STRONG>o</STRONG> the "terminfo" manual page lists capabilities for the feature + If you are using an unsupported configuration, mouse events will not be + visible to <EM>ncurses</EM> (and the <STRONG>mousemask</STRONG> function will always return <STRONG>0</STRONG>). - buttons btns BT Number of buttons on the mouse - get_mouse getm Gm Curses should get button events - key_mouse kmous Km 0631, Mouse event has occurred - mouse_info minfo Mi Mouse status information - req_mouse_pos reqmp RQ Request mouse position report + If the <EM>terminfo</EM> entry contains a <STRONG>XM</STRONG> string, this is used in the <EM>xterm</EM> + mouse driver to control the way the terminal is initialized for mouse + operation. The default, if <STRONG>XM</STRONG> is not found, corresponds to private + mode 1000 of <EM>xterm:</EM> - <STRONG>o</STRONG> the interface made assumptions (as does ncurses) about the escape - sequences sent to and received from the terminal. + \E[?1000%?%p1%{1}%=%th%el%; - For instance the SVr4 curses library used the <STRONG>get_mouse</STRONG> capability - to tell the terminal which mouse button events it should send, - passing the mouse-button bit-mask to the terminal. Also, it could - ask the terminal where the mouse was using the <STRONG>req_mouse_pos</STRONG> capa- - bility. + The mouse driver also recognizes a newer <EM>xterm</EM> private mode 1006, e.g., - Those features required a terminal which had been modified to work - with curses. They were not part of the X Consortium's xterm. + \E[?1006;1000%?%p1%{1}%=%th%el%; - When developing the xterm mouse support for ncurses in September 1995, - Eric Raymond was uninterested in using the same interface due to its - lack of documentation. Later, in 1998, Mark Hesseling provided support - in PDCurses 2.3 using the SVr4 interface. PDCurses, however, does not - use video terminals, making it unnecessary to be concerned about com- - patibility with the escape sequences. + The <EM>z</EM> member in the event structure is not presently used. It is + intended for use with touch screens (which may be pressure-sensitive) + or with 3D-mice/trackballs/power gloves. - The feature macro <STRONG>NCURSES_MOUSE_VERSION</STRONG> is provided so the preprocessor - can be used to test whether these features are present. If the inter- - face is changed, the value of <STRONG>NCURSES_MOUSE_VERSION</STRONG> will be increment- - ed. These values for <STRONG>NCURSES_MOUSE_VERSION</STRONG> may be specified when con- - figuring ncurses: + The <STRONG>ALL_MOUSE_EVENTS</STRONG> class does not include <STRONG>REPORT_MOUSE_POSITION</STRONG>. + They are distinct. For example, in <EM>xterm</EM>, wheel/scrolling mice send + position reports as a sequence of presses of buttons 4 or 5 without + matching button-releases. - 1 has definitions for reserved events. The mask uses 28 bits. - 2 adds definitions for button 5, removes the definitions for re- - served events. The mask uses 29 bits. +</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE> + These functions were designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and are not found in + SVr4 <EM>curses</EM>, 4.4BSD <EM>curses</EM>, or any other previous curses + implementation. (SVr4 <EM>curses</EM> did have a <EM>getmouse</EM> function, which took + no argument and returned a different type.) - The order of the <STRONG>MEVENT</STRONG> structure members is not guaranteed. Addition- - al fields may be added to the structure in the future. - Under <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, these calls are implemented using either xterm's - built-in mouse-tracking API or platform-specific drivers including +</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> + Applications employing the <EM>ncurses</EM> mouse extension should condition its + use on the visibility of the <STRONG>NCURSES_MOUSE_VERSION</STRONG> preprocessor macro. + When the interface changes, the macro's value increments. Multiple + versions are available when <EM>ncurses</EM> is configured; see section + "ALTERNATE CONFIGURATIONS" of <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>. The following values may be + specified. - <STRONG>o</STRONG> Alessandro Rubini's gpm server + 1 has definitions for reserved events. The mask uses 28 bits. - <STRONG>o</STRONG> FreeBSD sysmouse + 2 adds definitions for button 5, removes the definitions for + reserved events. The mask uses 29 bits. - <STRONG>o</STRONG> OS/2 EMX + SVr4 <EM>curses</EM> had support for the mouse in a variant of <STRONG>xterm(1)</STRONG>. It is + mentioned in a few places, with little supporting documentation. - If you are using an unsupported configuration, mouse events will not be - visible to <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> (and the <STRONG>mousemask</STRONG> function will always return - <STRONG>0</STRONG>). + <STRONG>o</STRONG> Its "libcurses" manual page lists functions for this feature + prototyped in <EM>curses.h</EM>. - If the terminfo entry contains a <STRONG>XM</STRONG> string, this is used in the xterm - mouse driver to control the way the terminal is initialized for mouse - operation. The default, if <STRONG>XM</STRONG> is not found, corresponds to private - mode 1000 of xterm: + extern int mouse_set(long int); + extern int mouse_on(long int); + extern int mouse_off(long int); + extern int request_mouse_pos(void); + extern int map_button(unsigned long); + extern void wmouse_position(WINDOW *, int *, int *); + extern unsigned long getmouse(void), getbmap(void); - \E[?1000%?%p1%{1}%=%th%el%; + <STRONG>o</STRONG> Its "terminfo" manual page lists capabilities for the feature. - The mouse driver also recognizes a newer xterm private mode 1006, e.g., + <STRONG>buttons</STRONG> <STRONG>btns</STRONG> <STRONG>BT</STRONG> Number of buttons on the mouse + <STRONG>get_mouse</STRONG> <STRONG>getm</STRONG> <STRONG>Gm</STRONG> Curses should get button events + <STRONG>key_mouse</STRONG> <STRONG>kmous</STRONG> <STRONG>Km</STRONG> 0631, Mouse event has occurred + <STRONG>mouse_info</STRONG> <STRONG>minfo</STRONG> <STRONG>Mi</STRONG> Mouse status information + <STRONG>req_mouse_pos</STRONG> <STRONG>reqmp</STRONG> <STRONG>RQ</STRONG> Request mouse position report - \E[?1006;1000%?%p1%{1}%=%th%el%; + <STRONG>o</STRONG> The interface made assumptions (as does <EM>ncurses</EM>) about the escape + sequences sent to and received from the terminal. - The <EM>z</EM> member in the event structure is not presently used. It is in- - tended for use with touch screens (which may be pressure-sensitive) or - with 3D-mice/trackballs/power gloves. + For instance, the SVr4 <EM>curses</EM> library used the <STRONG>get_mouse</STRONG> capability + to tell the terminal which mouse button events it should send, + passing the mouse-button bit mask to the terminal. Also, it could + ask the terminal where the mouse was using the <STRONG>req_mouse_pos</STRONG> + capability. - The <STRONG>ALL_MOUSE_EVENTS</STRONG> class does not include <STRONG>REPORT_MOUSE_POSITION</STRONG>. - They are distinct. For example, in xterm, wheel/scrolling mice send - position reports as a sequence of presses of buttons 4 or 5 without - matching button-releases. + Those features required a terminal program that had been modified + to work with SVr4 <EM>curses</EM>. They were not part of the X Consortium's + <EM>xterm</EM>. + + When developing the <EM>xterm</EM> mouse support for <EM>ncurses</EM> in September 1995, + Eric Raymond was uninterested in using the same interface due to its + lack of documentation. Later, in 1998, Mark Hesseling provided support + in <EM>PDCurses</EM> 2.3 using the SVr4 interface. <EM>PDCurses</EM>, however, does not + use video terminals, making it unnecessary to be concerned about + compatibility with the escape sequences. </PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE> - Mouse events under xterm will not in fact be ignored during cooked - mode, if they have been enabled by <STRONG>mousemask</STRONG>. Instead, the xterm mouse - report sequence will appear in the string read. - - Mouse events under xterm will not be detected correctly in a window - with its keypad bit off, since they are interpreted as a variety of - function key. Your terminfo description should have <STRONG>kmous</STRONG> set to - "\E[M" (the beginning of the response from xterm for mouse clicks). - Other values for <STRONG>kmous</STRONG> are permitted, but under the same assumption, - i.e., it is the beginning of the response. - - Because there are no standard terminal responses that would serve to - identify terminals which support the xterm mouse protocol, <STRONG>ncurses</STRONG> as- - sumes that if <STRONG>kmous</STRONG> is defined in the terminal description, or if the - terminal description's primary name or aliases contain the string - "xterm", then the terminal may send mouse events. The <STRONG>kmous</STRONG> capability - is checked first, allowing the use of newer xterm mouse protocols such - as xterm's private mode 1006. + Mouse events from <EM>xterm</EM> are <EM>not</EM> ignored in cooked mode if they have + been enabled by <STRONG>mousemask</STRONG>. Instead, the <EM>xterm</EM> mouse report sequence + appears in the string read. + + Mouse event reports from <EM>xterm</EM> are not detected correctly in a window + with keypad application mode disabled, since they are interpreted as a + variety of function key. Set the terminal's <EM>terminfo</EM> capability <STRONG>kmous</STRONG> + to "\E[M" (the beginning of the response from <EM>xterm</EM> for mouse clicks). + Other values of <STRONG>kmous</STRONG> are permitted under the same assumption, that is, + the report begins with that sequence. + + Because there are no standard response sequences that serve to identify + terminals supporting the <EM>xterm</EM> mouse protocol, <EM>ncurses</EM> assumes that if + <STRONG>kmous</STRONG> is defined in the terminal description, or if the terminal type's + primary name or aliases contain the string "xterm", then the terminal + may send mouse events. The <STRONG>kmous</STRONG> capability is checked first, allowing + use of newer <EM>xterm</EM> mouse protocols, such as its private mode 1006. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>. + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>, + <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> - <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -373,18 +402,20 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a> <ul> +<li><a href="#h3-has_mouse">has_mouse</a></li> <li><a href="#h3-mousemask">mousemask</a></li> -<li><a href="#h3-Mouse-events">Mouse events</a></li> +<li><a href="#h3-Mouse-Events">Mouse Events</a></li> <li><a href="#h3-getmouse">getmouse</a></li> <li><a href="#h3-ungetmouse">ungetmouse</a></li> <li><a href="#h3-wenclose">wenclose</a></li> <li><a href="#h3-wmouse_trafo">wmouse_trafo</a></li> <li><a href="#h3-mouse_trafo">mouse_trafo</a></li> <li><a href="#h3-mouseinterval">mouseinterval</a></li> -<li><a href="#h3-has_mouse">has_mouse</a></li> </ul> </li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> +<li><a href="#h2-NOTES">NOTES</a></li> +<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-BUGS">BUGS</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> diff --git a/doc/html/man/curs_move.3x.html b/doc/html/man/curs_move.3x.html index 7b9336019a82..bbab2b871ff3 100644 --- a/doc/html/man/curs_move.3x.html +++ b/doc/html/man/curs_move.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,27 +27,27 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_move.3x,v 1.19 2020/10/24 09:39:41 tom Exp @ + * @Id: curs_move.3x,v 1.40 2024/04/27 17:56:05 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_move 3x</TITLE> +<TITLE>curs_move 3x 2024-04-27 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_move 3x</H1> +<H1 class="no-header">curs_move 3x 2024-04-27 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG> <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG> +<STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>move</STRONG>, <STRONG>wmove</STRONG> - move <STRONG>curses</STRONG> window cursor + <STRONG>move</STRONG>, <STRONG>wmove</STRONG> - move cursor in a <EM>curses</EM> window </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -58,26 +58,27 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - These routines move the cursor associated with the window to line <EM>y</EM> and - column <EM>x</EM>. This routine does not move the physical cursor of the termi- - nal until <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> is called. The position specified is relative to - the upper left-hand corner of the window, which is (0,0). + <STRONG>wmove</STRONG> relocates the cursor associated with the <EM>curses</EM> window <EM>win</EM> to + line <EM>y</EM> and column <EM>x</EM>. The terminal's cursor does not move until + <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> is called. The position (<EM>y</EM>, <EM>x</EM>) is relative to the upper + left-hand corner of the window, which has coordinates (0, 0). + <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the <STRONG>move</STRONG> variant of this function. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - These routines return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 specifies only "an - integer value other than <STRONG>ERR</STRONG>") upon successful completion. + These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure. + + They fail if the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries. - Specifically, they return an error if the window pointer is null, or if - the position is outside the window. + <STRONG>wmove</STRONG> fails if its <EM>WINDOW</EM> pointer argument is <STRONG>NULL</STRONG>. </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - Note that <STRONG>move</STRONG> may be a macro. + <STRONG>move</STRONG> may be implemented as a macro. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These functions are described in the XSI Curses standard, Issue 4. + X/Open Curses, Issue 4 describes these functions. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> @@ -85,7 +86,7 @@ - <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG> +ncurses 6.5 2024-04-27 <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG> </PRE> <div class="nav"> <ul> diff --git a/doc/html/man/curs_opaque.3x.html b/doc/html/man/curs_opaque.3x.html index 6a1fcdfdd7c3..50bb9ee64e91 100644 --- a/doc/html/man/curs_opaque.3x.html +++ b/doc/html/man/curs_opaque.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2020 Thomas E. Dickey * + * Copyright 2020-2023,2024 Thomas E. Dickey * * Copyright 2007-2014,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,29 +27,29 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_opaque.3x,v 1.15 2020/10/24 09:41:22 tom Exp @ + * @Id: curs_opaque.3x,v 1.43 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_opaque 3x</TITLE> +<TITLE>curs_opaque 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_opaque 3x</H1> +<H1 class="no-header">curs_opaque 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> +<STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>is_cleared</STRONG>, <STRONG>is_idlok</STRONG>, <STRONG>is_idcok</STRONG>, <STRONG>is_immedok</STRONG>, <STRONG>is_keypad</STRONG>, <STRONG>is_leaveok</STRONG>, - <STRONG>is_nodelay</STRONG>, <STRONG>is_notimeout</STRONG>, <STRONG>is_pad</STRONG>, <STRONG>is_scrollok</STRONG>, <STRONG>is_subwin</STRONG>, <STRONG>is_syncok</STRONG>, - <STRONG>wgetdelay</STRONG>, <STRONG>wgetparent</STRONG>, <STRONG>wgetscrreg</STRONG> - <STRONG>curses</STRONG> window properties + <STRONG>is_cleared</STRONG>, <STRONG>is_idlok</STRONG>, <STRONG>is_idcok</STRONG>, <STRONG>is_immedok</STRONG>, <STRONG>is_keypad</STRONG>, <STRONG>is_leaveok</STRONG>, + <STRONG>is_nodelay</STRONG>, <STRONG>is_notimeout</STRONG>, <STRONG>is_pad</STRONG>, <STRONG>is_scrollok</STRONG>, <STRONG>is_subwin</STRONG>, <STRONG>is_syncok</STRONG>, + <STRONG>wgetdelay</STRONG>, <STRONG>wgetparent</STRONG>, <STRONG>wgetscrreg</STRONG> - obtain <EM>curses</EM> window properties </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -67,86 +67,95 @@ <STRONG>bool</STRONG> <STRONG>is_scrollok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG> <STRONG>bool</STRONG> <STRONG>is_subwin(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG> <STRONG>bool</STRONG> <STRONG>is_syncok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG> + <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> <STRONG>wgetparent(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>wgetdelay(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>wgetscrreg(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>top</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>bottom</EM><STRONG>);</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - This implementation provides functions which return properties set in - the WINDOW structure, allowing it to be "opaque" if the symbol <STRONG>NCURS-</STRONG> - <STRONG>ES_OPAQUE</STRONG> is defined: + <EM>ncurses</EM> provides functions returning properties of a <EM>WINDOW</EM> structure, + allowing it to be "opaque" if the application defines the + <STRONG>NCURSES_OPAQUE</STRONG> preprocessor symbol. <EM>Opacity</EM> in this sense means that + the members of <EM>struct</EM> data types are not directly accessible (for + instance, through "." or "->" operators), but instead must be queried + and/or set via library functions. Advantages of opacity include + greater abstraction and improved management of concurrent accesses to + data structures, keeping object states coherent. <STRONG>is_cleared</STRONG> - returns the value set in <STRONG>clearok</STRONG> + returns the value set by <STRONG><A HREF="curs_outopts.3x.html">clearok(3x)</A></STRONG>. <STRONG>is_idcok</STRONG> - returns the value set in <STRONG>idcok</STRONG> + returns the value set by <STRONG><A HREF="idcok.3x.html">idcok(3x)</A></STRONG>. <STRONG>is_idlok</STRONG> - returns the value set in <STRONG>idlok</STRONG> + returns the value set by <STRONG><A HREF="idlok.3x.html">idlok(3x)</A></STRONG>. <STRONG>is_immedok</STRONG> - returns the value set in <STRONG>immedok</STRONG> + returns the value set by <STRONG><A HREF="curs_outopts.3x.html">immedok(3x)</A></STRONG>. <STRONG>is_keypad</STRONG> - returns the value set in <STRONG>keypad</STRONG> + returns the value set by <STRONG><A HREF="curs_inopts.3x.html">keypad(3x)</A></STRONG>. <STRONG>is_leaveok</STRONG> - returns the value set in <STRONG>leaveok</STRONG> + returns the value set by <STRONG><A HREF="leaveok.3x.html">leaveok(3x)</A></STRONG>. <STRONG>is_nodelay</STRONG> - returns the value set in <STRONG>nodelay</STRONG> + returns the value set by <STRONG><A HREF="nodelay.3x.html">nodelay(3x)</A></STRONG>. <STRONG>is_notimeout</STRONG> - returns the value set in <STRONG>notimeout</STRONG> + returns the value set by <STRONG><A HREF="notimeout.3x.html">notimeout(3x)</A></STRONG>. - <STRONG>is_pad</STRONG> - returns <STRONG>TRUE</STRONG> if the window is a pad i.e., created by <STRONG>newpad</STRONG> + <STRONG>is_pad</STRONG> returns <STRONG>TRUE</STRONG> if the window is a pad; that is, it was created by + <STRONG><A HREF="newpad.3x.html">newpad(3x)</A></STRONG>. <STRONG>is_scrollok</STRONG> - returns the value set in <STRONG>scrollok</STRONG> + returns the value set by <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG>. <STRONG>is_subwin</STRONG> - returns <STRONG>TRUE</STRONG> if the window is a subwindow, i.e., created by <STRONG>subwin</STRONG> - or <STRONG>derwin</STRONG> + returns <STRONG>TRUE</STRONG> if the window is a subwindow, that is, it was + created by <STRONG><A HREF="subwin.3x.html">subwin(3x)</A></STRONG> or <STRONG><A HREF="derwin.3x.html">derwin(3x)</A></STRONG>. <STRONG>is_syncok</STRONG> - returns the value set in <STRONG>syncok</STRONG> + returns the value set by <STRONG><A HREF="syncok.3x.html">syncok(3x)</A></STRONG>. <STRONG>wgetdelay</STRONG> - returns the delay timeout as set in <STRONG>wtimeout</STRONG>. + returns the delay timeout set by <STRONG><A HREF="wtimeout.3x.html">wtimeout(3x)</A></STRONG>. <STRONG>wgetparent</STRONG> - returns the parent WINDOW pointer for subwindows, or NULL for win- - dows having no parent. + returns the parent <EM>WINDOW</EM> pointer for subwindows, or <STRONG>NULL</STRONG> for + windows having no parent. <STRONG>wgetscrreg</STRONG> - returns the top and bottom rows for the scrolling margin as set in - <STRONG>wsetscrreg</STRONG>. + stores the the top and bottom rows for the scrolling margin set + by <STRONG><A HREF="curs_outopts.3x.html">wsetscrreg(3x)</A></STRONG> in the corresponding arguments, returning <STRONG>ERR</STRONG> + upon failure and <STRONG>OK</STRONG> upon successful completion. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - These functions all return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>, except as noted. + These functions return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG> except as noted. </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - Both a macro and a function are provided for each name. + <EM>ncurses</EM> provides both a C function and a preprocessor macro for each + function documented in this page. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines are specific to ncurses. They were not supported on + These routines are specific to <EM>ncurses</EM>. They were not supported on Version 7, BSD or System V implementations. It is recommended that any - code depending on ncurses extensions be conditioned using NCURSES_VER- - SION. + code depending on <EM>ncurses</EM> extensions be conditioned using + <STRONG>NCURSES_VERSION</STRONG>. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>, + <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> - <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> </PRE> <div class="nav"> <ul> diff --git a/doc/html/man/curs_outopts.3x.html b/doc/html/man/curs_outopts.3x.html index a860b1bb1291..7f04d92eabef 100644 --- a/doc/html/man/curs_outopts.3x.html +++ b/doc/html/man/curs_outopts.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,28 +27,28 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_outopts.3x,v 1.33 2020/10/03 22:04:09 tom Exp @ + * @Id: curs_outopts.3x,v 1.64 2024/04/20 21:24:19 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_outopts 3x</TITLE> +<TITLE>curs_outopts 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_outopts 3x</H1> +<H1 class="no-header">curs_outopts 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> +<STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>clearok</STRONG>, <STRONG>idlok</STRONG>, <STRONG>idcok</STRONG>, <STRONG>immedok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, - <STRONG>scrollok</STRONG> - <STRONG>curses</STRONG> output options + <STRONG>clearok</STRONG>, <STRONG>idlok</STRONG>, <STRONG>idcok</STRONG>, <STRONG>immedok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, + <STRONG>scrollok</STRONG> - set <EM>curses</EM> output options </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -66,9 +66,9 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - These routines set options that change the style of output within <STRONG>curs-</STRONG> - <STRONG>es</STRONG>. All options are initially <STRONG>FALSE</STRONG>, unless otherwise stated. It is - not necessary to turn these options off before calling <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG>. + These routines set options that change the style of output within + <STRONG>curses</STRONG>. All options are initially <STRONG>FALSE</STRONG>, unless otherwise stated. It + is not necessary to turn these options off before calling <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG>. </PRE><H3><a name="h3-clearok">clearok</a></H3><PRE> @@ -84,61 +84,63 @@ </PRE><H3><a name="h3-idlok">idlok</a></H3><PRE> If <STRONG>idlok</STRONG> is called with <STRONG>TRUE</STRONG> as second argument, <STRONG>curses</STRONG> considers using the hardware insert/delete line feature of terminals so equipped. - Calling <STRONG>idlok</STRONG> with <STRONG>FALSE</STRONG> as second argument disables use of line inser- - tion and deletion. This option should be enabled only if the applica- - tion needs insert/delete line, for example, for a screen editor. It is - disabled by default because insert/delete line tends to be visually an- - noying when used in applications where it is not really needed. If in- - sert/delete line cannot be used, <STRONG>curses</STRONG> redraws the changed portions of - all lines. + Calling <STRONG>idlok</STRONG> with <STRONG>FALSE</STRONG> as second argument disables use of line + insertion and deletion. This option should be enabled only if the + application needs insert/delete line, for example, for a screen editor. + It is disabled by default because insert/delete line tends to be + visually annoying when used in applications where it is not really + needed. If insert/delete line cannot be used, <STRONG>curses</STRONG> redraws the + changed portions of all lines. </PRE><H3><a name="h3-idcok">idcok</a></H3><PRE> - If <STRONG>idcok</STRONG> is called with <STRONG>FALSE</STRONG> as second argument, <STRONG>curses</STRONG> no longer con- - siders using the hardware insert/delete character feature of terminals - so equipped. Use of character insert/delete is enabled by default. - Calling <STRONG>idcok</STRONG> with <STRONG>TRUE</STRONG> as second argument re-enables use of character - insertion and deletion. + If <STRONG>idcok</STRONG> is called with <STRONG>FALSE</STRONG> as second argument, <STRONG>curses</STRONG> no longer + considers using the hardware insert/delete character feature of + terminals so equipped. Use of character insert/delete is enabled by + default. Calling <STRONG>idcok</STRONG> with <STRONG>TRUE</STRONG> as second argument re-enables use of + character insertion and deletion. </PRE><H3><a name="h3-immedok">immedok</a></H3><PRE> - If <STRONG>immedok</STRONG> is called with <STRONG>TRUE</STRONG> <STRONG>as</STRONG> <STRONG>argument</STRONG>, any change in the window - image, such as the ones caused by <STRONG>waddch,</STRONG> <STRONG>wclrtobot,</STRONG> <STRONG>wscrl</STRONG>, etc., auto- - matically cause a call to <STRONG>wrefresh</STRONG>. However, it may degrade perfor- - mance considerably, due to repeated calls to <STRONG>wrefresh</STRONG>. It is disabled - by default. + If <STRONG>immedok</STRONG> is called with <STRONG>TRUE</STRONG> as second argument, any change in the + window image, such as the ones caused by <STRONG>waddch,</STRONG> <STRONG>wclrtobot,</STRONG> <STRONG>wscrl</STRONG>, + etc., automatically causes a call to <STRONG>wrefresh</STRONG>. However, it may degrade + performance considerably, due to repeated calls to <STRONG>wrefresh</STRONG>. Calling + <STRONG>immedok</STRONG> with <STRONG>FALSE</STRONG> as second argument restores the default behavior, + i.e., deferring screen updates until a refresh is needed. </PRE><H3><a name="h3-leaveok">leaveok</a></H3><PRE> - Normally, the hardware cursor is left at the location of the window - cursor being refreshed. The <STRONG>leaveok</STRONG> option allows the cursor to be - left wherever the update happens to leave it. It is useful for appli- - cations where the cursor is not used, since it reduces the need for - cursor motions. + Normally, the hardware cursor is left at the location of the window + cursor being refreshed. The <STRONG>leaveok</STRONG> option allows the cursor to be + left wherever the update happens to leave it. It is useful for + applications where the cursor is not used, since it reduces the need + for cursor motions. </PRE><H3><a name="h3-scrollok">scrollok</a></H3><PRE> - The <STRONG>scrollok</STRONG> option controls what happens when the cursor of a window - is moved off the edge of the window or scrolling region, either as a - result of a newline action on the bottom line, or typing the last char- - acter of the last line. If disabled, (<EM>bf</EM> is <STRONG>FALSE</STRONG>), the cursor is left - on the bottom line. If enabled, (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the window is scrolled - up one line (Note that to get the physical scrolling effect on the ter- - minal, it is also necessary to call <STRONG>idlok</STRONG>). - - -</PRE><H3><a name="h3-setscrreg_wsetscrreg">setscrreg/wsetscrreg</a></H3><PRE> - The <STRONG>setscrreg</STRONG> and <STRONG>wsetscrreg</STRONG> routines allow the application programmer - to set a software scrolling region in a window. The <EM>top</EM> and <EM>bot</EM> param- - eters are the line numbers of the top and bottom margin of the - scrolling region. (Line 0 is the top line of the window.) If this op- - tion and <STRONG>scrollok</STRONG> are enabled, an attempt to move off the bottom margin - line causes all lines in the scrolling region to scroll one line in the - direction of the first line. Only the text of the window is scrolled. - (Note that this has nothing to do with the use of a physical scrolling - region capability in the terminal, like that in the VT100. If <STRONG>idlok</STRONG> is - enabled and the terminal has either a scrolling region or insert/delete - line capability, they will probably be used by the output routines.) + The <STRONG>scrollok</STRONG> option controls what happens when the cursor of a window + is moved off the edge of the window or scrolling region, either as a + result of a newline action on the bottom line, or typing the last + character of the last line. If disabled, (<EM>bf</EM> is <STRONG>FALSE</STRONG>), the cursor is + left on the bottom line. If enabled, (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the window is + scrolled up one line (Note that to get the physical scrolling effect on + the terminal, it is also necessary to call <STRONG>idlok</STRONG>). + + +</PRE><H3><a name="h3-setscrreg_wsetscrreg">setscrreg, wsetscrreg</a></H3><PRE> + The <STRONG>setscrreg</STRONG> and <STRONG>wsetscrreg</STRONG> routines allow the application programmer + to set a software scrolling region in a window. The <EM>top</EM> and <EM>bot</EM> + parameters are the line numbers of the top and bottom margin of the + scrolling region. (Line 0 is the top line of the window.) If this + option and <STRONG>scrollok</STRONG> are enabled, an attempt to move off the bottom + margin line causes all lines in the scrolling region to scroll one line + in the direction of the first line. Only the text of the window is + scrolled. (Note that this has nothing to do with the use of a physical + scrolling region capability in the terminal, like that in the VT100. + If <STRONG>idlok</STRONG> is enabled and the terminal has either a scrolling region or + insert/delete line capability, they will probably be used by the output + routines.) </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> @@ -146,7 +148,7 @@ upon failure. All other routines that return an integer always return <STRONG>OK</STRONG>. - X/Open Curses does not define any error conditions. + X/Open Curses does not specify any error conditions. In this implementation, @@ -154,56 +156,47 @@ the window pointer is null <STRONG>o</STRONG> <STRONG>wsetscrreg</STRONG> returns an error if the scrolling region limits extend - outside the window. + outside the window boundaries. - X/Open does not define any error conditions. This implementation re- - turns an error if the window pointer is null. + +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + Note that <STRONG>clearok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>scrollok</STRONG>, <STRONG>idcok</STRONG>, and <STRONG>setscrreg</STRONG> may be + macros. + + The <STRONG>immedok</STRONG> routine is useful for windows that are used as terminal + emulators. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These functions are described in the XSI Curses standard, Issue 4. - - From the outset, ncurses used <STRONG>nl</STRONG>/<STRONG>nonl</STRONG> to control the conversion of new- - lines to carriage return/line-feed on output as well as input. XSI - Curses documents only the use of these functions for input. This dif- - ference arose from converting the <EM>pcurses</EM> source (which used <STRONG>ioctl</STRONG> - calls with the <STRONG>sgttyb</STRONG> structure) to termios (i.e., the POSIX terminal - interface). In the former, both input and output were controlled via a - single option <STRONG>CRMOD</STRONG>, while the latter separates these features. Be- - cause that conversion interferes with output optimization, <STRONG>nl</STRONG>/<STRONG>nonl</STRONG> were - amended after ncurses 6.2 to eliminate their effect on output. - - Some historic curses implementations had, as an undocumented feature, - the ability to do the equivalent of <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying <STRONG>touch-</STRONG> - <STRONG>win(stdscr)</STRONG> or <STRONG>clear(stdscr)</STRONG>. This will not work under ncurses. - - Earlier System V curses implementations specified that with <STRONG>scrollok</STRONG> - enabled, any window modification triggering a scroll also forced a - physical refresh. XSI Curses does not require this, and <STRONG>ncurses</STRONG> avoids - doing it to perform better vertical-motion optimization at <STRONG>wrefresh</STRONG> - time. - - The XSI Curses standard does not mention that the cursor should be made - invisible as a side-effect of <STRONG>leaveok</STRONG>. SVr4 curses documentation does - this, but the code does not. Use <STRONG>curs_set</STRONG> to make the cursor invisi- - ble. + These functions are described in X/Open Curses, Issue 4. + Some historic curses implementations had, as an undocumented feature, + the ability to do the equivalent of <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying + <STRONG>touchwin(stdscr)</STRONG> or <STRONG>clear(stdscr)</STRONG>. This will not work under <EM>ncurses</EM>. -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - Note that <STRONG>clearok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>scrollok</STRONG>, <STRONG>idcok</STRONG>, and <STRONG>setscrreg</STRONG> may be - macros. + Earlier System V curses implementations specified that with <STRONG>scrollok</STRONG> + enabled, any window modification triggering a scroll also forced a + physical refresh. X/Open Curses does not require this, and <EM>ncurses</EM> + avoids doing it to perform better vertical-motion optimization at + <STRONG>wrefresh</STRONG> time. + + X/Open Curses does not mention that the cursor should be made invisible + as a side-effect of <STRONG>leaveok</STRONG>. SVr4 curses documentation does this, but + the code does not. Use <STRONG>curs_set</STRONG> to make the cursor invisible. - The <STRONG>immedok</STRONG> routine is useful for windows that are used as terminal em- - ulators. + +</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE> + <EM>ncurses</EM> formerly treated <STRONG><A HREF="curs_inopts.3x.html">nl(3x)</A></STRONG> and <STRONG><A HREF="curs_inopts.3x.html">nonl(3x)</A></STRONG> as both input <EM>and</EM> output + options, but no longer; see <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, - <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>. + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, + <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> - <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -217,12 +210,13 @@ <li><a href="#h3-immedok">immedok</a></li> <li><a href="#h3-leaveok">leaveok</a></li> <li><a href="#h3-scrollok">scrollok</a></li> -<li><a href="#h3-setscrreg_wsetscrreg">setscrreg/wsetscrreg</a></li> +<li><a href="#h3-setscrreg_wsetscrreg">setscrreg, wsetscrreg</a></li> </ul> </li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-NOTES">NOTES</a></li> +<li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-HISTORY">HISTORY</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> diff --git a/doc/html/man/curs_overlay.3x.html b/doc/html/man/curs_overlay.3x.html index f858adaef65b..61c4c1999fd1 100644 --- a/doc/html/man/curs_overlay.3x.html +++ b/doc/html/man/curs_overlay.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2020 Thomas E. Dickey * + * Copyright 2020-2023,2024 Thomas E. Dickey * * Copyright 1998-2013,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,28 +27,28 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_overlay.3x,v 1.19 2020/02/02 23:34:34 tom Exp @ + * @Id: curs_overlay.3x,v 1.43 2024/04/20 21:20:07 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_overlay 3x</TITLE> +<TITLE>curs_overlay 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_overlay 3x</H1> +<H1 class="no-header">curs_overlay 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG> <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG> +<STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>overlay</STRONG>, <STRONG>overwrite</STRONG>, <STRONG>copywin</STRONG> - overlay and manipulate overlapped <STRONG>curses</STRONG> - windows + <STRONG>overlay</STRONG>, <STRONG>overwrite</STRONG>, <STRONG>copywin</STRONG> - overlay <EM>curses</EM> windows and manipulate + them </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -63,27 +63,27 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> -</PRE><H3><a name="h3-overlay_-overwrite">overlay, overwrite</a></H3><PRE> +</PRE><H3><a name="h3-overlay_overwrite">overlay, overwrite</a></H3><PRE> The <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> routines overlay <EM>srcwin</EM> on top of <EM>dstwin</EM>. <EM>scrwin</EM> and <EM>dstwin</EM> are not required to be the same size; only text where the two windows overlap is copied. The difference is that <STRONG>overlay</STRONG> is - non-destructive (blanks are not copied) whereas <STRONG>overwrite</STRONG> is destruc- - tive. + non-destructive (blanks are not copied) whereas <STRONG>overwrite</STRONG> is + destructive. </PRE><H3><a name="h3-copywin">copywin</a></H3><PRE> The <STRONG>copywin</STRONG> routine provides a finer granularity of control over the - <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> routines. As in the <STRONG>prefresh</STRONG> routine, a rectan- - gle is specified in the destination window, (<EM>dminrow</EM>, <EM>dmincol</EM>) and - (<EM>dmaxrow</EM>, <EM>dmaxcol</EM>), and the upper-left-corner coordinates of the source - window, (<EM>sminrow</EM>, <EM>smincol</EM>). If the argument <EM>overlay</EM> is <STRONG>true</STRONG>, then - copying is non-destructive, as in <STRONG>overlay</STRONG>. + <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> routines. As in the <STRONG>prefresh</STRONG> routine, a + rectangle is specified in the destination window, (<EM>dminrow</EM>, <EM>dmincol</EM>) + and (<EM>dmaxrow</EM>, <EM>dmaxcol</EM>), and the upper-left-corner coordinates of the + source window, (<EM>sminrow</EM>, <EM>smincol</EM>). If the argument <EM>overlay</EM> is <STRONG>true</STRONG>, + then copying is non-destructive, as in <STRONG>overlay</STRONG>. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - Routines that return an integer return <STRONG>ERR</STRONG> upon failure, and <STRONG>OK</STRONG> (SVr4 - only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com- - pletion. + These routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4 + specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful + completion. X/Open defines no error conditions. In this implementation, <STRONG>copywin</STRONG>, <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> return an error if either of the window pointers @@ -95,10 +95,10 @@ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - The XSI Curses standard, Issue 4 describes these functions (adding the - const qualifiers). It further specifies their behavior in the presence - of characters with multibyte renditions (not yet supported in this im- - plementation). + These functions are described in X/Open Curses, Issue 4, which adds + <EM>const</EM> qualifiers to the arguments. It further specifies their behavior + in the presence of characters with multibyte renditions (not yet + supported in this implementation). </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> @@ -106,7 +106,7 @@ - <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -114,7 +114,7 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a> <ul> -<li><a href="#h3-overlay_-overwrite">overlay, overwrite</a></li> +<li><a href="#h3-overlay_overwrite">overlay, overwrite</a></li> <li><a href="#h3-copywin">copywin</a></li> </ul> </li> diff --git a/doc/html/man/curs_pad.3x.html b/doc/html/man/curs_pad.3x.html index b065000bfd5d..ae27590967bc 100644 --- a/doc/html/man/curs_pad.3x.html +++ b/doc/html/man/curs_pad.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2015,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,163 +27,161 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_pad.3x,v 1.26 2020/02/02 23:34:34 tom Exp @ + * @Id: curs_pad.3x,v 1.61 2024/04/27 17:55:43 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_pad 3x</TITLE> +<TITLE>curs_pad 3x 2024-04-27 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_pad 3x</H1> +<H1 class="no-header">curs_pad 3x 2024-04-27 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> +<STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> <STRONG>newpad</STRONG>, <STRONG>subpad</STRONG>, <STRONG>prefresh</STRONG>, <STRONG>pnoutrefresh</STRONG>, <STRONG>pechochar</STRONG>, <STRONG>pecho_wchar</STRONG> - create - and display <STRONG>curses</STRONG> pads + and display <EM>curses</EM> pads </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> <STRONG>WINDOW</STRONG> <STRONG>*newpad(int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>);</STRONG> - <STRONG>WINDOW</STRONG> <STRONG>*subpad(WINDOW</STRONG> <STRONG>*</STRONG><EM>orig</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>,</STRONG> + <STRONG>WINDOW</STRONG> <STRONG>*subpad(WINDOW</STRONG> <STRONG>*</STRONG><EM>parent</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>x</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>prefresh(WINDOW</STRONG> <STRONG>*</STRONG><EM>pad</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pmincol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>sminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smincol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smaxrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smaxcol</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>pnoutrefresh(WINDOW</STRONG> <STRONG>*</STRONG><EM>pad</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pmincol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>sminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smincol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smaxrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smaxcol</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>pechochar(WINDOW</STRONG> <STRONG>*</STRONG><EM>pad</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>pecho_wchar(WINDOW</STRONG> <STRONG>*</STRONG><EM>pad</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> + A <EM>curses</EM> <EM>pad</EM> is like a window, except that it is not restricted by the + screen size, and is not necessarily associated with a particular part + of the screen. Pads can be used when a large window is needed, only + part of which is to be visible on the screen. Pads are not + automatically refreshed by scrolling or input-echoing operations. + + Pads cannot be refreshed with <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG>; use <STRONG>prefresh</STRONG> or + <STRONG>pnoutrefresh</STRONG> instead. + </PRE><H3><a name="h3-newpad">newpad</a></H3><PRE> - The <STRONG>newpad</STRONG> routine creates and returns a pointer to a new pad data - structure with the given number of lines, <EM>nlines</EM>, and columns, <EM>ncols</EM>. - A pad is like a window, except that it is not restricted by the screen - size, and is not necessarily associated with a particular part of the - screen. Pads can be used when a large window is needed, and only a - part of the window will be on the screen at one time. Automatic re- - freshes of pads (e.g., from scrolling or echoing of input) do not oc- - cur. - - It is not legal to call <STRONG>wrefresh</STRONG> with a <EM>pad</EM> as an argument; the rou- - tines <STRONG>prefresh</STRONG> or <STRONG>pnoutrefresh</STRONG> should be called instead. Note that - these routines require additional parameters to specify the part of the - pad to be displayed and the location on the screen to be used for the - display. + <STRONG>newpad</STRONG> creates and returns a pointer to a new pad data structure with + the given number of lines, <EM>nlines</EM>, and columns, <EM>ncols</EM>. </PRE><H3><a name="h3-subpad">subpad</a></H3><PRE> - The <STRONG>subpad</STRONG> routine creates and returns a pointer to a subwindow within - a pad with the given number of lines, <EM>nlines</EM>, and columns, <EM>ncols</EM>. Un- - like <STRONG>subwin</STRONG>, which uses screen coordinates, the window is at position - (<EM>begin</EM>_<EM>x</EM><STRONG>,</STRONG> <EM>begin</EM>_<EM>y</EM>) on the pad. The window is made in the middle of the - window <EM>orig</EM>, so that changes made to one window affect both windows. - During the use of this routine, it will often be necessary to call - <STRONG>touchwin</STRONG> or <STRONG>touchline</STRONG> on <EM>orig</EM> before calling <STRONG>prefresh</STRONG>. + <STRONG>subpad</STRONG> creates and returns a pointer to a subwindow within a pad with + the given number of lines, <EM>nlines</EM>, and columns, <EM>ncols</EM>. Unlike + <STRONG><A HREF="subwin.3x.html">subwin(3x)</A></STRONG>, which uses screen coordinates, the new pad is placed at + position (<EM>begin</EM><STRONG>_</STRONG><EM>y</EM>, <EM>begin</EM><STRONG>_</STRONG><EM>x</EM>) relative to its parent. Thus, changes made + to one pad can affect both. When operating on a subpad, it is often + necessary to call <STRONG><A HREF="curs_touch.3x.html">touchwin(3x)</A></STRONG> or <STRONG><A HREF="curs_touch.3x.html">touchline(3x)</A></STRONG> on <EM>parent</EM> before + calling <STRONG>prefresh</STRONG>. -</PRE><H3><a name="h3-prefresh_-pnoutrefresh">prefresh, pnoutrefresh</a></H3><PRE> - The <STRONG>prefresh</STRONG> and <STRONG>pnoutrefresh</STRONG> routines are analogous to <STRONG>wrefresh</STRONG> and - <STRONG>wnoutrefresh</STRONG> except that they relate to pads instead of windows. The - additional parameters are needed to indicate what part of the pad and - screen are involved. +</PRE><H3><a name="h3-prefresh_pnoutrefresh">prefresh, pnoutrefresh</a></H3><PRE> + <STRONG>prefresh</STRONG> and <STRONG>pnoutrefresh</STRONG> are analogous to <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG> and + <STRONG><A HREF="curs_refresh.3x.html">wnoutrefresh(3x)</A></STRONG> except that they operate on pads rather than windows. + They require additional parameters are needed to indicate what portions + of the pad and screen are involved. - <STRONG>o</STRONG> The <EM>pminrow</EM> and <EM>pmincol</EM> parameters specify the upper left-hand cor- - ner of the rectangle to be displayed in the pad. + <STRONG>o</STRONG> <EM>pminrow</EM> and <EM>pmincol</EM> specify the upper left-hand corner of a + rectangular view of the pad. - <STRONG>o</STRONG> The <EM>sminrow</EM>, <EM>smincol</EM>, <EM>smaxrow</EM>, and <EM>smaxcol</EM> parameters specify the - edges of the rectangle to be displayed on the screen. + <STRONG>o</STRONG> <EM>sminrow</EM>, <EM>smincol</EM>, <EM>smaxrow</EM>, and <EM>smaxcol</EM> specify the vertices of the + rectangle to be displayed on the screen. The lower right-hand corner of the rectangle to be displayed in the pad is calculated from the screen coordinates, since the rectangles must be the same size. Both rectangles must be entirely contained within their - respective structures. Negative values of <EM>pminrow</EM>, <EM>pmincol</EM>, <EM>sminrow</EM>, - or <EM>smincol</EM> are treated as if they were zero. + respective structures. <EM>curses</EM> treats negative values of any of these + parameters as zero. </PRE><H3><a name="h3-pechochar">pechochar</a></H3><PRE> - The <STRONG>pechochar</STRONG> routine is functionally equivalent to a call to <STRONG>addch</STRONG> - followed by a call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>, a call to <STRONG>waddch</STRONG> followed by a call - to <STRONG>wrefresh</STRONG>, or a call to <STRONG>waddch</STRONG> followed by a call to <STRONG>prefresh</STRONG>. The - knowledge that only a single character is being output is taken into - consideration and, for non-control characters, a considerable perfor- - mance gain might be seen by using these routines instead of their - equivalents. In the case of <STRONG>pechochar</STRONG>, the last location of the pad on - the screen is reused for the arguments to <STRONG>prefresh</STRONG>. + <STRONG>pechochar</STRONG> is functionally equivalent to calling <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG> followed by + <STRONG>prefresh</STRONG>. It suggests to the <EM>curses</EM> optimizer that only a single + character is being output; a considerable performance benefit may be + thus enjoyed. The location of the character <EM>ch</EM> written to the pad is + used to populate the arguments to <STRONG>prefresh</STRONG>. </PRE><H3><a name="h3-pecho_wchar">pecho_wchar</a></H3><PRE> - The <STRONG>pecho_wchar</STRONG> function is the analogous wide-character form of <STRONG>pe-</STRONG> - <STRONG>chochar</STRONG>. It outputs one character to a pad and immediately refreshes - the pad. It does this by a call to <STRONG>wadd_wch</STRONG> followed by a call to <STRONG>pre-</STRONG> - <STRONG>fresh</STRONG>. + <STRONG>pecho_wchar</STRONG> is functionally equivalent to calling <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG> followed + by <STRONG>prefresh</STRONG>. It suggests to the <EM>curses</EM> optimizer that only a single + wide character is being output; a considerable performance benefit may + be thus enjoyed. The location of the character <EM>wch</EM> written to the pad + is used to populate the arguments to <STRONG>prefresh</STRONG>. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - Routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 - only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com- - pletion. + Functions that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 + specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful + completion. - Routines that return pointers return <STRONG>NULL</STRONG> on error, and set <STRONG>errno</STRONG> to + Functions that return pointers return <STRONG>NULL</STRONG> on error, and set <STRONG>errno</STRONG> to <STRONG>ENOMEM</STRONG>. - X/Open does not define any error conditions. In this implementation + X/Open Curses does not specify any error conditions. In this + implementation <STRONG>prefresh</STRONG> and <STRONG>pnoutrefresh</STRONG> return an error if the window pointer is null, or if the window is not really a pad or if the area to refresh extends off- - screen or if the minimum coordinates are greater than the maxi- - mum. + screen or if the minimum coordinates are greater than the + maximum. <STRONG>pechochar</STRONG> - returns an error if the window is not really a pad, and the as- - sociated call to <STRONG>wechochar</STRONG> returns an error. + returns an error if the window is not really a pad, and the + associated call to <STRONG>wechochar</STRONG> returns an error. <STRONG>pecho_wchar</STRONG> - returns an error if the window is not really a pad, and the as- - sociated call to <STRONG>wecho_wchar</STRONG> returns an error. + returns an error if the window is not really a pad, and the + associated call to <STRONG>wecho_wchar</STRONG> returns an error. </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - Note that <STRONG>pechochar</STRONG> may be a macro. + <STRONG>pechochar</STRONG> may be a macro. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - BSD curses has no <EM>pad</EM> feature. + BSD <EM>curses</EM> has no <EM>pad</EM> feature. - SVr2 curses (1986) provided the <STRONG>newpad</STRONG> and related functions, document- - ing them in a single line each. SVr3 (1987) provided more extensive - documentation. + SVr2 <EM>curses</EM> (1986) provided the <STRONG>newpad</STRONG> and related functions, + documenting them in a single line each. SVr3 (1987) provided more + extensive documentation. The documentation does not explain the term <EM>pad</EM>. However, the Apollo <EM>Aegis</EM> workstation operating system supported a graphical <EM>pad</EM> feature: - <STRONG>o</STRONG> These graphical pads could be much larger than the computer's dis- - play. + <STRONG>o</STRONG> These graphical pads could be much larger than the computer's + display. - <STRONG>o</STRONG> The read-only output from a command could be scrolled back to in- - spect, and select text from the pad. + <STRONG>o</STRONG> The read-only output from a command could be scrolled back to + inspect, and select text from the pad. The two uses may be related. - The XSI Curses standard, Issue 4 describes these functions, without - significant change from the SVr3 documentation. It describes no error - conditions. The behavior of <STRONG>subpad</STRONG> if the parent window is not a pad - is undocumented, and is not checked by the vendor Unix implementations: + X/Open Curses, Issue 4 describes these functions, without significant + change from the SVr3 documentation. It describes no error conditions. + The behavior of <STRONG>subpad</STRONG> if the parent window is not a pad is + undocumented, and is not checked by the vendor Unix implementations: - <STRONG>o</STRONG> SVr4 curses sets a flag in the <STRONG>WINDOW</STRONG> structure in <STRONG>newpad</STRONG> which + <STRONG>o</STRONG> SVr4 <EM>curses</EM> sets a flag in the <EM>WINDOW</EM> structure in <STRONG>newpad</STRONG> which tells if the window is a <EM>pad</EM>. However, it uses this information only in <STRONG>waddch</STRONG> (to decide if it @@ -191,20 +189,20 @@ does not check in <STRONG>wrefresh</STRONG> to ensure that the pad is refreshed properly. - <STRONG>o</STRONG> Solaris X/Open Curses checks if a window is a pad in <STRONG>wnoutrefresh</STRONG>, + <STRONG>o</STRONG> Solaris <EM>xcurses</EM> checks whether a window is a pad in <STRONG>wnoutrefresh</STRONG>, returning <STRONG>ERR</STRONG> in that case. However, it only sets the flag for subwindows if the parent window - is a pad. Its <STRONG>newpad</STRONG> function does not set this information. Con- - sequently, the check will never fail. + is a pad. Its <STRONG>newpad</STRONG> function does not set this information. + Consequently, the check will never fail. It makes no comparable check in <STRONG>pnoutrefresh</STRONG>, though interestingly enough, a comment in the source code states that the lack of a check was an MKS extension. - <STRONG>o</STRONG> NetBSD 7 curses sets a flag in the <STRONG>WINDOW</STRONG> structure for <STRONG>newpad</STRONG> and - <STRONG>subpad</STRONG>, using this to help with the distinction between <STRONG>wnoutre-</STRONG> - <STRONG>fresh</STRONG> and <STRONG>pnoutrefresh</STRONG>. + <STRONG>o</STRONG> NetBSD 7 <EM>curses</EM> sets a flag in the <EM>WINDOW</EM> structure for <STRONG>newpad</STRONG> and + <STRONG>subpad</STRONG>, using this to help with the distinction between + <STRONG>wnoutrefresh</STRONG> and <STRONG>pnoutrefresh</STRONG>. It does not check for the case where a subwindow is created in a pad using <STRONG>subwin</STRONG> or <STRONG>derwin</STRONG>. @@ -215,7 +213,7 @@ This implementation - <STRONG>o</STRONG> sets a flag in the <STRONG>WINDOW</STRONG> structure for <STRONG>newpad</STRONG> and <STRONG>subpad</STRONG>, + <STRONG>o</STRONG> sets a flag in the <EM>WINDOW</EM> structure for <STRONG>newpad</STRONG> and <STRONG>subpad</STRONG>, <STRONG>o</STRONG> allows a <STRONG>subwin</STRONG> or <STRONG>derwin</STRONG> call to succeed having a pad parent by forcing the subwindow to be a pad, @@ -223,16 +221,16 @@ <STRONG>o</STRONG> checks in both <STRONG>wnoutrefresh</STRONG> and <STRONG>pnoutrefresh</STRONG> to ensure that pads and windows are handled distinctly, and - <STRONG>o</STRONG> ensures that <STRONG>dupwin</STRONG> and <STRONG>getwin</STRONG> treat pads versus windows consis- - tently. + <STRONG>o</STRONG> ensures that <STRONG>dupwin</STRONG> and <STRONG>getwin</STRONG> treat pads versus windows + consistently. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>. + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG> - <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> +ncurses 6.5 2024-04-27 <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -242,7 +240,7 @@ <ul> <li><a href="#h3-newpad">newpad</a></li> <li><a href="#h3-subpad">subpad</a></li> -<li><a href="#h3-prefresh_-pnoutrefresh">prefresh, pnoutrefresh</a></li> +<li><a href="#h3-prefresh_pnoutrefresh">prefresh, pnoutrefresh</a></li> <li><a href="#h3-pechochar">pechochar</a></li> <li><a href="#h3-pecho_wchar">pecho_wchar</a></li> </ul> diff --git a/doc/html/man/curs_print.3x.html b/doc/html/man/curs_print.3x.html index 8550173febaa..92fb48d47856 100644 --- a/doc/html/man/curs_print.3x.html +++ b/doc/html/man/curs_print.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,27 +27,27 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_print.3x,v 1.16 2020/10/24 09:25:14 tom Exp @ + * @Id: curs_print.3x,v 1.38 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_print 3x</TITLE> +<TITLE>curs_print 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_print 3x</H1> +<H1 class="no-header">curs_print 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> +<STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>mcprint</STRONG> - ship binary data to printer + <STRONG>mcprint</STRONG> - write binary data to printer using <EM>terminfo</EM> capabilities </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -74,23 +74,28 @@ some reason. In this case, <STRONG>errno</STRONG> will contain either an error associated with <STRONG>write(2)</STRONG> or one of the following: - ENODEV + <STRONG>ENODEV</STRONG> Capabilities for printer redirection do not exist. - ENOMEM + <STRONG>ENOMEM</STRONG> Couldn't allocate sufficient memory to buffer the printer write. When <STRONG>mcprint</STRONG> succeeds, it returns the number of characters actually sent to the printer. +</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE> + <STRONG>mcprint</STRONG> was designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and was not found in SVr4 <EM>curses</EM>, + 4.4BSD <EM>curses</EM>, or any other previous curses implementation. + + </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - The <STRONG>mcprint</STRONG> call was designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and is not found in SVr4 - curses, 4.4BSD curses, or any other previous version of curses. + Applications employing this <EM>ncurses</EM> extension should condition its use + on the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro. </PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE> - Padding in the <STRONG>mc5p</STRONG>, <STRONG>mc4</STRONG> and <STRONG>mc5</STRONG> capabilities will not be interpreted. + Padding in the <STRONG>mc5p</STRONG>, <STRONG>mc4</STRONG>, and <STRONG>mc5</STRONG> capabilities is not interpreted. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> @@ -98,7 +103,7 @@ - <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -106,6 +111,7 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> +<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-BUGS">BUGS</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> diff --git a/doc/html/man/curs_printw.3x.html b/doc/html/man/curs_printw.3x.html index 9dfc57807b35..259b56121b93 100644 --- a/doc/html/man/curs_printw.3x.html +++ b/doc/html/man/curs_printw.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,28 +27,28 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_printw.3x,v 1.28 2020/10/24 09:22:45 tom Exp @ + * @Id: curs_printw.3x,v 1.53 2024/04/20 19:18:18 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_printw 3x</TITLE> +<TITLE>curs_printw 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_printw 3x</H1> +<H1 class="no-header">curs_printw 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG> <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG> +<STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG>, <STRONG>mvwprintw</STRONG>, <STRONG>vwprintw</STRONG>, <STRONG>vw_printw</STRONG> - print - formatted output in <STRONG>curses</STRONG> windows + <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG>, <STRONG>mvwprintw</STRONG>, <STRONG>vwprintw</STRONG>, <STRONG>vw_printw</STRONG> - write + formatted output to a <EM>curses</EM> window </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -58,91 +58,96 @@ <STRONG>int</STRONG> <STRONG>wprintw(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>...);</STRONG> <STRONG>int</STRONG> <STRONG>mvprintw(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>...);</STRONG> <STRONG>int</STRONG> <STRONG>mvwprintw(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>...);</STRONG> + <STRONG>int</STRONG> <STRONG>vw_printw(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>va_list</STRONG> <EM>varglist</EM><STRONG>);</STRONG> - /* obsolete */ + <EM>/*</EM> <EM>obsolete</EM> <EM>*/</EM> <STRONG>int</STRONG> <STRONG>vwprintw(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>va_list</STRONG> <EM>varglist</EM><STRONG>);</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - The <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG> and <STRONG>mvwprintw</STRONG> routines are analogous to - <STRONG>printf</STRONG> [see <STRONG>printf(3)</STRONG>]. In effect, the string that would be output by - <STRONG>printf</STRONG> is output instead as though <STRONG>waddstr</STRONG> were used on the given win- - dow. + <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG>, and <STRONG>mvwprintw</STRONG> are analogous to <STRONG>printf(3)</STRONG>. + In effect, the string that would be output by <STRONG>printf(3)</STRONG> is instead + output as though <STRONG><A HREF="curs_addstr.3x.html">waddstr(3x)</A></STRONG> were used with <EM>win</EM> (or <STRONG>stdscr</STRONG>) as its + first argument. - The <STRONG>vwprintw</STRONG> and <STRONG>vw_printw</STRONG> routines are analogous to <STRONG>vprintf</STRONG> [see - <STRONG>printf(3)</STRONG>] and perform a <STRONG>wprintw</STRONG> using a variable argument list. The - third argument is a <STRONG>va_list</STRONG>, a pointer to a list of arguments, as de- - fined in <STRONG><stdarg.h></STRONG>. + <STRONG>vwprintw</STRONG> and <STRONG>vw_printw</STRONG> are analogous to <STRONG>vprintf(3)</STRONG>, and perform a + <STRONG>wprintw</STRONG> using a variable argument list. The third argument is a + <EM>va</EM><STRONG>_</STRONG><EM>list</EM>, a pointer to a list of arguments, as defined in <EM>stdarg.h</EM>. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - Routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 - only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com- - pletion. + These functions return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon success. - X/Open defines no error conditions. In this implementation, an error - may be returned if it cannot allocate enough memory for the buffer used - to format the results. It will return an error if the window pointer - is null. + In <EM>ncurses</EM>, failure occurs if the library cannot allocate enough memory + for the buffer into which the output is formatted, or if the window + pointer <EM>win</EM> is null. - Functions with a "mv" prefix first perform a cursor movement using - <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if - the window pointer is null. + Functions prefixed with "mv" first perform cursor movement and fail if + the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries. -</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE> - While <STRONG>printw</STRONG> was implemented in 4BSD, it was unused until 4.2BSD (which - used it in games). That early version of curses was before the ANSI C - standard. It did not use <varargs.h>, though that was available. In - 1991 (a couple of years after SVr4 was generally available, and after - the C standard was published), other developers updated the library, - using <stdarg.h> internally in 4.4BSD curses. Even with this improve- - ment, BSD curses did not use function prototypes (or even declare func- - tions) in the <curses.h> header until 1992. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + No wide character counterpart functions are defined by the "wide" + <EM>ncurses</EM> configuration nor by any standard. To format and write a wide- + character string to a <EM>curses</EM> window, consider using <STRONG>swprintf(3)</STRONG> and + <STRONG><A HREF="curs_addwstr.3x.html">waddwstr(3x)</A></STRONG> or similar. - SVr2 documented <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG> tersely as "printf on <EM>stdscr</EM>" and - tersely as "printf on <EM>win</EM>", respectively. - SVr3 added <STRONG>mvprintw</STRONG>, and <STRONG>mvwprintw</STRONG>, with a three-line summary saying - that they were analogous to <STRONG>printf(3)</STRONG>, explaining that the string which - would be output from <STRONG>printf(3)</STRONG> would instead be output using <STRONG>waddstr</STRONG> on - the given window. SVr3 also added <STRONG>vwprintw</STRONG>, saying that the third pa- - rameter is a <STRONG>va_list</STRONG>, defined in <varargs.h>, and referring the reader - to the manual pages for <EM>varargs</EM> and <EM>vprintf</EM> for detailed descriptions. +</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> + X/Open Curses, Issue 4 describes these functions. It specifies no + error conditions for them. - SVr4 added no new variations of <STRONG>printw</STRONG>, but provided for using - <varargs.h> or <stdarg.h> to define the <STRONG>va_list</STRONG> type. + <EM>ncurses</EM> defines <STRONG>vw_printw</STRONG> and <STRONG>vwprintw</STRONG> identically to support legacy + applications. However, the latter is obsolete. - X/Open Curses added <STRONG>vw_printw</STRONG> to replace <STRONG>vwprintw</STRONG>, stating that its - <STRONG>va_list</STRONG> definition requires <stdarg.h>. + <STRONG>o</STRONG> X/Open Curses, Issue 4 Version 2 (1996), marked <STRONG>vwprintw</STRONG> as + requiring <EM>varargs.h</EM> and "TO BE WITHDRAWN", and specified <STRONG>vw_printw</STRONG> + using the <EM>stdarg.h</EM> interface. + <STRONG>o</STRONG> X/Open Curses, Issue 5, Draft 2 (December 2007) marked <STRONG>vwprintw</STRONG> + (along with <STRONG>vwscanw</STRONG> and the <EM>termcap</EM> interface) as withdrawn. After + incorporating review comments, this became X/Open Curses, Issue 7 + (2009). -</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - In this implementation, <STRONG>vw_printw</STRONG> and <STRONG>vwprintw</STRONG> are equivalent, to sup- - port legacy applications. However, the latter (<STRONG>vwprintw</STRONG>) is obsolete: + <STRONG>o</STRONG> <EM>ncurses</EM> provides <STRONG>vwprintw</STRONG>, but marks it as deprecated. - <STRONG>o</STRONG> The XSI Curses standard, Issue 4 described these functions. The - function <STRONG>vwprintw</STRONG> is marked TO BE WITHDRAWN, and is to be replaced - by a function <STRONG>vw_printw</STRONG> using the <STRONG><stdarg.h></STRONG> interface. - <STRONG>o</STRONG> The Single Unix Specification, Version 2 states that <STRONG>vw_printw</STRONG> is - preferred to <STRONG>vwprintw</STRONG> since the latter requires including - <STRONG><varargs.h></STRONG>, which cannot be used in the same file as <STRONG><stdarg.h></STRONG>. - This implementation uses <STRONG><stdarg.h></STRONG> for both, because that header - is included in <STRONG><curses.h</STRONG>>. - - <STRONG>o</STRONG> X/Open Curses, Issue 5 (December 2007) marked <STRONG>vwprintw</STRONG> (along with - <STRONG>vwscanw</STRONG> and the termcap interface) as withdrawn. +</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE> + While <STRONG>printw</STRONG> was implemented in 4BSD (November 1980), it was unused + until 4.2BSD (August 1983), which employed it for games. That early + version of <EM>curses</EM> preceded the ANSI C standard of 1989. It did not use + <EM>varargs.h</EM>, though that had been available since Seventh Edition Unix + (1979). In 1991 (a couple of years after SVr4 was generally available, + and after the C standard was published), other developers updated the + library, using <EM>stdarg.h</EM> internally in 4.4BSD <EM>curses</EM>. Even with this + improvement, BSD <EM>curses</EM> did not use function prototypes (nor even + declare functions) in <EM>curses.h</EM> until 1992. + + SVr2 (1984) documented <STRONG>printw</STRONG> and <STRONG>wprintw</STRONG> tersely as "printf on <STRONG>stdscr</STRONG>" + and "printf on <EM>win</EM>", respectively. + + SVr3 (1987) added <STRONG>mvprintw</STRONG> and <STRONG>mvwprintw</STRONG>, with a three-line summary + asserting that they were analogous to <STRONG>printf(3)</STRONG>, explaining that the + string that <STRONG>printf(3)</STRONG> would write to the standard output stream would + instead be output using <STRONG>waddstr</STRONG> to the given window. SVr3 also + implemented <STRONG>vwprintw</STRONG>, describing its third parameter as a <EM>va</EM><STRONG>_</STRONG><EM>list</EM>, + defined in <EM>varargs.h</EM>, and referred the reader to the manual pages for + <EM>varargs</EM> and <EM>vprintf</EM> for detailed descriptions. + + SVr4 (1989) introduced no new variations of <EM>printw</EM>, but provided for + using either <EM>varargs.h</EM> or <EM>stdarg.h</EM> to define the <EM>va</EM><STRONG>_</STRONG><EM>list</EM> type. + + X/Open Curses, Issue 4 (1995), defined <STRONG>vw_printw</STRONG> to replace <STRONG>vwprintw</STRONG>, + stating that its <EM>va</EM><STRONG>_</STRONG><EM>list</EM> type is defined in <EM>stdarg.h</EM>. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>, <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>, - <STRONG>printf(3)</STRONG>, <STRONG>vprintf(3)</STRONG>. + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>, <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>, <STRONG>printf(3)</STRONG>, <STRONG>vprintf(3)</STRONG> - <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -150,8 +155,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-HISTORY">HISTORY</a></li> +<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-HISTORY">HISTORY</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> diff --git a/doc/html/man/curs_refresh.3x.html b/doc/html/man/curs_refresh.3x.html index e18574c60121..4beec325ad44 100644 --- a/doc/html/man/curs_refresh.3x.html +++ b/doc/html/man/curs_refresh.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2016 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,28 +27,28 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_refresh.3x,v 1.22 2020/10/24 09:43:49 tom Exp @ + * @Id: curs_refresh.3x,v 1.46 2024/04/20 21:20:07 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_refresh 3x</TITLE> +<TITLE>curs_refresh 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_refresh 3x</H1> +<H1 class="no-header">curs_refresh 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> +<STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>doupdate</STRONG>, <STRONG>redrawwin</STRONG>, <STRONG>refresh</STRONG>, <STRONG>wnoutrefresh</STRONG>, <STRONG>wredrawln</STRONG>, <STRONG>wrefresh</STRONG> - - refresh <STRONG>curses</STRONG> windows and lines + <STRONG>doupdate</STRONG>, <STRONG>redrawwin</STRONG>, <STRONG>refresh</STRONG>, <STRONG>wnoutrefresh</STRONG>, <STRONG>wredrawln</STRONG>, <STRONG>wrefresh</STRONG> - + refresh <EM>curses</EM> windows or lines thereupon </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -65,21 +65,21 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> -</PRE><H3><a name="h3-refresh_wrefresh">refresh/wrefresh</a></H3><PRE> +</PRE><H3><a name="h3-refresh_wrefresh">refresh, wrefresh</a></H3><PRE> The <STRONG>refresh</STRONG> and <STRONG>wrefresh</STRONG> routines (or <STRONG>wnoutrefresh</STRONG> and <STRONG>doupdate</STRONG>) must - be called to get actual output to the terminal, as other routines mere- - ly manipulate data structures. The routine <STRONG>wrefresh</STRONG> copies the named - window to the <EM>physical</EM> <EM>screen</EM>, taking into account what is already - there to do optimizations. The <STRONG>refresh</STRONG> routine is the same, using <STRONG>std-</STRONG> - <STRONG>scr</STRONG> as the default window. Unless <STRONG>leaveok</STRONG> has been enabled, the physi- - cal cursor of the terminal is left at the location of the cursor for - that window. + be called to get actual output to the terminal, as other routines + merely manipulate data structures. The routine <STRONG>wrefresh</STRONG> copies the + named window to the <EM>physical</EM> <EM>screen</EM>, taking into account what is + already there to do optimizations. The <STRONG>refresh</STRONG> routine is the same, + using <STRONG>stdscr</STRONG> as the default window. Unless <STRONG><A HREF="leaveok.3x.html">leaveok(3x)</A></STRONG> has been + enabled, the physical cursor of the terminal is left at the location of + the cursor for that window. -</PRE><H3><a name="h3-wnoutrefresh_doupdate">wnoutrefresh/doupdate</a></H3><PRE> +</PRE><H3><a name="h3-wnoutrefresh_doupdate">wnoutrefresh, doupdate</a></H3><PRE> The <STRONG>wnoutrefresh</STRONG> and <STRONG>doupdate</STRONG> routines allow multiple updates with more - efficiency than <STRONG>wrefresh</STRONG> alone. In addition to all the window struc- - tures, <STRONG>curses</STRONG> keeps two data structures representing the terminal + efficiency than <STRONG>wrefresh</STRONG> alone. In addition to all the window + structures, <STRONG>curses</STRONG> keeps two data structures representing the terminal screen: <STRONG>o</STRONG> a <EM>physical</EM> <EM>screen</EM>, describing what is actually on the screen, and @@ -98,43 +98,44 @@ If the programmer wishes to output several windows at once, a series of calls to <STRONG>wrefresh</STRONG> results in alternating calls to <STRONG>wnoutrefresh</STRONG> and <STRONG>doupdate</STRONG>, causing several bursts of output to the screen. By first - calling <STRONG>wnoutrefresh</STRONG> for each window, it is then possible to call <STRONG>doup-</STRONG> - <STRONG>date</STRONG> once, resulting in only one burst of output, with fewer total + calling <STRONG>wnoutrefresh</STRONG> for each window, it is then possible to call + <STRONG>doupdate</STRONG> once, resulting in only one burst of output, with fewer total characters transmitted and less CPU time used. - If the <EM>win</EM> argument to <STRONG>wrefresh</STRONG> is the <EM>physical</EM> <EM>screen</EM> (i.e., the glob- - al variable <STRONG>curscr</STRONG>), the screen is immediately cleared and repainted - from scratch. + If the <EM>win</EM> argument to <STRONG>wrefresh</STRONG> is the <EM>physical</EM> <EM>screen</EM> (i.e., the + global variable <STRONG>curscr</STRONG>), the screen is immediately cleared and + repainted from scratch. - The phrase "copies the named window to the virtual screen" above is am- - biguous. What actually happens is that all <EM>touched</EM> (changed) lines in - the window are copied to the virtual screen. This affects programs + The phrase "copies the named window to the virtual screen" above is + ambiguous. What actually happens is that all <EM>touched</EM> (changed) lines + in the window are copied to the virtual screen. This affects programs that use overlapping windows; it means that if two windows overlap, you - can refresh them in either order and the overlap region will be modi- - fied only when it is explicitly changed. (But see the section on + can refresh them in either order and the overlap region will be + modified only when it is explicitly changed. (But see the section on <STRONG>PORTABILITY</STRONG> below for a warning about exploiting this behavior.) -</PRE><H3><a name="h3-wredrawln_redrawwin">wredrawln/redrawwin</a></H3><PRE> +</PRE><H3><a name="h3-wredrawln_redrawwin">wredrawln, redrawwin</a></H3><PRE> The <STRONG>wredrawln</STRONG> routine indicates to <STRONG>curses</STRONG> that some screen lines are corrupted and should be thrown away before anything is written over - them. It touches the indicated lines (marking them changed). The rou- - tine <STRONG>redrawwin</STRONG> touches the entire window. + them. It touches the indicated lines (marking them changed). The + routine <STRONG>redrawwin</STRONG> touches the entire window. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - Routines that return an integer return <STRONG>ERR</STRONG> upon failure, and <STRONG>OK</STRONG> (SVr4 - only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com- - pletion. + These routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 + specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful + completion. - X/Open does not define any error conditions. In this implementation + X/Open Curses does not specify any error conditions. In this + implementation <STRONG>wnoutrefresh</STRONG> - returns an error if the window pointer is null, or if the win- - dow is really a pad. + returns an error if the window pointer is null, or if the + window is really a pad. <STRONG>wredrawln</STRONG> - returns an error if the associated call to <STRONG>touchln</STRONG> returns an + returns an error if the associated call to <STRONG>touchln</STRONG> returns an error. @@ -143,23 +144,23 @@ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - The XSI Curses standard, Issue 4 describes these functions. + X/Open Curses, Issue 4 describes these functions. - Whether <STRONG>wnoutrefresh</STRONG> copies to the virtual screen the entire contents + Whether <STRONG>wnoutrefresh</STRONG> copies to the virtual screen the entire contents of a window or just its changed portions has never been well-documented - in historic curses versions (including SVr4). It might be unwise to - rely on either behavior in programs that might have to be linked with + in historic curses versions (including SVr4). It might be unwise to + rely on either behavior in programs that might have to be linked with other curses implementations. Instead, you can do an explicit <STRONG>touchwin</STRONG> - before the <STRONG>wnoutrefresh</STRONG> call to guarantee an entire-contents copy any- - where. + before the <STRONG>wnoutrefresh</STRONG> call to guarantee an entire-contents copy + anywhere. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>. + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> - <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -167,9 +168,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a> <ul> -<li><a href="#h3-refresh_wrefresh">refresh/wrefresh</a></li> -<li><a href="#h3-wnoutrefresh_doupdate">wnoutrefresh/doupdate</a></li> -<li><a href="#h3-wredrawln_redrawwin">wredrawln/redrawwin</a></li> +<li><a href="#h3-refresh_wrefresh">refresh, wrefresh</a></li> +<li><a href="#h3-wnoutrefresh_doupdate">wnoutrefresh, doupdate</a></li> +<li><a href="#h3-wredrawln_redrawwin">wredrawln, redrawwin</a></li> </ul> </li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> diff --git a/doc/html/man/curs_scanw.3x.html b/doc/html/man/curs_scanw.3x.html index 91b68292143b..d0b9b7947d47 100644 --- a/doc/html/man/curs_scanw.3x.html +++ b/doc/html/man/curs_scanw.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,28 +27,28 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_scanw.3x,v 1.28 2020/10/24 09:29:26 tom Exp @ + * @Id: curs_scanw.3x,v 1.53 2024/04/20 19:18:18 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_scanw 3x</TITLE> +<TITLE>curs_scanw 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_scanw 3x</H1> +<H1 class="no-header">curs_scanw 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG> <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG> +<STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG>, <STRONG>mvscanw</STRONG>, <STRONG>mvwscanw</STRONG>, <STRONG>vwscanw</STRONG>, <STRONG>vw_scanw</STRONG> - convert formatted - input from a <STRONG>curses</STRONG> window + <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG>, <STRONG>mvscanw</STRONG>, <STRONG>mvwscanw</STRONG>, <STRONG>vwscanw</STRONG>, <STRONG>vw_scanw</STRONG> - read formatted + input from a <EM>curses</EM> window </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -61,109 +61,125 @@ <STRONG>int</STRONG> <STRONG>vw_scanw(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>va_list</STRONG> <EM>varglist</EM><STRONG>);</STRONG> - /* obsolete */ + <EM>/*</EM> <EM>obsolete</EM> <EM>*/</EM> <STRONG>int</STRONG> <STRONG>vwscanw(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>va_list</STRONG> <EM>varglist</EM><STRONG>);</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - The <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG> and <STRONG>mvscanw</STRONG> routines are analogous to <STRONG>scanf</STRONG> [see - <STRONG>scanf(3)</STRONG>]. The effect of these routines is as though <STRONG>wgetstr</STRONG> were - called on the window, and the resulting line used as input for - <STRONG>sscanf(3)</STRONG>. Fields which do not map to a variable in the <EM>fmt</EM> field are - lost. + <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG>, <STRONG>mvscanw</STRONG>, and <STRONG>mvwscanw</STRONG> are analogous to <STRONG>scanf(3)</STRONG>. In + effect, they call <STRONG><A HREF="curs_getstr.3x.html">wgetstr(3x)</A></STRONG> with <EM>win</EM> (or <STRONG>stdscr</STRONG>) as its first + argument, then attempt conversion of the resulting string with + <STRONG>vsscanf(3)</STRONG>. Fields in the string that do not map to a variable in the + <EM>fmt</EM> parameter are discarded. - The <STRONG>vwscanw</STRONG> and <STRONG>vw_scanw</STRONG> routines are analogous to <STRONG>vscanf(3)</STRONG>. They - perform a <STRONG>wscanw</STRONG> using a variable argument list. The third argument is - a <EM>va</EM><STRONG>_</STRONG><EM>list</EM>, a pointer to a list of arguments, as defined in <STRONG><stdarg.h></STRONG>. + <STRONG>vwscanw</STRONG> and <STRONG>vw_scanw</STRONG> are analogous to <STRONG>vscanf(3)</STRONG>, and perform a <STRONG>wscanw</STRONG> + using a variable argument list. The third argument is a <EM>va</EM><STRONG>_</STRONG><EM>list</EM>, a + pointer to a list of arguments, as defined in <EM>stdarg.h</EM>. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - <STRONG>vwscanw</STRONG> returns <STRONG>ERR</STRONG> on failure and an integer equal to the number of - fields scanned on success. + These functions return <STRONG>ERR</STRONG> upon failure and otherwise a count of + successful conversions; this quantity may be zero. - Applications may use the return value from the <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG>, <STRONG>mvscanw</STRONG> - and <STRONG>mvwscanw</STRONG> routines to determine the number of fields which were - mapped in the call. + In <EM>ncurses</EM>, failure occurs if <STRONG>vsscanf(3)</STRONG> returns <STRONG>EOF</STRONG>, or if the window + pointer <EM>win</EM> is null. - Functions with a "mv" prefix first perform a cursor movement using - <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if - the window pointer is null. + Functions prefixed with "mv" first perform cursor movement and fail if + the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries. -</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE> - While <STRONG>scanw</STRONG> was implemented in 4BSD, none of the BSD releases used it - until 4.4BSD (in a game). That early version of curses was before the - ANSI C standard. It did not use <varargs.h>, though that was - available. In 1991 (a couple of years after SVr4 was generally - available, and after the C standard was published), other developers - updated the library, using <stdarg.h> internally in 4.4BSD curses. - Even with this improvement, BSD curses did not use function prototypes - (or even declare functions) in the <curses.h> header until 1992. - - SVr2 documented <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG> tersely as "scanf through <EM>stdscr</EM>" and - tersely as "scanf through <EM>win</EM>", respectively. - - SVr3 added <STRONG>mvscanw</STRONG>, and <STRONG>mvwscanw</STRONG>, with a three-line summary saying that - they were analogous to <STRONG>scanf(3)</STRONG>, explaining that the string which would - be output from <STRONG>scanf(3)</STRONG> would instead be output using <STRONG>waddstr</STRONG> on the - given window. SVr3 also added <STRONG>vwscanw</STRONG>, saying that the third parameter - is a <STRONG>va_list</STRONG>, defined in <varargs.h>, and referring the reader to the - manual pages for <EM>varargs</EM> and <EM>vprintf</EM> for detailed descriptions. - (Because the SVr3 documentation does not mention <EM>vscanf</EM>, that reference - to <EM>vprintf</EM> may not be an error). - - SVr4 added no new variations of <STRONG>scanw</STRONG>, but provided for using - <varargs.h> or <stdarg.h> to define the <STRONG>va_list</STRONG> type. - - X/Open Curses added <STRONG>vw_scanw</STRONG> to replace <STRONG>vwscanw</STRONG>, stating that its - <STRONG>va_list</STRONG> definition requires <stdarg.h>. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + No wide character counterpart functions are defined by the "wide" + <EM>ncurses</EM> configuration nor by any standard. They are unnecessary: to + retrieve and convert a wide-character string from a <EM>curses</EM> terminal + keyboard, use these functions with the <STRONG>scanf(3)</STRONG> conversions "%lc" and + "%ls" for wide characters and strings, respectively. + + <EM>ncurses</EM> implements <STRONG>vsscanf(3)</STRONG> internally if it is unavailable when the + library is configured. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - In this implementation, <STRONG>vw_scanw</STRONG> and <STRONG>vwscanw</STRONG> are equivalent, to support - legacy applications. However, the latter (<STRONG>vwscanw</STRONG>) is obsolete: + X/Open Curses, Issue 4 describes these functions. It specifies no + error conditions for them. + + <EM>ncurses</EM> defines <STRONG>vw_scanw</STRONG> and <STRONG>vwscanw</STRONG> identically to support legacy + applications. However, the latter is obsolete. - <STRONG>o</STRONG> The XSI Curses standard, Issue 4 described these functions, noting - that the function <STRONG>vwscanw</STRONG> is marked TO BE WITHDRAWN, and is to be - replaced by a function <STRONG>vw_scanw</STRONG> using the <STRONG><stdarg.h></STRONG> interface. + <STRONG>o</STRONG> X/Open Curses, Issue 4 Version 2 (1996), marked <STRONG>vwscanw</STRONG> as + requiring <EM>varargs.h</EM> and "TO BE WITHDRAWN", and specified <STRONG>vw_scanw</STRONG> + using the <EM>stdarg.h</EM> interface. - <STRONG>o</STRONG> The Single Unix Specification, Version 2 states that <STRONG>vw_scanw</STRONG> is - preferred to <STRONG>vwscanw</STRONG> since the latter requires including - <STRONG><varargs.h></STRONG>, which cannot be used in the same file as <STRONG><stdarg.h></STRONG>. - This implementation uses <STRONG><stdarg.h></STRONG> for both, because that header - is included in <STRONG><curses.h</STRONG>>. + <STRONG>o</STRONG> X/Open Curses, Issue 5, Draft 2 (December 2007) marked <STRONG>vwscanw</STRONG> + (along with <STRONG>vwscanw</STRONG> and the <EM>termcap</EM> interface) as withdrawn. After + incorporating review comments, this became X/Open Curses, Issue 7 + (2009). - <STRONG>o</STRONG> X/Open Curses, Issue 5 (December 2007) marked <STRONG>vwscanw</STRONG> (along with - <STRONG>vwprintw</STRONG> and the termcap interface) as withdrawn. + <STRONG>o</STRONG> <EM>ncurses</EM> provides <STRONG>vwscanw</STRONG>, but marks it as deprecated. - Both XSI and The Single Unix Specification, Version 2 state that these - functions return <STRONG>ERR</STRONG> or <STRONG>OK</STRONG>. + X/Open Curses Issues 4 and 7 both state that these functions return <STRONG>ERR</STRONG> + or <STRONG>OK</STRONG>. This is likely an erratum. - <STRONG>o</STRONG> Since the underlying <STRONG>scanf(3)</STRONG> can return the number of items - scanned, and the SVr4 code was documented to use this feature, this - is probably an editing error which was introduced in XSI, rather - than being done intentionally. + <STRONG>o</STRONG> Since the underlying <STRONG>scanf(3)</STRONG> returns the number of successful + conversions, and SVr4 <EM>curses</EM> was documented to use this feature, + this may have been an editorial solecism introduced by X/Open, + rather than an intentional change. - <STRONG>o</STRONG> This implementation returns the number of items scanned, for - compatibility with SVr4 curses. As of 2018, NetBSD curses also - returns the number of items scanned. Both ncurses and NetBSD - curses call <STRONG>vsscanf</STRONG> to scan the string, which returns <STRONG>EOF</STRONG> on error. + <STRONG>o</STRONG> This implementation retains compatibility with SVr4 <EM>curses</EM>. As of + 2018, NetBSD <EM>curses</EM> also returns the number of successful + conversions. Both <EM>ncurses</EM> and NetBSD <EM>curses</EM> call <STRONG>vsscanf(3)</STRONG> to + scan the string, which returns <STRONG>EOF</STRONG> on error. - <STRONG>o</STRONG> Portable applications should only test if the return value is <STRONG>ERR</STRONG>, - since the <STRONG>OK</STRONG> value (zero) is likely to be misleading. + <STRONG>o</STRONG> Portable applications should test only if the return value is <STRONG>ERR</STRONG>, + and not compare it to <STRONG>OK</STRONG>, since that value (zero) might be + misleading. + + One portable way to get useful results would be to use a "%n" + conversion at the end of the format string, and check the value of + the corresponding variable to determine how many conversions + succeeded. + + +</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE> + <STRONG>scanw</STRONG> was implemented in 4BSD (November 1980); that early version of + <EM>curses</EM> preceded the ANSI C standard of 1989. The function was unused + in Berkeley distributions for over ten years, until 4.4BSD, which + employed it in a game. The 4BSD <STRONG>scanw</STRONG> did not use <EM>varargs.h</EM>, though + that had been available since Seventh Edition Unix (1979). In 1991 (a + couple of years after SVr4 was generally available, and after the C + standard was published), other developers updated the library, using + <EM>stdarg.h</EM> internally in 4.4BSD <EM>curses</EM>. Even with this improvement, BSD + <EM>curses</EM> did not use function prototypes (nor even declare functions) in + <EM>curses.h</EM> until 1992. - One possible way to get useful results would be to use a "%n" - conversion at the end of the format string to ensure that something - was processed. + SVr2 (1984) documented <STRONG>scanw</STRONG> and <STRONG>wscanw</STRONG> tersely as "scanf through + <STRONG>stdscr</STRONG>" and "scanf through <EM>win</EM>", respectively. + + SVr3 (1987) added <STRONG>mvscanw</STRONG>, and <STRONG>mvwscanw</STRONG>, stating + + "[t]hese routines correspond to <STRONG>scanf(3S)</STRONG>, as do their arguments + and return values. <STRONG>wgetstr</STRONG>() is called on the window, and the + resulting line is used as input for the scan." + + SVr3 also implemented <STRONG>vwscanw</STRONG>, describing its third parameter as a + <EM>va</EM><STRONG>_</STRONG><EM>list</EM>, defined in <EM>varargs.h</EM>, and referred the reader to the manual + pages for <EM>varargs</EM> and <EM>vprintf</EM> for detailed descriptions. (Because the + SVr3 documentation does not mention <EM>vscanf</EM>, the reference to <EM>vprintf</EM> + might not be an error). + + SVr4 (1989) introduced no new variations of <EM>scanw</EM>, but provided for + using either <EM>varargs.h</EM> or <EM>stdarg.h</EM> to define the <EM>va</EM><STRONG>_</STRONG><EM>list</EM> type. + + X/Open Curses, Issue 4 (1995), defined <EM>vw</EM><STRONG>_</STRONG><EM>scanw</EM> to replace <EM>vwscanw</EM>, + stating that its <EM>va</EM><STRONG>_</STRONG><EM>list</EM> type is defined in <EM>stdarg.h</EM>. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>, <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>, - <STRONG>scanf(3)</STRONG>. + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>, <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>, <STRONG>scanf(3)</STRONG>, <STRONG>vscanf(3)</STRONG> - <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -171,8 +187,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-HISTORY">HISTORY</a></li> +<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-HISTORY">HISTORY</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> diff --git a/doc/html/man/curs_scr_dump.3x.html b/doc/html/man/curs_scr_dump.3x.html index 2c3efab46df7..f1759cb3b700 100644 --- a/doc/html/man/curs_scr_dump.3x.html +++ b/doc/html/man/curs_scr_dump.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,28 +27,28 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_scr_dump.3x,v 1.16 2020/10/24 09:44:43 tom Exp @ + * @Id: curs_scr_dump.3x,v 1.43 2024/04/20 18:54:36 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_scr_dump 3x</TITLE> +<TITLE>curs_scr_dump 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_scr_dump 3x</H1> +<H1 class="no-header">curs_scr_dump 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG> <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG> +<STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>scr_dump</STRONG>, <STRONG>scr_restore</STRONG>, <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG> - read (write) a <STRONG>curses</STRONG> screen - from (to) a file + <STRONG>scr_dump</STRONG>, <STRONG>scr_restore</STRONG>, <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG> - read/write a <EM>curses</EM> screen + from/to a file </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -61,70 +61,90 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - The <STRONG>scr_dump</STRONG> routine dumps the current contents of the <EM>virtual</EM> <EM>screen</EM> - to the file <EM>filename</EM>. + <EM>curses</EM> provides applications the ability to write the contents of the + screen to a file and read them back. To read/write a window (rather + than the whole screen) from/to a file, use <STRONG><A HREF="curs_util.3x.html">getwin(3x)</A></STRONG> and <STRONG><A HREF="curs_util.3x.html">putwin(3x)</A></STRONG>, + respectively. + + +</PRE><H3><a name="h3-scr_dump">scr_dump</a></H3><PRE> + <STRONG>scr_dump</STRONG> writes to <EM>filename</EM> the contents of the virtual screen; see + <STRONG><A HREF="curs_variables.3x.html">curscr(3x)</A></STRONG>. + + +</PRE><H3><a name="h3-scr_restore">scr_restore</a></H3><PRE> + <STRONG>scr_restore</STRONG> updates the virtual screen to contain the contents of + <EM>filename</EM> (if it was validly written with <STRONG>scr_dump</STRONG>). No refresh is + performed; after performing any further desired updates, call + <STRONG><A HREF="curs_refresh.3x.html">doupdate(3x)</A></STRONG> or similar. + - The <STRONG>scr_restore</STRONG> routine sets the <EM>virtual</EM> <EM>screen</EM> to the contents of - <EM>filename</EM>, which must have been written using <STRONG>scr_dump</STRONG>. The next call - to <STRONG>doupdate</STRONG> restores the <EM>physical</EM> <EM>screen</EM> to the way it looked in the - dump file. +</PRE><H3><a name="h3-scr_init">scr_init</a></H3><PRE> + <STRONG>scr_init</STRONG> reads <EM>filename</EM>, using it to initialize <EM>curses</EM> data structures + describing the state of the terminal screen. If these data are valid, + <EM>curses</EM> bases its next update of the screen on this information rather + than clearing it and starting from scratch. - The <STRONG>scr_init</STRONG> routine reads in the contents of <EM>filename</EM> and uses them to - initialize the <STRONG>curses</STRONG> data structures about what the terminal currently - has on its screen. If the data is determined to be valid, <STRONG>curses</STRONG> bases - its next update of the screen on this information rather than clearing - the screen and starting from scratch. <STRONG>scr_init</STRONG> is used after <STRONG>initscr</STRONG> - or a <STRONG>system</STRONG> call to share the screen with another process which has - done a <STRONG>scr_dump</STRONG> after its <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> call. The data is declared in- - valid + The data fail the validity check - <STRONG>o</STRONG> if the terminfo capabilities <STRONG>rmcup</STRONG> and <STRONG>nrrmc</STRONG> exist, also + <STRONG>o</STRONG> if the terminal employs <EM>terminfo</EM> capabilities <STRONG>exit_ca_mode</STRONG> (<STRONG>rmcup</STRONG>) + or <STRONG>non_rev_rmcup</STRONG> (<STRONG>nrrmc</STRONG>) are defined, or - <STRONG>o</STRONG> if the terminal has been written to since the preceding <STRONG>scr_dump</STRONG> - call. + <STRONG>o</STRONG> if <EM>curses</EM> knows that the terminal has been written to since the + preceding <STRONG>scr_dump</STRONG> call. - The <STRONG>scr_set</STRONG> routine is a combination of <STRONG>scr_restore</STRONG> and <STRONG>scr_init</STRONG>. It + <STRONG>scr_init</STRONG> could be used after <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG> or <STRONG>system(3)</STRONG> to share the + screen with another process that has done a <STRONG>scr_dump</STRONG> after <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG>. + + +</PRE><H3><a name="h3-scr_set">scr_set</a></H3><PRE> + The <STRONG>scr_set</STRONG> routine is a combination of <STRONG>scr_restore</STRONG> and <STRONG>scr_init</STRONG>. It tells the program that the information in <EM>filename</EM> is what is currently on the screen, and also what the program wants on the screen. This can be thought of as a screen inheritance function. - To read (write) a window from (to) a file, use the <STRONG>getwin</STRONG> and <STRONG>putwin</STRONG> - routines [see <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>]. - </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon success. + These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure. - X/Open defines no error conditions. In this implementation, each will - return an error if the file cannot be opened. + X/Open defines no failure conditions. In this implementation, each + function fails if it cannot open <EM>filename</EM>. </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - Note that <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG>, and <STRONG>scr_restore</STRONG> may be macros. + <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG>, and <STRONG>scr_restore</STRONG> may be macros. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - The XSI Curses standard, Issue 4, describes these functions (adding the - const qualifiers). + X/Open Curses, Issue 4 describes these functions. - The SVr4 docs merely say under <STRONG>scr_init</STRONG> that the dump data is also con- - sidered invalid "if the time-stamp of the tty is old" but do not define - "old". + SVr4 omitted the <EM>const</EM> qualifiers. + + SVr4 documentation describes <STRONG>scr_init</STRONG> such that the dump data is also + considered invalid "if the time-stamp of the tty is old" but does not + define "old". </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, - <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>, <STRONG>system(3)</STRONG> + <STRONG>system(3)</STRONG>, <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG> - <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG> </PRE> <div class="nav"> <ul> <li><a href="#h2-NAME">NAME</a></li> <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> -<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> +<li><a href="#h2-DESCRIPTION">DESCRIPTION</a> +<ul> +<li><a href="#h3-scr_dump">scr_dump</a></li> +<li><a href="#h3-scr_restore">scr_restore</a></li> +<li><a href="#h3-scr_init">scr_init</a></li> +<li><a href="#h3-scr_set">scr_set</a></li> +</ul> +</li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> <li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> diff --git a/doc/html/man/curs_scroll.3x.html b/doc/html/man/curs_scroll.3x.html index d936cbc1b0da..5b827feded69 100644 --- a/doc/html/man/curs_scroll.3x.html +++ b/doc/html/man/curs_scroll.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2006,2010 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,27 +27,27 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_scroll.3x,v 1.19 2020/10/24 09:45:48 tom Exp @ + * @Id: curs_scroll.3x,v 1.43 2024/04/20 18:54:36 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_scroll 3x</TITLE> +<TITLE>curs_scroll 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_scroll 3x</H1> +<H1 class="no-header">curs_scroll 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG> <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG> +<STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>scroll</STRONG>, <STRONG>scrl</STRONG>, <STRONG>wscrl</STRONG> - scroll a <STRONG>curses</STRONG> window + <STRONG>scroll</STRONG>, <STRONG>scrl</STRONG>, <STRONG>wscrl</STRONG> - scroll a <EM>curses</EM> window </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -60,45 +60,54 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - The <STRONG>scroll</STRONG> routine scrolls the window up one line. This involves mov- - ing the lines in the window data structure. As an optimization, if the - scrolling region of the window is the entire screen, the <EM>physical</EM> - <EM>screen</EM> may be scrolled at the same time. + <STRONG>scroll</STRONG> scrolls the given window up one line. That is, every visible + line we might number <EM>i</EM> becomes line <EM>i</EM>-1. The text of the top line in + the window disappears and the bottom line is populated with blank + characters; see <STRONG><A HREF="curs_bkgd.3x.html">bkgd(3x)</A></STRONG> or <STRONG><A HREF="curs_bkgrnd.3x.html">bkgrnd(3x)</A></STRONG>. As an optimization, if the + scrolling region of the window is the entire screen, the physical + screen may be scrolled at the same time; see <STRONG><A HREF="curs_variables.3x.html">curscr(3x)</A></STRONG>. - For positive <EM>n</EM>, the <STRONG>scrl</STRONG> and <STRONG>wscrl</STRONG> routines scroll the window up <EM>n</EM> - lines (line <EM>i</EM>+<EM>n</EM> becomes <EM>i</EM>); otherwise scroll the window down <EM>n</EM> lines. - This involves moving the lines in the window character image structure. - The current cursor position is not changed. + <STRONG>scrl</STRONG> and <STRONG>wscrl</STRONG> scroll <STRONG>stdscr</STRONG> or the specified window up or down + depending on the sign of <EM>n</EM>. - For these functions to work, scrolling must be enabled via <STRONG>scrollok</STRONG>. + <STRONG>o</STRONG> For positive <EM>n</EM>, line <EM>i</EM>+<EM>n</EM> becomes <EM>i</EM> (scrolling up); + <STRONG>o</STRONG> for negative <EM>n</EM>, line <EM>i</EM>-<EM>n</EM> becomes <EM>i</EM> (scrolling down). -</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - These routines return <STRONG>ERR</STRONG> upon failure, and <STRONG>OK</STRONG> (SVr4 only specifies "an - integer value other than <STRONG>ERR</STRONG>") upon successful completion. + The cursor does not move. These functions perform no operation unless + scrolling is enabled for the window via <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG>. - X/Open defines no error conditions. - This implementation returns an error if the window pointer is null, or - if scrolling is not enabled in the window, e.g., with <STRONG>scrollok</STRONG>. +</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> + These functions return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon success. + <EM>ncurses</EM> returns <STRONG>ERR</STRONG> if scrolling is not enabled in the window, for + example with <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG>, or if the <EM>WINDOW</EM> pointer is null. -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - Note that <STRONG>scrl</STRONG> and <STRONG>scroll</STRONG> may be macros. - The SVr4 documentation says that the optimization of physically - scrolling immediately if the scroll region is the entire screen "is" - performed, not "may be" performed. This implementation deliberately - does not guarantee that this will occur, to leave open the possibility - of smarter optimization of multiple scroll actions on the next update. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + Unusually, there is no <STRONG>wscroll</STRONG> function; <STRONG>scroll</STRONG> behaves as one would + expect <STRONG>wscroll</STRONG> to, accepting a <EM>WINDOW</EM> pointer argument. - Neither the SVr4 nor the XSI documentation specify whether the current - attribute or current color-pair of blanks generated by the scroll func- - tion is zeroed. Under this implementation it is. + <STRONG>scrl</STRONG> and <STRONG>scroll</STRONG> may be implemented as macros. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - The XSI Curses standard, Issue 4 describes these functions. + X/Open Curses, Issue 4 describes these functions. It defines no error + conditions. + + SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>" as a successful + return value. + + SVr4 indicates that the optimization of physically scrolling + immediately if the scroll region is the entire screen "is" performed, + not "may be" performed. <EM>ncurses</EM> deliberately does not guarantee that + this will occur, to leave open the possibility of smarter optimization + of multiple scroll actions on the next update. + + Neither SVr4 <EM>curses</EM> nor X/Open Curses specify whether the current + attribute or current color pair of blanks generated by the scroll + function are zeroed. <EM>ncurses</EM> does so. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> @@ -106,7 +115,7 @@ - <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG> </PRE> <div class="nav"> <ul> diff --git a/doc/html/man/curs_slk.3x.html b/doc/html/man/curs_slk.3x.html index 38c3c61b4ff3..52f8c29fbdef 100644 --- a/doc/html/man/curs_slk.3x.html +++ b/doc/html/man/curs_slk.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,30 +27,30 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_slk.3x,v 1.37 2020/12/30 18:37:43 tom Exp @ + * @Id: curs_slk.3x,v 1.71 2024/04/20 18:54:36 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_slk 3x</TITLE> +<TITLE>curs_slk 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_slk 3x</H1> +<H1 class="no-header">curs_slk 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> +<STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>slk_init</STRONG>, <STRONG>slk_set</STRONG>, <STRONG>slk_wset</STRONG>, <STRONG>slk_refresh</STRONG>, <STRONG>slk_noutrefresh</STRONG>, <STRONG>slk_label</STRONG>, - <STRONG>slk_clear</STRONG>, <STRONG>slk_restore</STRONG>, <STRONG>slk_touch</STRONG>, <STRONG>slk_attron</STRONG>, <STRONG>slk_attrset</STRONG>, - <STRONG>slk_attroff</STRONG>, <STRONG>slk_attr_on</STRONG>, <STRONG>slk_attr_set</STRONG>, <STRONG>slk_attr_off</STRONG>, <STRONG>slk_attr</STRONG>, - <STRONG>slk_color</STRONG>, <STRONG>extended_slk_color</STRONG> - <STRONG>curses</STRONG> soft label routines + <STRONG>slk_init</STRONG>, <STRONG>slk_set</STRONG>, <STRONG>slk_wset</STRONG>, <STRONG>slk_refresh</STRONG>, <STRONG>slk_noutrefresh</STRONG>, <STRONG>slk_label</STRONG>, + <STRONG>slk_clear</STRONG>, <STRONG>slk_restore</STRONG>, <STRONG>slk_touch</STRONG>, <STRONG>slk_attron</STRONG>, <STRONG>slk_attrset</STRONG>, + <STRONG>slk_attroff</STRONG>, <STRONG>slk_attr_on</STRONG>, <STRONG>slk_attr_set</STRONG>, <STRONG>slk_attr_off</STRONG>, <STRONG>slk_attr</STRONG>, + <STRONG>slk_color</STRONG>, <STRONG>extended_slk_color</STRONG> - <EM>curses</EM> soft label key routines </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -58,9 +58,8 @@ <STRONG>int</STRONG> <STRONG>slk_init(int</STRONG> <EM>fmt</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>slk_set(int</STRONG> <EM>labnum</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>label</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fmt</EM><STRONG>);</STRONG> - /* extension */ - <STRONG>int</STRONG> <STRONG>slk_wset(int</STRONG> <EM>labnum</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>label</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fmt</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>slk_set(int</STRONG> <EM>labnum</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>label</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>align</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>slk_wset(int</STRONG> <EM>labnum</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>label</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>align</EM><STRONG>);</STRONG> <STRONG>char</STRONG> <STRONG>*slk_label(int</STRONG> <EM>labnum</EM><STRONG>);</STRONG> @@ -73,69 +72,69 @@ <STRONG>int</STRONG> <STRONG>slk_attron(const</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>slk_attroff(const</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>slk_attrset(const</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>slk_attr_on(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void*</STRONG> <EM>opts</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>slk_attr_off(const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG> <EM>opts</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>slk_attr_set(const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void*</STRONG> <EM>opts</EM><STRONG>);</STRONG> - + <STRONG>int</STRONG> <STRONG>slk_attr_on(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>slk_attr_off(const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>slk_attr_set(const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void*</STRONG><EM>opts</EM><STRONG>);</STRONG> + <EM>/*</EM> <EM>extension</EM> <EM>*/</EM> <STRONG>attr_t</STRONG> <STRONG>slk_attr(void);</STRONG> <STRONG>int</STRONG> <STRONG>slk_color(short</STRONG> <EM>pair</EM><STRONG>);</STRONG> - /* extension */ + <EM>/*</EM> <EM>extension</EM> <EM>*/</EM> <STRONG>int</STRONG> <STRONG>extended_slk_color(int</STRONG> <EM>pair</EM><STRONG>);</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - The slk* functions manipulate the set of soft function-key labels that - exist on many terminals. For those terminals that do not have soft la- - bels, <STRONG>curses</STRONG> takes over the bottom line of <STRONG>stdscr</STRONG>, reducing the size of - <STRONG>stdscr</STRONG> and the variable <STRONG>LINES</STRONG>. <STRONG>curses</STRONG> standardizes on eight labels of - up to eight characters each. In addition to this, the ncurses imple- - mentation supports a mode where it simulates 12 labels of up to five - characters each. This is useful for PC-like enduser devices. ncurses - simulates this mode by taking over up to two lines at the bottom of the - screen; it does not try to use any hardware support for this mode. + These functions manipulate the soft function key labels that some + hardware terminals support. For those terminals that do not have soft + labels, <EM>curses</EM> takes over the bottom line of <STRONG>stdscr</STRONG>, reducing its + vertical size and the value of <STRONG>LINES</STRONG> by one. By default, <EM>curses</EM> uses + eight labels of up to eight characters each. + + <EM>ncurses</EM> furthermore supports a mode comprising twelve labels of up to + five characters each, following a convention associated with the IBM + PC/AT keyboard. <EM>ncurses</EM> simulates this mode by taking over up to two + lines at the bottom of the screen; it does not try to use any hardware + support for this mode. </PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE> - The <STRONG>slk_init</STRONG> routine must be called before <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> is - called. If <STRONG>initscr</STRONG> eventually uses a line from <STRONG>stdscr</STRONG> to emulate the - soft labels, then <EM>fmt</EM> determines how the labels are arranged on the - screen: + <STRONG>slk_init</STRONG> must be called before <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>. If <STRONG>initscr</STRONG> + eventually uses a line from <STRONG>stdscr</STRONG> to emulate the soft labels, then <EM>fmt</EM> + determines how the labels are arranged on the screen. - <STRONG>0</STRONG> indicates a 3-2-3 arrangement of the labels. + <STRONG>0</STRONG> indicates a 3-2-3 arrangement of the labels. - <STRONG>1</STRONG> indicates a 4-4 arrangement + <STRONG>1</STRONG> indicates a 4-4 arrangement - <STRONG>2</STRONG> indicates the PC-like 4-4-4 mode. + <STRONG>2</STRONG> indicates the PC-like 4-4-4 mode. - <STRONG>3</STRONG> is again the PC-like 4-4-4 mode, but in addition an index line is - generated, helping the user to identify the key numbers easily. + <STRONG>3</STRONG> is again the PC-like 4-4-4 mode, but in addition an index line is + generated, helping the user to associate each label with its + numbered function key. <STRONG>LINES</STRONG> and the vertical size of <STRONG>stdscr</STRONG> are + further reduced. </PRE><H3><a name="h3-Labels">Labels</a></H3><PRE> - The <STRONG>slk_set</STRONG> routine (and the <STRONG>slk_wset</STRONG> routine for the wide-character - library) has three parameters: + Populate the labels with normal strings (<STRONG>slk_set</STRONG>) or wide-character + strings (<STRONG>slk_wset</STRONG>). Each function takes three parameters. - <EM>labnum</EM> - is the label number, from <STRONG>1</STRONG> to <STRONG>8</STRONG> (12 for <EM>fmt</EM> in <STRONG>slk_init</STRONG> is <STRONG>2</STRONG> - or <STRONG>3</STRONG>); + <EM>labnum</EM> is the label number, from <STRONG>1</STRONG> to <STRONG>8</STRONG> (12 if <EM>fmt</EM> in <STRONG>slk_init</STRONG> is <STRONG>2</STRONG> or + <STRONG>3</STRONG>); - <EM>label</EM> - is be the string to put on the label, up to eight (five for <EM>fmt</EM> - in <STRONG>slk_init</STRONG> is <STRONG>2</STRONG> or <STRONG>3</STRONG>) characters in length. A null string or + <EM>label</EM> is be the string to put on the label, up to eight (five if <EM>fmt</EM> + in <STRONG>slk_init</STRONG> is <STRONG>2</STRONG> or <STRONG>3</STRONG>) characters in length. A empty string or a null pointer sets up a blank label. - <EM>fmt</EM> is either <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG>, indicating whether the label is to be - left-justified, centered, or right-justified, respectively, - within the label. + <EM>align</EM> is <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG>, aligning <EM>label</EM> to the left, center, or right, + respectively, within the 8 (5) character cells housing it. - The <STRONG>slk_label</STRONG> routine returns the current label for label number <EM>lab-</EM> - <EM>num</EM>, with leading and trailing blanks stripped. + <STRONG>slk_label</STRONG> obtains the string assigned to label number <EM>labnum</EM>, with any + leading and trailing blanks stripped. -</PRE><H3><a name="h3-Screen-updates">Screen updates</a></H3><PRE> - The <STRONG>slk_refresh</STRONG> and <STRONG>slk_noutrefresh</STRONG> routines correspond to the <STRONG>wrefresh</STRONG> - and <STRONG>wnoutrefresh</STRONG> routines. +</PRE><H3><a name="h3-Screen-Updates">Screen Updates</a></H3><PRE> + <STRONG>slk_refresh</STRONG> and <STRONG>slk_noutrefresh</STRONG> affect the soft key label lines as + <STRONG>wrefresh</STRONG> and <STRONG>wnoutrefresh</STRONG> do the <EM>curses</EM> window. The <STRONG>slk_clear</STRONG> routine clears the soft labels from the screen. @@ -146,142 +145,175 @@ time a <STRONG>slk_noutrefresh</STRONG> is performed. -</PRE><H3><a name="h3-Video-attributes">Video attributes</a></H3><PRE> - The <STRONG>slk_attron</STRONG>, <STRONG>slk_attrset</STRONG>, <STRONG>slk_attroff</STRONG> and <STRONG>slk_attr</STRONG> routines corre- - spond to <STRONG>attron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>attroff</STRONG> and <STRONG>attr_get</STRONG>, respectively. They - have an effect only if soft labels are simulated on the bottom line of - the screen. The default highlight for soft keys is A_STANDOUT (as in - System V curses, which does not document this fact). +</PRE><H3><a name="h3-Video-Attributes">Video Attributes</a></H3><PRE> + The <STRONG>slk_attron</STRONG>, <STRONG>slk_attrset</STRONG>, <STRONG>slk_attroff</STRONG>, and <STRONG>slk_attr</STRONG> routines + correspond to <STRONG>attron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>attroff</STRONG>, and <STRONG>attr_get</STRONG>, respectively. + They have an effect only if soft labels are simulated on the bottom + line of the screen. The default highlight for soft key labels is + <STRONG>A_STANDOUT</STRONG> (as in System V <EM>curses</EM>, which does not document this fact). </PRE><H3><a name="h3-Colors">Colors</a></H3><PRE> The <STRONG>slk_color</STRONG> routine corresponds to <STRONG>color_set</STRONG>. It has an effect only if soft labels are simulated on the bottom line of the screen. - Because <STRONG>slk_color</STRONG> accepts only <STRONG>short</STRONG> (signed 16-bit integer) values, - this implementation provides <STRONG>extended_slk_color</STRONG> which accepts an inte- - ger value, e.g., 32-bits. + Because <STRONG>slk_color</STRONG> accepts only <EM>short</EM> (signed 16-bit integer) values, + this implementation provides <STRONG>extended_slk_color</STRONG>, which accepts an <EM>int</EM> + value of at least 32 bits. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - These routines return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 specifies only "an - integer value other than <STRONG>ERR</STRONG>") upon successful completion. + Routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 + specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful + completion. - X/Open defines no error conditions. In this implementation + X/Open Curses defines no error conditions. + + In this implementation <STRONG>slk_attr</STRONG> returns the attribute used for the soft keys. - <STRONG>slk_attroff</STRONG>, <STRONG>slk_attron</STRONG>, <STRONG>slk_clear</STRONG>, <STRONG>slk_noutrefresh</STRONG>, <STRONG>slk_refresh</STRONG>, + <STRONG>slk_attroff</STRONG>, <STRONG>slk_attron</STRONG>, <STRONG>slk_clear</STRONG>, <STRONG>slk_noutrefresh</STRONG>, <STRONG>slk_refresh</STRONG>, <STRONG>slk_touch</STRONG> - return an error if the terminal or the softkeys were not ini- - tialized. + return an error if the terminal or the softkeys were not + initialized. <STRONG>slk_attrset</STRONG> - returns an error if the terminal or the softkeys were not ini- - tialized. + returns an error if the terminal or the softkeys were not + initialized. <STRONG>slk_attr_set</STRONG> - returns an error if the terminal or the softkeys were not ini- - tialized, or the color pair is outside the range 0..COL- - OR_PAIRS-1. + returns an error if the terminal or the softkeys were not + initialized, or the color pair is outside the range + 0..<STRONG>COLOR_PAIRS</STRONG>-1. <STRONG>slk_color</STRONG> - returns an error if the terminal or the softkeys were not ini- - tialized, or the color pair is outside the range 0..COL- - OR_PAIRS-1. + returns an error if the terminal or the softkeys were not + initialized, or the color pair is outside the range + 0..<STRONG>COLOR_PAIRS</STRONG>-1. <STRONG>slk_init</STRONG> - returns an error if the format parameter is outside the range + returns an error if the format parameter is outside the range 0..3. <STRONG>slk_label</STRONG> returns <STRONG>NULL</STRONG> on error. <STRONG>slk_set</STRONG> - returns an error if the terminal or the softkeys were not ini- - tialized, or the <EM>labnum</EM> parameter is outside the range of label - counts, or if the format parameter is outside the range 0..2, - or if memory for the labels cannot be allocated. - + returns an error if the terminal or the softkeys were not + initialized, or the <EM>labnum</EM> parameter is outside the range of + label counts, or if the format parameter is outside the range + 0..2, or if memory for the labels cannot be allocated. -</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE> - SVr3 introduced these functions: - slk_clear - slk_init - slk_label - slk_noutrefresh - slk_refresh - slk_restore - slk_set - slk_touch - SVr4 added these functions: - slk_attroff - slk_attron - slk_attrset - slk_start - - X/Open Curses added these: - slk_attr_off - slk_attr_on - slk_attr_set - slk_color - slk_wset +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + Most applications would use <STRONG>slk_noutrefresh</STRONG> because a <STRONG>wrefresh</STRONG> is + likely to follow soon. </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE> X/Open Curses documents the <EM>opts</EM> argument as reserved for future use, saying that it must be null. This implementation uses that parameter - in ABI 6 for the functions which have a color-pair parameter to support + in ABI 6 for the functions which have a color pair parameter to support extended color pairs. - For functions which modify the color, e.g., <STRONG>slk_attr_set</STRONG>, if <EM>opts</EM> is - set it is treated as a pointer to <STRONG>int</STRONG>, and used to set the color - pair instead of the <STRONG>short</STRONG> pair parameter. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - Most applications would use <STRONG>slk_noutrefresh</STRONG> because a <STRONG>wrefresh</STRONG> is like- - ly to follow soon. + For functions which modify the color, e.g., <STRONG>slk_attr_set</STRONG>, if <EM>opts</EM> is + set it is treated as a pointer to <EM>int</EM>, and used to set the color pair + instead of the <EM>short</EM> pair parameter. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - The XSI Curses standard, Issue 4, described the soft-key functions, - with some differences from SVr4 curses: + X/Open Curses, Issue 4 describes these functions, with some differences + from SVr4 <EM>curses</EM>: - <STRONG>o</STRONG> It added functions like the SVr4 attribute-manipulation functions - <STRONG>slk_attron</STRONG>, <STRONG>slk_attroff</STRONG>, <STRONG>slk_attrset</STRONG>, but which use <STRONG>attr_t</STRONG> parame- - ters (rather than <STRONG>chtype</STRONG>), along with a reserved <EM>opts</EM> parameter. + <STRONG>o</STRONG> X/Open added functions like the SVr4 attribute-manipulation + functions <STRONG>slk_attron</STRONG>, <STRONG>slk_attroff</STRONG>, and <STRONG>slk_attrset</STRONG>, but which use + <EM>attr</EM><STRONG>_</STRONG><EM>t</EM> parameters (rather than <EM>chtype</EM>), along with a reserved <EM>opts</EM> + parameter. - Two of these new functions (unlike the SVr4 functions) have no pro- - vision for color: <STRONG>slk_attr_on</STRONG> and <STRONG>slk_attr_off</STRONG>. + Two of these new functions (unlike the SVr4 functions) have no + provision for color: <STRONG>slk_attr_on</STRONG> and <STRONG>slk_attr_off</STRONG>. - The third function (<STRONG>slk_attr_set</STRONG>) has a color-pair parameter. + The third function (<STRONG>slk_attr_set</STRONG>) has a color pair parameter. - <STRONG>o</STRONG> It added <STRONG>const</STRONG> qualifiers to parameters (unnecessarily), and + <STRONG>o</STRONG> It added <EM>const</EM> qualifiers to parameters (unnecessarily), and <STRONG>o</STRONG> It added <STRONG>slk_color</STRONG>. - The format codes <STRONG>2</STRONG> and <STRONG>3</STRONG> for <STRONG>slk_init</STRONG> and the function <STRONG>slk_attr</STRONG> are - specific to ncurses. + Although <STRONG>slk_start</STRONG> is declared in the <EM>curses</EM> header file, it was not + documented by SVr4 other than its presence in a list of libtermlib.so.1 + symbols. Reading the source code (i.e., Illumos): + + <STRONG>o</STRONG> <STRONG>slk_start</STRONG> has two parameters: + + <STRONG>o</STRONG> <EM>ng</EM> (number of groups) and + + <STRONG>o</STRONG> <EM>gp</EM> (group pointer). + + <STRONG>o</STRONG> Soft-key groups are an array of <EM>ng</EM> integers. + + <STRONG>o</STRONG> In SVr4, <STRONG>slk_init</STRONG> calls <STRONG>slk_start</STRONG> passing a null for <EM>gp</EM>. For this + case, <STRONG>slk_start</STRONG> uses the number of groups <EM>ng</EM> (3 for the 3-2-3 + layout, 2 for the 4-4 layout) which <STRONG>slk_init</STRONG> provided. - X/Open Curses does not specify a limit for the number of colors and - color pairs which a terminal can support. However, in its use of <STRONG>short</STRONG> - for the parameters, it carries over SVr4's implementation detail for + If <EM>ng</EM> is neither 2 or 3, <STRONG>slk_start</STRONG> checks the terminfo <STRONG>fln</STRONG> + (label_format) capability, interpreting that as a comma-separated + list of numbers, e.g., "3,2,3" for the 3-2-3 layout. + + Finally, if there is no <STRONG>fln</STRONG> capability, <STRONG>slk_start</STRONG> returns <STRONG>ERR</STRONG>. + + <STRONG>o</STRONG> If <STRONG>slk_start</STRONG> is given a non-null <EM>gp</EM>, it copies the <EM>ng</EM> elements of + the group of soft-keys, up to 16. + + If there are more than 16 elements, <STRONG>slk_start</STRONG> returns an error. + + <STRONG>o</STRONG> The format codes <STRONG>2</STRONG> and <STRONG>3</STRONG> for <STRONG>slk_init</STRONG> were added by <EM>ncurses</EM> in + 1996. PDCurses 2.4 added this feature in 2001. + + The function <STRONG>slk_attr</STRONG> was added by <EM>ncurses</EM> in 1996. + + X/Open Curses does not specify a limit for the number of colors and + color pairs which a terminal can support. However, in its use of <EM>short</EM> + for the parameters, it carries over SVr4's implementation detail for the compiled terminfo database, which uses signed 16-bit numbers. This - implementation provides extended versions of those functions which use - <STRONG>short</STRONG> parameters, allowing applications to use larger color- and pair- + implementation provides extended versions of those functions which use + <EM>int</EM> parameters, allowing applications to use larger color- and pair- numbers. +</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE> + SVr3 introduced these functions: + <STRONG>slk_clear</STRONG> + <STRONG>slk_init</STRONG> + <STRONG>slk_label</STRONG> + <STRONG>slk_noutrefresh</STRONG> + <STRONG>slk_refresh</STRONG> + <STRONG>slk_restore</STRONG> + <STRONG>slk_set</STRONG> + <STRONG>slk_touch</STRONG> + + SVr4 added these functions: + <STRONG>slk_attroff</STRONG> + <STRONG>slk_attron</STRONG> + <STRONG>slk_attrset</STRONG> + <STRONG>slk_start</STRONG> + + X/Open Curses added these: + <STRONG>slk_attr_off</STRONG> + <STRONG>slk_attr_on</STRONG> + <STRONG>slk_attr_set</STRONG> + <STRONG>slk_color</STRONG> + <STRONG>slk_wset</STRONG> + + </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, - <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>. + <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> - <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -291,16 +323,16 @@ <ul> <li><a href="#h3-Initialization">Initialization</a></li> <li><a href="#h3-Labels">Labels</a></li> -<li><a href="#h3-Screen-updates">Screen updates</a></li> -<li><a href="#h3-Video-attributes">Video attributes</a></li> +<li><a href="#h3-Screen-Updates">Screen Updates</a></li> +<li><a href="#h3-Video-Attributes">Video Attributes</a></li> <li><a href="#h3-Colors">Colors</a></li> </ul> </li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-HISTORY">HISTORY</a></li> -<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li> <li><a href="#h2-NOTES">NOTES</a></li> +<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-HISTORY">HISTORY</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> diff --git a/doc/html/man/curs_sp_funcs.3x.html b/doc/html/man/curs_sp_funcs.3x.html index c934b28ff639..7695f68c40e4 100644 --- a/doc/html/man/curs_sp_funcs.3x.html +++ b/doc/html/man/curs_sp_funcs.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2020,2021 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 2010-2015,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,30 +27,27 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_sp_funcs.3x,v 1.24 2021/01/02 23:53:22 tom Exp @ - * *************************************************************************** - * *************************************************************************** - * *************************************************************************** + * @Id: curs_sp_funcs.3x,v 1.50 2024/04/20 18:56:31 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_sp_funcs 3x</TITLE> +<TITLE>curs_sp_funcs 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_sp_funcs 3x</H1> +<H1 class="no-header">curs_sp_funcs 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<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> +<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - curs_sp_funcs - <STRONG>curses</STRONG> screen-pointer extension + <STRONG>curs_sp_funcs</STRONG> - <EM>curses</EM> screen-pointer extension </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -63,7 +60,7 @@ <STRONG>bool</STRONG> <STRONG>can_change_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>cbreak_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>color_content_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>short*</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>short*</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>short*</STRONG> <EM>b</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>curs_set_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>visibility</EM>); + <STRONG>int</STRONG> <STRONG>curs_set_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>visibility</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>def_prog_mode_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>def_shell_mode_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> @@ -73,108 +70,115 @@ <STRONG>int</STRONG> <STRONG>echo_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>endwin_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>char</STRONG> <STRONG>erasechar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>erasewchar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wc</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>extended_color_content_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>b</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>extended_pair_content_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>bg</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>extended_slk_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pair</EM><STRONG>);</STRONG> - <STRONG>void</STRONG> <STRONG>filter_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> + <STRONG>void</STRONG> <STRONG>filter_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>find_pair_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>flash_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>flushinp_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>free_pair_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pair</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>get_escdelay_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>getmouse_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>MEVENT*</STRONG> <STRONG>event);</STRONG> + <STRONG>int</STRONG> <STRONG>getmouse_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>MEVENT*</STRONG> <EM>event</EM><STRONG>);</STRONG> <STRONG>WINDOW*</STRONG> <STRONG>getwin_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>FILE*</STRONG> <EM>filep</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>halfdelay_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>tenths</EM><STRONG>);</STRONG> <STRONG>bool</STRONG> <STRONG>has_colors_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> - <STRONG>bool</STRONG> <STRONG>has_ic_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> + <STRONG>bool</STRONG> <STRONG>has_ic_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>bool</STRONG> <STRONG>has_il_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>has_key_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ch</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>has_key_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG> <STRONG>bool</STRONG> <STRONG>has_mouse_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>init_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>b</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>init_extended_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>b</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>init_extended_pair_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>init_pair_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>bg</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>intrflush_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>WINDOW*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>is_cbreak_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> + + <STRONG>int</STRONG> <STRONG>is_echo_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>is_nl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>is_raw_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>bool</STRONG> <STRONG>is_term_resized_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG> <STRONG>bool</STRONG> <STRONG>isendwin_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>key_defined_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>definition</EM><STRONG>);</STRONG> <STRONG>char*</STRONG> <STRONG>keybound_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>keycode</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>count</EM><STRONG>);</STRONG> - <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>keyname_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG> + <STRONG>NCURSES_CONST</STRONG> <STRONG>char*</STRONG> <STRONG>keyname_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>keyok_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>keycode</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>enable</EM><STRONG>);</STRONG> <STRONG>char</STRONG> <STRONG>killchar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> + + <STRONG>int</STRONG> <STRONG>killwchar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wc</EM><STRONG>);</STRONG> <STRONG>char*</STRONG> <STRONG>longname_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>mcprint_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>data</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>len</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>mouseinterval_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>erval</EM><STRONG>);</STRONG> <STRONG>mmask_t</STRONG> <STRONG>mousemask_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>mmask_t</STRONG> <EM>newmask</EM><STRONG>,</STRONG> <STRONG>mmask_t</STRONG> <STRONG>*</STRONG><EM>oldmask</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>mvcur_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>oldrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>oldcol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>newrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>newcol</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>napms_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ms</EM><STRONG>);</STRONG> <STRONG>WINDOW*</STRONG> <STRONG>newpad_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>nrows</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>);</STRONG> <STRONG>SCREEN*</STRONG> <STRONG>new_prescr(void);</STRONG> <STRONG>SCREEN*</STRONG> <STRONG>newterm_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>type</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>outfd</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>infd</EM><STRONG>);</STRONG> + <STRONG>WINDOW*</STRONG> <STRONG>newwin_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>x</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>nl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>nocbreak_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>noecho_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>void</STRONG> <STRONG>nofilter_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>nonl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> - <STRONG>void</STRONG> <STRONG>noqiflush_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>noraw_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>pair_content_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>short*</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>short*</STRONG> <EM>bg</EM><STRONG>);</STRONG> <STRONG>void</STRONG> <STRONG>qiflush_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>raw_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>reset_prog_mode_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>void</STRONG> <STRONG>reset_color_pairs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>reset_prog_mode_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>reset_shell_mode_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>resetty_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>resize_term_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>resizeterm_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>ripoffline_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>line</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>init</EM><STRONG>)(WINDOW*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fmt</EM><STRONG>));</STRONG> <STRONG>int</STRONG> <STRONG>savetty_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>scr_init_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>scr_restore_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>scr_set_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>set_escdelay_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ms</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>set_tabsize_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>cols</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>slk_attr_set_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void*</STRONG><EM>opts</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>slk_attrset_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>a</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>slk_attr_set_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void*</STRONG><EM>opts</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>slk_attroff_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>a</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>slk_attron_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>a</EM><STRONG>);</STRONG> <STRONG>attr_t</STRONG> <STRONG>slk_attr_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>slk_clear_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>slk_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>slk_init_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fmt</EM><STRONG>);</STRONG> <STRONG>char*</STRONG> <STRONG>slk_label_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>labnum</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>slk_noutrefresh_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>slk_refresh_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>slk_restore_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>slk_set_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>labnum</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>label</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fmt</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>slk_touch_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>start_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>attr_t</STRONG> <STRONG>term_attrs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> + <STRONG>chtype</STRONG> <STRONG>termattrs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>char*</STRONG> <STRONG>termname_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>typeahead_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fd</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>unget_wch_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <EM>wch</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>ungetch_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ch</EM><STRONG>);</STRONG> - - <STRONG>int</STRONG> <STRONG>ungetmouse_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,MEVENT</STRONG> <STRONG>*</STRONG> <STRONG>event);</STRONG> + <STRONG>int</STRONG> <STRONG>unget_wch_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <EM>wc</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>ungetch_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>ungetmouse_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>MEVENT*</STRONG> <EM>event</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>use_default_colors_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG> <STRONG>void</STRONG> <STRONG>use_env_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>use_legacy_coding_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>level</EM><STRONG>);</STRONG> <STRONG>void</STRONG> <STRONG>use_tioctl_sp(SCREEN</STRONG> <STRONG>*</STRONG><EM>sp</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>vid_attr_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG> <EM>opts</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>vid_puts_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG> <EM>opts</EM><STRONG>,</STRONG> <STRONG>NCURSES_SP_OUTC</STRONG> <EM>putc</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>vidattr_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>vidputs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>NCURSES_SP_OUTC</STRONG> <EM>putc</EM><STRONG>);</STRONG> - <STRONG>wchar_t*</STRONG> <STRONG>wunctrl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ch</EM><STRONG>);</STRONG> + <STRONG>wchar_t*</STRONG> <STRONG>wunctrl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG> <STRONG>#include</STRONG> <STRONG><form.h></STRONG> @@ -202,36 +206,37 @@ <STRONG>char*</STRONG> <STRONG>tgetstr_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>**</STRONG><EM>area</EM><STRONG>);</STRONG> <STRONG>char*</STRONG> <STRONG>tgoto_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>col</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>row</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>tigetflag_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>tigetnum_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG> <STRONG>char*</STRONG> <STRONG>tigetstr_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG> - /* may instead use 9 long parameters */ + <EM>/*</EM> <EM>tparm</EM><STRONG>_</STRONG><EM>sp</EM> <EM>may</EM> <EM>use</EM> <EM>9</EM> <EM>long</EM> <EM>parameters</EM> <EM>rather</EM> <EM>than</EM> <EM>being</EM> <EM>variadic</EM> <EM>*/</EM> <STRONG>char*</STRONG> <STRONG>tparm_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>...);</STRONG> <STRONG>int</STRONG> <STRONG>tputs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>affcnt</EM><STRONG>,</STRONG> <STRONG>NCURSES_SP_OUTC</STRONG> <EM>putc</EM><STRONG>);</STRONG> <STRONG>#include</STRONG> <STRONG><unctrl.h></STRONG> - <STRONG>NCURSES_CONST</STRONG> <STRONG>char*</STRONG> <STRONG>unctrl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>c</EM><STRONG>);</STRONG> + <STRONG>NCURSES_CONST</STRONG> <STRONG>char*</STRONG> <STRONG>unctrl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> This implementation can be configured to provide a set of functions which improve the ability to manage multiple screens. This feature can - be added to any of the configurations supported by ncurses; it adds new - entrypoints without changing the meaning of any of the existing ones. + be added to any of the configurations supported by <EM>ncurses</EM>; it adds new + symbols without changing the meaning of any of the existing ones. -</PRE><H3><a name="h3-IMPROVED-FUNCTIONS">IMPROVED FUNCTIONS</a></H3><PRE> - Most of the functions are new versions of existing functions. A param- - eter is added at the front of the parameter list. It is a SCREEN +</PRE><H3><a name="h3-Improved-Functions">Improved Functions</a></H3><PRE> + Most of the functions are new versions of existing functions. A + parameter is added at the front of the parameter list. It is a <EM>SCREEN</EM> pointer. The existing functions all use the current screen, which is a static - variable. The extended functions use the specified screen, thereby re- - ducing the number of variables which must be modified to update multi- - ple screens. + variable. The extended functions use the specified screen, thereby + reducing the number of variables which must be modified to update + multiple screens. -</PRE><H3><a name="h3-NEW-FUNCTIONS">NEW FUNCTIONS</a></H3><PRE> +</PRE><H3><a name="h3-New-Functions">New Functions</a></H3><PRE> Here are the new functions: ceiling_panel @@ -246,8 +251,8 @@ With the screen-pointer extension, there are situations where it must create a current screen before the unextended library does. The <STRONG>new_prescr</STRONG> function is used internally to handle these cases. - It is also provided as an entrypoint to allow applications to cus- - tomize the library initialization. + It is also provided to allow applications to customize library + initialization. </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> @@ -260,35 +265,36 @@ NCURSES_SP_NAME The new functions are named using the macro <EM>NCURSES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>NAME</EM>, which - hides the actual implementation. Currently this adds a "_sp" suf- - fix to the name of the unextended function. This manual page in- - dexes the extensions showing the full name. However the proper - usage of these functions uses the macro, to provide for the possi- - bility of changing the naming convention for specific library con- - figurations. + hides the actual implementation. Currently this adds a "_sp" + suffix to the name of the unextended function. This manual page + indexes the extensions showing the full name. However the proper + usage of these functions uses the macro, to provide for the + possibility of changing the naming convention for specific library + configurations. NCURSES_SP_OUTC This is a new function-pointer type to use in the screen-pointer functions where an <EM>NCURSES</EM><STRONG>_</STRONG><EM>OUTC</EM> is used in the unextended library. NCURSES_OUTC - This is a function-pointer type used for the cases where a func- - tion passes characters to the output stream, e.g., <STRONG><A HREF="curs_terminfo.3x.html">vidputs(3x)</A></STRONG>. + This is a function-pointer type used for the cases where a + function passes characters to the output stream, e.g., + <STRONG><A HREF="curs_terminfo.3x.html">vidputs(3x)</A></STRONG>. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines are specific to ncurses. They were not supported on + These routines are specific to <EM>ncurses</EM>. They were not supported on Version 7, BSD or System V implementations. It is recommended that any - code depending on ncurses extensions be conditioned using <EM>NCURS-</EM> - <EM>ES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>FUNCS</EM>. + code depending on <EM>ncurses</EM> extensions be conditioned using + <EM>NCURSES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>FUNCS</EM>. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <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>. + <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> - <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -296,8 +302,8 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a> <ul> -<li><a href="#h3-IMPROVED-FUNCTIONS">IMPROVED FUNCTIONS</a></li> -<li><a href="#h3-NEW-FUNCTIONS">NEW FUNCTIONS</a></li> +<li><a href="#h3-Improved-Functions">Improved Functions</a></li> +<li><a href="#h3-New-Functions">New Functions</a></li> </ul> </li> <li><a href="#h2-NOTES">NOTES</a></li> diff --git a/doc/html/man/curs_termattrs.3x.html b/doc/html/man/curs_termattrs.3x.html index 1ca91e23a3b1..386b4b4b39a6 100644 --- a/doc/html/man/curs_termattrs.3x.html +++ b/doc/html/man/curs_termattrs.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,28 +27,28 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_termattrs.3x,v 1.15 2020/02/02 23:34:34 tom Exp @ + * @Id: curs_termattrs.3x,v 1.41 2024/04/20 21:20:07 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_termattrs 3x</TITLE> +<TITLE>curs_termattrs 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_termattrs 3x</H1> +<H1 class="no-header">curs_termattrs 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> +<STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> <STRONG>baudrate</STRONG>, <STRONG>erasechar</STRONG>, <STRONG>erasewchar</STRONG>, <STRONG>has_ic</STRONG>, <STRONG>has_il</STRONG>, <STRONG>killchar</STRONG>, <STRONG>killwchar</STRONG>, - <STRONG>longname</STRONG>, <STRONG>term_attrs</STRONG>, <STRONG>termattrs</STRONG>, <STRONG>termname</STRONG> - <STRONG>curses</STRONG> environment query + <STRONG>longname</STRONG>, <STRONG>term_attrs</STRONG>, <STRONG>termattrs</STRONG>, <STRONG>termname</STRONG> - <EM>curses</EM> environment query routines @@ -57,11 +57,11 @@ <STRONG>int</STRONG> <STRONG>baudrate(void);</STRONG> <STRONG>char</STRONG> <STRONG>erasechar(void);</STRONG> - <STRONG>int</STRONG> <STRONG>erasewchar(wchar_t</STRONG> <STRONG>*</STRONG><EM>ch</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>erasewchar(wchar_t</STRONG> <STRONG>*</STRONG><EM>wc</EM><STRONG>);</STRONG> <STRONG>bool</STRONG> <STRONG>has_ic(void);</STRONG> <STRONG>bool</STRONG> <STRONG>has_il(void);</STRONG> <STRONG>char</STRONG> <STRONG>killchar(void);</STRONG> - <STRONG>int</STRONG> <STRONG>killwchar(wchar_t</STRONG> <STRONG>*</STRONG><EM>ch</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>killwchar(wchar_t</STRONG> <STRONG>*</STRONG><EM>wc</EM><STRONG>);</STRONG> <STRONG>char</STRONG> <STRONG>*longname(void);</STRONG> <STRONG>attr_t</STRONG> <STRONG>term_attrs(void);</STRONG> <STRONG>chtype</STRONG> <STRONG>termattrs(void);</STRONG> @@ -76,30 +76,30 @@ integer. -</PRE><H3><a name="h3-erasechar_-erasewchar">erasechar, erasewchar</a></H3><PRE> +</PRE><H3><a name="h3-erasechar_erasewchar">erasechar, erasewchar</a></H3><PRE> The <STRONG>erasechar</STRONG> routine returns the user's current erase character. The <STRONG>erasewchar</STRONG> routine stores the current erase character in the - location referenced by <EM>ch</EM>. If no erase character has been defined, the - routine fails and the location referenced by <EM>ch</EM> is not changed. + location referenced by <EM>wc</EM>. If no erase character has been defined, the + routine fails and the location referenced by <EM>wc</EM> is not changed. -</PRE><H3><a name="h3-has_is_-has_il">has_is, has_il</a></H3><PRE> +</PRE><H3><a name="h3-has_ic_has_il">has_ic, has_il</a></H3><PRE> The <STRONG>has_ic</STRONG> routine is true if the terminal has insert- and delete- character capabilities. The <STRONG>has_il</STRONG> routine is true if the terminal has insert- and delete-line capabilities, or can simulate them using scrolling regions. This might be used to determine if it would be appropriate to turn on physical - scrolling using <STRONG>scrollok</STRONG>. + scrolling using <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG>. -</PRE><H3><a name="h3-killchar_-killwchar">killchar, killwchar</a></H3><PRE> +</PRE><H3><a name="h3-killchar_killwchar">killchar, killwchar</a></H3><PRE> The <STRONG>killchar</STRONG> routine returns the user's current line kill character. The <STRONG>killwchar</STRONG> routine stores the current line-kill character in the - location referenced by <EM>ch</EM>. If no line-kill character has been defined, - the routine fails and the location referenced by <EM>ch</EM> is not changed. + location referenced by <EM>wc</EM>. If no line-kill character has been defined, + the routine fails and the location referenced by <EM>wc</EM> is not changed. </PRE><H3><a name="h3-longname">longname</a></H3><PRE> @@ -112,12 +112,12 @@ terminals. -</PRE><H3><a name="h3-termattrs_-term_attrs">termattrs, term_attrs</a></H3><PRE> +</PRE><H3><a name="h3-termattrs_term_attrs">termattrs, term_attrs</a></H3><PRE> If a given terminal does not support a video attribute that an application program is trying to use, <STRONG>curses</STRONG> may substitute a different video attribute for it. The <STRONG>termattrs</STRONG> and <STRONG>term_attrs</STRONG> functions return - a logical <STRONG>OR</STRONG> of all video attributes supported by the terminal using <EM>A</EM><STRONG>_</STRONG> - and <EM>WA</EM><STRONG>_</STRONG> constants respectively. This information is useful when a + a logical <STRONG>OR</STRONG> of all video attributes supported by the terminal using <STRONG>A_</STRONG> + and <STRONG>WA_</STRONG> constants respectively. This information is useful when a <STRONG>curses</STRONG> program needs complete control over the appearance of the screen. @@ -139,8 +139,8 @@ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - The XSI Curses standard, Issue 4 describes these functions. It changes - the return type of <STRONG>termattrs</STRONG> to the new type <STRONG>attr_t</STRONG>. Most versions of + X/Open Curses, Issue 4 describes these functions. It changes the + return type of <STRONG>termattrs</STRONG> to the new type <STRONG>attr_t</STRONG>. Most versions of curses truncate the result returned by <STRONG>termname</STRONG> to 14 characters. @@ -149,7 +149,7 @@ - <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -158,11 +158,11 @@ <li><a href="#h2-DESCRIPTION">DESCRIPTION</a> <ul> <li><a href="#h3-baudrate">baudrate</a></li> -<li><a href="#h3-erasechar_-erasewchar">erasechar, erasewchar</a></li> -<li><a href="#h3-has_is_-has_il">has_is, has_il</a></li> -<li><a href="#h3-killchar_-killwchar">killchar, killwchar</a></li> +<li><a href="#h3-erasechar_erasewchar">erasechar, erasewchar</a></li> +<li><a href="#h3-has_ic_has_il">has_ic, has_il</a></li> +<li><a href="#h3-killchar_killwchar">killchar, killwchar</a></li> <li><a href="#h3-longname">longname</a></li> -<li><a href="#h3-termattrs_-term_attrs">termattrs, term_attrs</a></li> +<li><a href="#h3-termattrs_term_attrs">termattrs, term_attrs</a></li> <li><a href="#h3-termname">termname</a></li> </ul> </li> diff --git a/doc/html/man/curs_termcap.3x.html b/doc/html/man/curs_termcap.3x.html index 4398f634efd8..c2763afe3b94 100644 --- a/doc/html/man/curs_termcap.3x.html +++ b/doc/html/man/curs_termcap.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2020,2021 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2017,2018 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,38 +27,38 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_termcap.3x,v 1.48 2021/01/09 11:07:15 tom Exp @ + * @Id: curs_termcap.3x,v 1.85 2024/04/20 19:13:12 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_termcap 3x</TITLE> +<TITLE>curs_termcap 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_termcap 3x</H1> +<H1 class="no-header">curs_termcap 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> +<STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> <STRONG>PC</STRONG>, <STRONG>UP</STRONG>, <STRONG>BC</STRONG>, <STRONG>ospeed</STRONG>, <STRONG>tgetent</STRONG>, <STRONG>tgetflag</STRONG>, <STRONG>tgetnum</STRONG>, <STRONG>tgetstr</STRONG>, <STRONG>tgoto</STRONG>, <STRONG>tputs</STRONG> - - <STRONG>curses</STRONG> emulation of termcap + <EM>curses</EM> emulation of <EM>termcap</EM> </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> <STRONG>#include</STRONG> <STRONG><term.h></STRONG> - <STRONG>extern</STRONG> <STRONG>char</STRONG> <STRONG>PC;</STRONG> - <STRONG>extern</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>UP;</STRONG> - <STRONG>extern</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>BC;</STRONG> - <STRONG>extern</STRONG> <STRONG>short</STRONG> <STRONG>ospeed;</STRONG> + <STRONG>char</STRONG> <STRONG>PC;</STRONG> + <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>UP;</STRONG> + <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>BC;</STRONG> + <STRONG>short</STRONG> <STRONG>ospeed;</STRONG> <STRONG>int</STRONG> <STRONG>tgetent(char</STRONG> <STRONG>*</STRONG><EM>bp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>name</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>tgetflag(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>id</EM><STRONG>);</STRONG> @@ -69,241 +69,307 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - These routines are included as a conversion aid for programs that use - the <EM>termcap</EM> library. Their parameters are the same, but the routines - are emulated using the <EM>terminfo</EM> database. Thus, they can only be used - to query the capabilities of entries for which a terminfo entry has - been compiled. - + <EM>ncurses</EM> provides the foregoing variables and functions as a + compatibility layer for programs that use the <EM>termcap</EM> library. The API + is the same, but behavior is emulated using the <EM>terminfo</EM> database. + Thus, it can be used only to query the capabilities of terminal + database entries for which a <EM>terminfo</EM> entry has been compiled. -</PRE><H3><a name="h3-INITIALIZATION">INITIALIZATION</a></H3><PRE> - The <STRONG>tgetent</STRONG> routine loads the entry for <EM>name</EM>. It returns: - 1 on success, +</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE> + <STRONG>tgetent</STRONG> loads the terminal database entry for <EM>name</EM>; see <STRONG><A HREF="term.7.html">term(7)</A></STRONG>. This + must be done before calling any of the other functions. It returns - 0 if there is no such entry (or that it is a generic type, having - too little information for curses applications to run), and + 1 on success, - -1 if the terminfo database could not be found. + 0 if there is no such entry (or if the matching entry describes a + generic terminal, having too little information for <EM>curses</EM> + applications to run), and - This differs from the <EM>termcap</EM> library in two ways: + -1 if the <EM>terminfo</EM> database could not be found. - <STRONG>o</STRONG> The emulation ignores the buffer pointer <EM>bp</EM>. The <EM>termcap</EM> li- - brary would store a copy of the terminal description in the area - referenced by this pointer. However, ncurses stores its termi- - nal descriptions in compiled binary form, which is not the same - thing. + This implementation differs from those of historical <EM>termcap</EM> libraries. - <STRONG>o</STRONG> There is a difference in return codes. The <EM>termcap</EM> library does - not check if the terminal description is marked with the <EM>generic</EM> - capability, or if the terminal description has cursor-address- - ing. + <STRONG>o</STRONG> <EM>ncurses</EM> ignores the buffer pointer <EM>bp</EM>, as do other <EM>termcap</EM> + implementations conforming to portions of X/Open Curses now + withdrawn. The BSD <EM>termcap</EM> library would store a copy of the + terminal type description in the area referenced by this + pointer. <EM>terminfo</EM> stores terminal type descriptions in compiled + form, which is not the same thing. + <STRONG>o</STRONG> The meanings of the return values differ. The BSD <EM>termcap</EM> + library does not check whether the terminal type description + includes the <STRONG>generic</STRONG> (<STRONG>gn</STRONG>) capability, nor whether the terminal + type description supports an addressable cursor, a property + essential for any <EM>curses</EM> implementation to operate. -</PRE><H3><a name="h3-CAPABILITY-VALUES">CAPABILITY VALUES</a></H3><PRE> - The <STRONG>tgetflag</STRONG> routine gets the boolean entry for <EM>id</EM>, or zero if it is - not available. - The <STRONG>tgetnum</STRONG> routine gets the numeric entry for <EM>id</EM>, or -1 if it is not +</PRE><H3><a name="h3-Retrieving-Capability-Values">Retrieving Capability Values</a></H3><PRE> + <STRONG>tgetflag</STRONG> reports the Boolean entry for <EM>id</EM>, or zero if it is not available. - The <STRONG>tgetstr</STRONG> routine returns the string entry for <EM>id</EM>, or zero if it is - not available. Use <STRONG>tputs</STRONG> to output the returned string. The <EM>area</EM> pa- - rameter is used as follows: + <STRONG>tgetnum</STRONG> obtains the numeric entry for <EM>id</EM>, or -1 if it is not available. + + <STRONG>tgetstr</STRONG> returns the string entry for <EM>id</EM>, or <STRONG>NULL</STRONG> if it is not + available. Use <STRONG>tputs</STRONG> to output the string returned. The <EM>area</EM> + parameter is used as follows. <STRONG>o</STRONG> It is assumed to be the address of a pointer to a buffer managed by the calling application. - <STRONG>o</STRONG> However, ncurses checks to ensure that <STRONG>area</STRONG> is not NULL, and al- - so that the resulting buffer pointer is not NULL. If either - check fails, the <EM>area</EM> parameter is ignored. + <STRONG>o</STRONG> However, <EM>ncurses</EM> checks to ensure that <EM>area</EM> is not <STRONG>NULL</STRONG>, and + also that the resulting buffer pointer is not <STRONG>NULL</STRONG>. If either + check fails, <EM>area</EM> is ignored. - <STRONG>o</STRONG> If the checks succeed, ncurses also copies the return value to - the buffer pointed to by <EM>area</EM>, and the <EM>area</EM> value will be updat- - ed to point past the null ending this value. + <STRONG>o</STRONG> If the checks succeed, <EM>ncurses</EM> also copies the return value to + the buffer pointed to by <EM>area</EM>, and the library updates <EM>area</EM> to + point past the null character terminating this value. - <STRONG>o</STRONG> The return value itself is an address in the terminal descrip- - tion which is loaded into memory. + <STRONG>o</STRONG> The return value itself is an address in the terminal type + description loaded into memory. - Only the first two characters of the <STRONG>id</STRONG> parameter of <STRONG>tgetflag</STRONG>, <STRONG>tgetnum</STRONG> - and <STRONG>tgetstr</STRONG> are compared in lookups. +</PRE><H3><a name="h3-Applying-String-Capabilities">Applying String Capabilities</a></H3><PRE> + String capabilities can be parameterized; see subsection "Parameterized + Strings" in <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. <STRONG>tgoto</STRONG> applies its second and third arguments + to the parametric placeholders in the capability stored in the first + argument. -</PRE><H3><a name="h3-FORMATTING-CAPABILITIES">FORMATTING CAPABILITIES</a></H3><PRE> - The <STRONG>tgoto</STRONG> routine expands the given capability using the parameters. + <STRONG>o</STRONG> The capability may contain padding specifications; see subsection + "Delays and Padding" of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. The output of <STRONG>tgoto</STRONG> should + thus be passed to <STRONG>tputs</STRONG> rather than some other output function such + as <STRONG>printf(3)</STRONG>. - <STRONG>o</STRONG> Because the capability may have padding characters, the output of - <STRONG>tgoto</STRONG> should be passed to <STRONG>tputs</STRONG> rather than some other output func- - tion such as <STRONG>printf</STRONG>. + <STRONG>o</STRONG> While <STRONG>tgoto</STRONG> is assumed to be used for the two-parameter cursor + positioning capability, <EM>termcap</EM> applications also use it for + single-parameter capabilities. - <STRONG>o</STRONG> While <STRONG>tgoto</STRONG> is assumed to be used for the two-parameter cursor po- - sitioning capability, termcap applications also use it for single- - parameter capabilities. + Doing so reveals a quirk in <STRONG>tgoto</STRONG>: most hardware terminals use + cursor addressing with <EM>row</EM> first, but the original developers of + the <EM>termcap</EM> interface chose to put the <EM>col</EM> (column) parameter + first. The <STRONG>tgoto</STRONG> function swaps the order of its parameters. It + does this even for calls requiring only a single parameter. In + that case, the first parameter is merely a placeholder. - Doing this shows a quirk in <STRONG>tgoto</STRONG>: most hardware terminals use cur- - sor addressing with <EM>row</EM> first, but the original developers of the - termcap interface chose to put the <EM>column</EM> parameter first. The - <STRONG>tgoto</STRONG> function swaps the order of parameters. It does this also - for calls requiring only a single parameter. In that case, the - first parameter is merely a placeholder. + <STRONG>o</STRONG> Normally the <EM>ncurses</EM> library is compiled without full <EM>termcap</EM> + support. In that case, <STRONG>tgoto</STRONG> uses an internal version of <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> + (a more capable function). - <STRONG>o</STRONG> Normally the ncurses library is compiled with terminfo support. In - that case, <STRONG>tgoto</STRONG> uses <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> (a more capable formatter). + Because it uses <STRONG>tparm</STRONG> internally, <STRONG>tgoto</STRONG> is able to use some <EM>term-</EM> + <EM>info</EM> features, but not all. In particular, it allows only numeric + parameters; <STRONG>tparm</STRONG> supports string parameters. - However, <STRONG>tparm</STRONG> is not a <EM>termcap</EM> feature, and portable <EM>termcap</EM> ap- - plications should not rely upon its availability. + However, <STRONG>tparm</STRONG> is not a <EM>termcap</EM> feature, and portable <EM>termcap</EM> + applications should not rely upon its availability. - The <STRONG>tputs</STRONG> routine is described on the <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> manual page. - It can retrieve capabilities by either termcap or terminfo name. + <STRONG>tputs</STRONG> is described in <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>. It can retrieve capabilities + by either <EM>termcap</EM> or <EM>terminfo</EM> code. -</PRE><H3><a name="h3-GLOBAL-VARIABLES">GLOBAL VARIABLES</a></H3><PRE> - The variables <STRONG>PC</STRONG>, <STRONG>UP</STRONG> and <STRONG>BC</STRONG> are set by <STRONG>tgetent</STRONG> to the terminfo entry's +</PRE><H3><a name="h3-Global-Variables">Global Variables</a></H3><PRE> + The variables <STRONG>PC</STRONG>, <STRONG>UP</STRONG> and <STRONG>BC</STRONG> are set by <STRONG>tgetent</STRONG> to the <EM>terminfo</EM> entry's data for <STRONG>pad_char</STRONG>, <STRONG>cursor_up</STRONG> and <STRONG>backspace_if_not_bs</STRONG>, respectively. <STRONG>UP</STRONG> - is not used by ncurses. <STRONG>PC</STRONG> is used in the <STRONG>tdelay_output</STRONG> function. <STRONG>BC</STRONG> - is used in the <STRONG>tgoto</STRONG> emulation. The variable <STRONG>ospeed</STRONG> is set by ncurses - in a system-specific coding to reflect the terminal speed. - + is not used by <EM>ncurses</EM>. <STRONG>PC</STRONG> is used by <STRONG><A HREF="curs_util.3x.html">delay_output(3x)</A></STRONG>. <STRONG>BC</STRONG> is used by + <STRONG>tgoto</STRONG> emulation. The variable <STRONG>ospeed</STRONG> is set by <EM>ncurses</EM> using a system- + specific encoding to indicate the terminal's data rate. -</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - Except where explicitly noted, routines that return an integer return - <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other - than <STRONG>ERR</STRONG>") upon successful completion. - - Routines that return pointers return <STRONG>NULL</STRONG> on error. +</PRE><H3><a name="h3-Releasing-Memory">Releasing Memory</a></H3><PRE> + The <EM>termcap</EM> functions provide no means of freeing memory, because + legacy <EM>termcap</EM> implementations used only the buffer areas provided by + the caller via <STRONG>tgetent</STRONG> and <STRONG>tgetstr</STRONG>. Those buffers are unused in <EM>term-</EM> + <EM>info</EM>. -</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE> - If you call <STRONG>tgetstr</STRONG> to fetch <STRONG>ca</STRONG> or any other parameterized string, be - aware that it will be returned in terminfo notation, not the older and - not-quite-compatible termcap notation. This will not cause problems if - all you do with it is call <STRONG>tgoto</STRONG> or <STRONG>tparm</STRONG>, which both expand terminfo- - style strings as terminfo. (The <STRONG>tgoto</STRONG> function, if configured to sup- - port termcap, will check if the string is indeed terminfo-style by - looking for "%p" parameters or "$<..>" delays, and invoke a termcap- - style parser if the string does not appear to be terminfo). - - Because terminfo conventions for representing padding in string capa- - bilities differ from termcap's, <STRONG>tputs("50");</STRONG> will put out a literal - "50" rather than busy-waiting for 50 milliseconds. Cope with it. - - Note that termcap has nothing analogous to terminfo's <STRONG>sgr</STRONG> string. One - consequence of this is that termcap applications assume me (terminfo - <STRONG>sgr0</STRONG>) does not reset the alternate character set. This implementation - checks for, and modifies the data shown to the termcap interface to ac- - commodate termcap's limitation in this respect. - + By contrast, <EM>terminfo</EM> allocates memory. It uses <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> to + obtain the data used by <STRONG>tgetent</STRONG> and the functions that retrieve + capability values. One could use + del_curterm(cur_term); + to free this memory, but there is an additional complication with + <EM>ncurses</EM>. It uses a fixed-size pool of storage locations, one per value + of the terminal name parameter given to <STRONG>tgetent</STRONG>. The <STRONG>screen(1)</STRONG> program + relies upon this arrangement to improve its performance. -</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> + An application that uses only the <EM>termcap</EM> functions, not the higher + level <EM>curses</EM> API, could release the memory using <STRONG><A HREF="curs_terminfo.3x.html">del_curterm(3x)</A></STRONG>, + because the pool is freed using other functions; see <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>. -</PRE><H3><a name="h3-Standards">Standards</a></H3><PRE> - These functions are provided for supporting legacy applications, and - should not be used in new programs: - <STRONG>o</STRONG> The XSI Curses standard, Issue 4 describes these functions. Howev- - er, they are marked TO BE WITHDRAWN and may be removed in future - versions. +</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> + The return values of <STRONG>tgetent</STRONG>, <STRONG>tgetflag</STRONG>, <STRONG>tgetname</STRONG>, and <STRONG>tgetstr</STRONG> are + documented above. - <STRONG>o</STRONG> X/Open Curses, Issue 5 (December 2007) marked the termcap interface - (along with <STRONG>vwprintw</STRONG> and <STRONG>vwscanw</STRONG>) as withdrawn. + <STRONG>tgoto</STRONG> returns <STRONG>NULL</STRONG> on error. Error conditions include: - Neither the XSI Curses standard nor the SVr4 man pages documented the - return values of <STRONG>tgetent</STRONG> correctly, though all three were in fact re- - turned ever since SVr1. In particular, an omission in the XSI Curses - documentation has been misinterpreted to mean that <STRONG>tgetent</STRONG> returns <STRONG>OK</STRONG> - or <STRONG>ERR</STRONG>. Because the purpose of these functions is to provide compati- - bility with the <EM>termcap</EM> library, that is a defect in XCurses, Issue 4, - Version 2 rather than in ncurses. + <STRONG>o</STRONG> uninitialized state (<STRONG>tgetent</STRONG> was not called successfully), + <STRONG>o</STRONG> <EM>cap</EM> being a null pointer, -</PRE><H3><a name="h3-Compatibility-with-BSD-Termcap">Compatibility with BSD Termcap</a></H3><PRE> - External variables are provided for support of certain termcap applica- - tions. However, termcap applications' use of those variables is poorly - documented, e.g., not distinguishing between input and output. In par- - ticular, some applications are reported to declare and/or modify <STRONG>os-</STRONG> - <STRONG>peed</STRONG>. + <STRONG>o</STRONG> <EM>cap</EM> referring to a canceled capability, - The comment that only the first two characters of the <STRONG>id</STRONG> parameter are - used escapes many application developers. The original BSD 4.2 termcap - library (and historical relics thereof) did not require a trailing null - NUL on the parameter name passed to <STRONG>tgetstr</STRONG>, <STRONG>tgetnum</STRONG> and <STRONG>tgetflag</STRONG>. - Some applications assume that the termcap interface does not require - the trailing NUL for the parameter name. Taking into account these is- - sues: + <STRONG>o</STRONG> <EM>cap</EM> being a capability with string-valued parameters (a <EM>term-</EM> + <EM>info</EM>-only feature), and - <STRONG>o</STRONG> As a special case, <STRONG>tgetflag</STRONG> matched against a single-character - identifier provided that was at the end of the terminal descrip- - tion. You should not rely upon this behavior in portable programs. - This implementation disallows matches against single-character ca- - pability names. + <STRONG>o</STRONG> <EM>cap</EM> being a capability with more than two parameters. - <STRONG>o</STRONG> This implementation disallows matches by the termcap interface - against extended capability names which are longer than two charac- - ters. + See <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> regarding <STRONG>tputs</STRONG>. - The BSD termcap function <STRONG>tgetent</STRONG> returns the text of a termcap entry in - the buffer passed as an argument. This library (like other terminfo - implementations) does not store terminal descriptions as text. It sets - the buffer contents to a null-terminated string. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + <EM>ncurses</EM> compares only the first two characters of the <EM>id</EM> parameter of + <STRONG>tgetflag</STRONG>, <STRONG>tgetnum</STRONG>, and <STRONG>tgetstr</STRONG> to the capability names in the database. -</PRE><H3><a name="h3-Other-Compatibility">Other Compatibility</a></H3><PRE> - This library includes a termcap.h header, for compatibility with other - implementations. But the header is rarely used because the other im- - plementations are not strictly compatible. - The original BSD termcap (through 4.3BSD) had no header file which gave - function prototypes, because that was a feature of ANSI C. BSD termcap - was written several years before C was standardized. However, there - were two different termcap.h header files in the BSD sources: +</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> + These functions are no longer standardized (and the variables never + were); <EM>ncurses</EM> provides them to support legacy applications. They + should not be used in new programs. - <STRONG>o</STRONG> One was used internally by the <EM>jove</EM> editor in 2BSD through 4.4BSD. - It defined global symbols for the termcap variables which it used. - <STRONG>o</STRONG> The other appeared in 4.4BSD Lite Release 2 (mid-1993) as part of - <EM>libedit</EM> (also known as the <EM>editline</EM> library). The CSRG source his- - tory shows that this was added in mid-1992. The <EM>libedit</EM> header - file was used internally, as a convenience for compiling the <EM>edit-</EM> - <EM>line</EM> library. It declared function prototypes, but no global vari- - ables. +</PRE><H3><a name="h3-Standards">Standards</a></H3><PRE> + <STRONG>o</STRONG> X/Open Curses, Issue 4, Version 2 (1996), describes these + functions, marking them as "TO BE WITHDRAWN". + + <STRONG>o</STRONG> X/Open Curses, Issue 7 (2009) marks the <EM>termcap</EM> interface (along + with <STRONG>vwprintw</STRONG> and <STRONG>vwscanw</STRONG>) as withdrawn. + + Neither X/Open Curses nor the SVr4 man pages documented the return + values of <STRONG>tgetent</STRONG> correctly, though all three shown here were in fact + returned ever since SVr1. In particular, an omission in the X/Open + Curses specification has been misinterpreted to mean that <STRONG>tgetent</STRONG> + returns <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>. Because the purpose of these functions is to + provide compatibility with the <EM>termcap</EM> library, that is a defect in + X/Open Curses, Issue 4, Version 2 rather than in <EM>ncurses</EM>. + + <STRONG>Compatibility</STRONG> <STRONG>with</STRONG> <STRONG>BSD</STRONG> <EM>termcap</EM> + Externally visible variables are provided for support of certain + <EM>termcap</EM> applications. However, their correct usage is poorly + documented; for example, it is unclear when reading and writing them is + meaningful. In particular, some applications are reported to declare + and/or modify <STRONG>ospeed</STRONG>. + + The constraint that only the first two characters of the <EM>id</EM> parameter + are used escapes many application developers. The BSD <EM>termcap</EM> library + did not require a trailing null character on the capability identifier + passed to <STRONG>tgetstr</STRONG>, <STRONG>tgetnum</STRONG>, and <STRONG>tgetflag</STRONG>. Some applications thus + assume that the <EM>termcap</EM> interface does not require the trailing null + character for the capability identifier. + + <STRONG>o</STRONG> <EM>ncurses</EM> disallows matches by the <EM>termcap</EM> interface against extended + capability names that are longer than two characters; see + <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>. + + The BSD <EM>termcap</EM> function <STRONG>tgetent</STRONG> returns the text of a <EM>termcap</EM> entry in + the buffer passed as an argument. This library, like other <EM>terminfo</EM> + implementations, does not store terminal type descriptions as text. It + sets the buffer contents to a null-terminated string. + + +</PRE><H3><a name="h3-Header-File">Header File</a></H3><PRE> + This library includes a <EM>termcap.h</EM> header for compatibility with other + implementations, but the header is rarely used because the other + implementations are not strictly compatible. + + +</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE> + Bill Joy originated a forerunner of <EM>termcap</EM> called "ttycap", dated + September 1977, and released in 1BSD (March 1978). It used many of the + same function names as the later <EM>termcap</EM>, such as <STRONG>tgetent</STRONG>, <STRONG>tgetflag</STRONG>, + <STRONG>tgetnum</STRONG>, and <STRONG>tgetstr</STRONG>. + + A clear descendant, the <EM>termlib</EM> library, followed in 2BSD (May 1979), + adding <STRONG>tgoto</STRONG> and <STRONG>tputs</STRONG>. The former applied at that time only to cursor + positioning capabilities, thus the overly specific name. Little + changed in 3BSD (late 1979) except the addition of test programs and a + <EM>termlib</EM> man page, which documented the API shown in section "SYNOPSIS" + above. + + 4BSD (November 1980) renamed <EM>termlib</EM> to <EM>termcap</EM> and added another test + program. The library remained much the same though 4.3BSD (June 1986). + 4.4BSD-Lite (June 1994) refactored it, leaving the API unchanged. + + Function prototypes were a feature of ANSI C (1989). The library long + antedated the standard and thus provided no header file declaring them. + Nevertheless, the BSD sources included two different <EM>termcap.h</EM> header + files over time. + + <STRONG>o</STRONG> One was used internally by <STRONG>jove(1)</STRONG> from 4.3BSD onward. It declared + global symbols for the <EM>termcap</EM> variables that it used. + + <STRONG>o</STRONG> The other appeared in 4.4BSD-Lite Release 2 (June 1995) as part of + <EM>libedit</EM> (also known as the <EM>editline</EM> library). CSRG source history + shows that this was added in mid-1992. The <EM>libedit</EM> header file was + used internally as a convenience for compiling the <EM>editline</EM> + library. It declared function prototypes, but no global variables. + This header file was added to NetBSD's <EM>termcap</EM> library in mid-1994. + + Meanwhile, GNU <EM>termcap</EM> began development in 1990. Its first release + (1.0) in 1991 included a <EM>termcap.h</EM> header. Its second (1.1) in + September 1992 modified the header to use <EM>const</EM> for the function + prototypes in the header where one would expect the parameters to be + read-only. BSD <EM>termcap</EM> did not. The prototype for <STRONG>tputs</STRONG> also + differed, but in that instance, it was <EM>libedit</EM> that differed from BSD + <EM>termcap</EM>. + + GNU <EM>termcap</EM> 1.3 was bundled with <STRONG>bash(1)</STRONG> in mid-1993 to support the + <STRONG>readline(3)</STRONG> library. + + <EM>ncurses</EM> 1.8.1 (November 1993) provided a <EM>termcap.h</EM> file. It reflected + influence from GNU <EM>termcap</EM> and <STRONG>emacs(1)</STRONG> (rather than <STRONG>jove(1)</STRONG>), + providing the following interface: + + <STRONG>o</STRONG> global symbols used by <EM>emacs</EM>, + + <STRONG>o</STRONG> <EM>const</EM>-qualified function prototypes, and + + <STRONG>o</STRONG> a prototype for <STRONG>tparam</STRONG>, a GNU <EM>termcap</EM> feature. + + Later (in mid-1996) the <STRONG>tparam</STRONG> function was removed from <EM>ncurses</EM>. Any + two of the four implementations thus differ, and programs that intend + to work with all <EM>termcap</EM> library interfaces must account for that fact. - The header file from <EM>libedit</EM> was added to NetBSD's termcap library in - mid-1994. - Meanwhile, GNU termcap was under development, starting in 1990. The - first release (termcap 1.0) in 1991 included a termcap.h header. The - second release (termcap 1.1) in September 1992 modified the header to - use <STRONG>const</STRONG> for the function prototypes in the header where one would ex- - pect the parameters to be read-only. This was a difference versus the - original BSD termcap. The prototype for <STRONG>tputs</STRONG> also differed, but in - that instance, it was <EM>libedit</EM> which differed from BSD termcap. +</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE> + If you call <STRONG>tgetstr</STRONG> to fetch <STRONG>column_address</STRONG> (<STRONG>ch</STRONG>) or any other + parameterized string capability, be aware that it is returned in <EM>term-</EM> + <EM>info</EM> notation, not the older and not-quite-compatible <EM>termcap</EM> notation. + This does not cause problems if all you do with it is call <STRONG>tgoto</STRONG> or + <STRONG>tparm</STRONG>, which both parametrically expand <EM>terminfo</EM>-style string + capabilities as <EM>terminfo</EM> does. (If <EM>ncurses</EM> is configured to support + <EM>termcap,</EM> <STRONG>tgoto</STRONG> checks whether the string is <EM>terminfo</EM>-style by looking + for "<STRONG>%p</STRONG>" parameters or "<STRONG><</STRONG>...<STRONG>></STRONG>" delays, and invokes a <EM>termcap</EM>-style + parser if the string appears not to use <EM>terminfo</EM> syntax.) - A copy of GNU termcap 1.3 was bundled with <EM>bash</EM> in mid-1993, to support - the <EM>readline</EM> library. + Because <EM>terminfo</EM>'s syntax for padding in string capabilities differs + from <EM>termcap</EM>'s, users can be surprised. - A termcap.h file was provided in ncurses 1.8.1 (November 1993). That - reflected influence by <EM>emacs</EM> (rather than <EM>jove</EM>) and GNU termcap: + <STRONG>o</STRONG> <STRONG>tputs("50")</STRONG> in a <EM>terminfo</EM> system transmits "50" rather than busy- + waiting for 50 milliseconds. - <STRONG>o</STRONG> it provided declarations for a few global symbols used by <EM>emacs</EM> + <STRONG>o</STRONG> However, if <EM>ncurses</EM> is configured to support <EM>termcap</EM>, it may also + have been configured to support BSD-style padding. - <STRONG>o</STRONG> it provided function prototypes (using <STRONG>const</STRONG>). + In that case, <STRONG>tputs</STRONG> inspects strings passed to it, looking for + digits at the beginning of the string. - <STRONG>o</STRONG> a prototype for <STRONG>tparam</STRONG> (a GNU termcap feature) was provided. + <STRONG>tputs("50")</STRONG> in a <EM>termcap</EM> system may busy-wait for 50 milliseconds + rather than transmitting "50". - Later (in mid-1996) the <STRONG>tparam</STRONG> function was removed from ncurses. As a - result, there are differences between any of the four implementations, - which must be taken into account by programs which can work with all - termcap library interfaces. + <EM>termcap</EM> has nothing analogous to <EM>terminfo</EM>'s <STRONG>set_attributes</STRONG> (<STRONG>sgr</STRONG>) + capability. One consequence is that <EM>termcap</EM> applications assume that + "<STRONG>me</STRONG>" (equivalent to <EM>terminfo</EM>'s <STRONG>exit_attribute_mode</STRONG> (<STRONG>sgr0</STRONG>) capability) + does not reset the alternate character set. <EM>ncurses</EM> checks for, and + modifies the data shared with, the <EM>termcap</EM> interface to accommodate the + latter's limitation in this respect. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> https://invisible-island.net/ncurses/tctest.html - <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -311,21 +377,23 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a> <ul> -<li><a href="#h3-INITIALIZATION">INITIALIZATION</a></li> -<li><a href="#h3-CAPABILITY-VALUES">CAPABILITY VALUES</a></li> -<li><a href="#h3-FORMATTING-CAPABILITIES">FORMATTING CAPABILITIES</a></li> -<li><a href="#h3-GLOBAL-VARIABLES">GLOBAL VARIABLES</a></li> +<li><a href="#h3-Initialization">Initialization</a></li> +<li><a href="#h3-Retrieving-Capability-Values">Retrieving Capability Values</a></li> +<li><a href="#h3-Applying-String-Capabilities">Applying String Capabilities</a></li> +<li><a href="#h3-Global-Variables">Global Variables</a></li> +<li><a href="#h3-Releasing-Memory">Releasing Memory</a></li> </ul> </li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-BUGS">BUGS</a></li> +<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a> <ul> <li><a href="#h3-Standards">Standards</a></li> -<li><a href="#h3-Compatibility-with-BSD-Termcap">Compatibility with BSD Termcap</a></li> -<li><a href="#h3-Other-Compatibility">Other Compatibility</a></li> +<li><a href="#h3-Header-File">Header File</a></li> </ul> </li> +<li><a href="#h2-HISTORY">HISTORY</a></li> +<li><a href="#h2-BUGS">BUGS</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> diff --git a/doc/html/man/curs_terminfo.3x.html b/doc/html/man/curs_terminfo.3x.html index 3c8da425172f..2bba9d912567 100644 --- a/doc/html/man/curs_terminfo.3x.html +++ b/doc/html/man/curs_terminfo.3x.html @@ -1,6 +1,7 @@ -<!-- +<!-- + * t **************************************************************************** - * Copyright 2018-2020,2021 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,36 +28,30 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_terminfo.3x,v 1.72 2021/01/02 23:50:04 tom Exp @ - * *************************************************************************** - * *************************************************************************** - * *************************************************************************** - * *************************************************************************** - * *************************************************************************** - * *************************************************************************** - * *************************************************************************** + * @Id: curs_terminfo.3x,v 1.136 2024/04/14 00:14:40 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_terminfo 3x</TITLE> +<TITLE>curs_terminfo 3x 2024-04-13 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_terminfo 3x</H1> +<H1 class="no-header">curs_terminfo 3x 2024-04-13 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> +<STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>del_curterm</STRONG>, <STRONG>mvcur</STRONG>, <STRONG>putp</STRONG>, <STRONG>restartterm</STRONG>, <STRONG>set_curterm</STRONG>, <STRONG>setupterm</STRONG>, - <STRONG>tigetflag</STRONG>, <STRONG>tigetnum</STRONG>, <STRONG>tigetstr</STRONG>, <STRONG>tiparm</STRONG>, <STRONG>tparm</STRONG>, <STRONG>tputs</STRONG>, <STRONG>vid_attr</STRONG>, - <STRONG>vid_puts</STRONG>, <STRONG>vidattr</STRONG>, <STRONG>vidputs</STRONG> - <STRONG>curses</STRONG> interfaces to terminfo database + <STRONG>del_curterm</STRONG>, <STRONG>mvcur</STRONG>, <STRONG>putp</STRONG>, <STRONG>restartterm</STRONG>, <STRONG>set_curterm</STRONG>, <STRONG>setupterm</STRONG>, + <STRONG>tigetflag</STRONG>, <STRONG>tigetnum</STRONG>, <STRONG>tigetstr</STRONG>, <STRONG>tiparm</STRONG>, <STRONG>tiparm_s</STRONG>, <STRONG>tiscan_s</STRONG>, <STRONG>tparm</STRONG>, + <STRONG>tputs</STRONG>, <STRONG>vid_attr</STRONG>, <STRONG>vid_puts</STRONG>, <STRONG>vidattr</STRONG>, <STRONG>vidputs</STRONG> - <EM>curses</EM> interfaces to + <EM>terminfo</EM> database </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -80,7 +75,10 @@ <STRONG>int</STRONG> <STRONG>del_curterm(TERMINAL</STRONG> <STRONG>*</STRONG><EM>oterm</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>restartterm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>filedes</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>errret</EM><STRONG>);</STRONG> - <STRONG>char</STRONG> <STRONG>*tparm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>...);</STRONG> + <STRONG>char</STRONG> <STRONG>*tparm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> ...<STRONG>);</STRONG> + <EM>/*</EM> <EM>or</EM> <EM>*/</EM> + <STRONG>char</STRONG> <STRONG>*tparm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>long</STRONG> <EM>p1</EM> ... <STRONG>long</STRONG> <EM>p9</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>tputs(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>affcnt</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>putc</EM><STRONG>)(int));</STRONG> <STRONG>int</STRONG> <STRONG>putp(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG> @@ -89,238 +87,280 @@ <STRONG>int</STRONG> <STRONG>vid_puts(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>putc</EM><STRONG>)(int));</STRONG> <STRONG>int</STRONG> <STRONG>vid_attr(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>mvcur(int</STRONG> <EM>oldrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>oldcol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>newrow</EM>, int <EM>newcol</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>mvcur(int</STRONG> <EM>oldrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>oldcol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>newrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>newcol</EM><STRONG>);</STRONG> + + <STRONG>int</STRONG> <STRONG>tigetflag(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>cap-code</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>tigetnum(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>cap-code</EM><STRONG>);</STRONG> + <STRONG>char</STRONG> <STRONG>*tigetstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>cap-code</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>tigetflag(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>tigetnum(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG> - <STRONG>char</STRONG> <STRONG>*tigetstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG> + <STRONG>char</STRONG> <STRONG>*tiparm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> ...<STRONG>);</STRONG> - <STRONG>char</STRONG> <STRONG>*tiparm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>...);</STRONG> + <EM>/*</EM> <EM>extensions</EM> <EM>*/</EM> + <STRONG>char</STRONG> <STRONG>*tiparm_s(int</STRONG> <EM>expected</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>mask</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>...);</STRONG> + <STRONG>int</STRONG> <STRONG>tiscan_s(int</STRONG> <STRONG>*</STRONG><EM>expected</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>mask</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG> + + <EM>/*</EM> <EM>deprecated</EM> <EM>*/</EM> + <STRONG>int</STRONG> <STRONG>setterm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>term</EM><STRONG>);</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - These low-level routines must be called by programs that have to deal - directly with the <STRONG>terminfo</STRONG> database to handle certain terminal capabil- - ities, such as programming function keys. For all other functionality, - <STRONG>curses</STRONG> routines are more suitable and their use is recommended. + These low-level functions must be called by programs that deal directly + with the <EM>terminfo</EM> database to handle certain terminal capabilities, + such as programming function keys. For all other functionality, <EM>curses</EM> + functions are more suitable and their use is recommended. - None of these functions use (or are aware of) multibyte character - strings such as UTF-8: + None of these functions use (or are aware of) multibyte character + strings such as UTF-8. - <STRONG>o</STRONG> capability names use the POSIX portable character set + <STRONG>o</STRONG> Capability names and codes use the POSIX portable character set. - <STRONG>o</STRONG> capability string values have no associated encoding; they are + <STRONG>o</STRONG> Capability string values have no associated encoding; they are strings of 8-bit characters. </PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE> - Initially, <STRONG>setupterm</STRONG> should be called. The high-level curses functions - <STRONG>initscr</STRONG> and <STRONG>newterm</STRONG> call <STRONG>setupterm</STRONG> to initialize the low-level set of - terminal-dependent variables [listed in <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>]. + Initially, <STRONG>setupterm</STRONG> should be called. The high-level <EM>curses</EM> functions + <STRONG>initscr</STRONG> and <STRONG>newterm</STRONG> call <STRONG>setupterm</STRONG> to initialize the low-level set of + terminal-dependent variables listed in <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>. - Applications can use the terminal capabilities either directly (via - header definitions), or by special functions. The header files <STRONG>curs-</STRONG> - <STRONG>es.h</STRONG> and <STRONG>term.h</STRONG> should be included (in this order) to get the defini- - tions for these strings, numbers, and flags. + Applications can use the terminal capabilities either directly (via + header definitions), or by special functions. The header files + <EM>curses.h</EM> and <EM>term.h</EM> should be included (in that order) to get the + definitions for these strings, numbers, and flags. - The <STRONG>terminfo</STRONG> variables <STRONG>lines</STRONG> and <STRONG>columns</STRONG> are initialized by <STRONG>setupterm</STRONG> - as follows: + The <EM>terminfo</EM> variables <STRONG>lines</STRONG> and <STRONG>columns</STRONG> are initialized by <STRONG>setupterm</STRONG> + as follows. - <STRONG>o</STRONG> If <STRONG>use_env(FALSE)</STRONG> has been called, values for <STRONG>lines</STRONG> and <STRONG>columns</STRONG> - specified in <STRONG>terminfo</STRONG> are used. + <STRONG>o</STRONG> If <STRONG>use_env(FALSE)</STRONG> has been called, values for <STRONG>lines</STRONG> and <STRONG>columns</STRONG> + specified in <EM>terminfo</EM> are used. - <STRONG>o</STRONG> Otherwise, if the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> exist, + <STRONG>o</STRONG> Otherwise, if the environment variables <EM>LINES</EM> and <EM>COLUMNS</EM> exist, their values are used. If these environment variables do not exist - and the program is running in a window, the current window size is - used. Otherwise, if the environment variables do not exist, the - values for <STRONG>lines</STRONG> and <STRONG>columns</STRONG> specified in the <STRONG>terminfo</STRONG> database are + and the program is running in a window, the current window size is + used. Otherwise, if the environment variables do not exist, the + values for <STRONG>lines</STRONG> and <STRONG>columns</STRONG> specified in the <EM>terminfo</EM> database are used. - Parameterized strings should be passed through <STRONG>tparm</STRONG> to instantiate - them. All <STRONG>terminfo</STRONG> strings (including the output of <STRONG>tparm</STRONG>) should be - printed with <STRONG>tputs</STRONG> or <STRONG>putp</STRONG>. Call <STRONG>reset_shell_mode</STRONG> to restore the tty - modes before exiting [see <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>]. + Parameterized strings should be passed through <STRONG>tparm</STRONG> to instantiate + them. All <EM>terminfo</EM> strings (including the output of <STRONG>tparm</STRONG>) should be + sent to the terminal device with <STRONG>tputs</STRONG> or <STRONG>putp</STRONG>. Call <STRONG>reset_shell_mode</STRONG> + to restore the terminal modes before exiting; see <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>. - Programs which use cursor addressing should + Programs that use cursor addressing should <STRONG>o</STRONG> output <STRONG>enter_ca_mode</STRONG> upon startup and <STRONG>o</STRONG> output <STRONG>exit_ca_mode</STRONG> before exiting. - Programs which execute shell subprocesses should + Programs that execute shell subprocesses should - <STRONG>o</STRONG> call <STRONG>reset_shell_mode</STRONG> and output <STRONG>exit_ca_mode</STRONG> before the shell is + <STRONG>o</STRONG> call <STRONG>reset_shell_mode</STRONG> and output <STRONG>exit_ca_mode</STRONG> before the shell is called and - <STRONG>o</STRONG> output <STRONG>enter_ca_mode</STRONG> and call <STRONG>reset_prog_mode</STRONG> after returning from + <STRONG>o</STRONG> output <STRONG>enter_ca_mode</STRONG> and call <STRONG>reset_prog_mode</STRONG> after returning from the shell. - The <STRONG>setupterm</STRONG> routine reads in the <STRONG>terminfo</STRONG> database, initializing the - <STRONG>terminfo</STRONG> structures, but does not set up the output virtualization - structures used by <STRONG>curses</STRONG>. These are its parameters: + <STRONG>setupterm</STRONG> reads in the <EM>terminfo</EM> database, initializing the <EM>terminfo</EM> + structures, but does not set up the output virtualization structures + used by <EM>curses</EM>. Its parameters follow. <EM>term</EM> is the terminal type, a character string. If <EM>term</EM> is null, the - environment variable <STRONG>TERM</STRONG> is used. + environment variable <EM>TERM</EM> is read. <EM>filedes</EM> - is the file descriptor used for all output. + is the file descriptor used for getting and setting terminal + I/O modes. + + Higher-level applications use <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG> to initialize the + terminal, passing an output <EM>stream</EM> rather than a <EM>descriptor</EM>. + In <EM>curses</EM>, the two are the same because <STRONG>newterm</STRONG> calls + <STRONG>setupterm</STRONG>, passing the file descriptor derived from its output + stream parameter. <EM>errret</EM> - points to an optional location where an error status can be re- - turned to the caller. If <EM>errret</EM> is not null, then <STRONG>setupterm</STRONG> + points to an optional location where an error status can be + returned to the caller. If <EM>errret</EM> is not null, then <STRONG>setupterm</STRONG> returns <STRONG>OK</STRONG> or <STRONG>ERR</STRONG> and stores a status value in the integer - pointed to by <EM>errret</EM>. A return value of <STRONG>OK</STRONG> combined with sta- - tus of <STRONG>1</STRONG> in <EM>errret</EM> is normal. + pointed to by <EM>errret</EM>. A return value of <STRONG>OK</STRONG> combined with + status of <STRONG>1</STRONG> in <EM>errret</EM> is normal. - If <STRONG>ERR</STRONG> is returned, examine <EM>errret</EM>: + If <STRONG>ERR</STRONG> is returned, examine <EM>errret:</EM> - <STRONG>1</STRONG> means that the terminal is hardcopy, cannot be used for - curses applications. + <STRONG>1</STRONG> means that the terminal is hardcopy, and cannot be used + for <EM>curses</EM> applications. <STRONG>setupterm</STRONG> determines if the entry is a hardcopy type by - checking the <STRONG>hc</STRONG> (<STRONG>hardcopy</STRONG>) capability. + checking the <STRONG>hardcopy</STRONG> (<STRONG>hc</STRONG>) capability. <STRONG>0</STRONG> means that the terminal could not be found, or that it is - a generic type, having too little information for curses + a generic type, having too little information for <EM>curses</EM> applications to run. <STRONG>setupterm</STRONG> determines if the entry is a generic type by - checking the <STRONG>gn</STRONG> (<STRONG>generic</STRONG>) capability. + checking the <STRONG>generic_type</STRONG> (<STRONG>gn</STRONG>) capability. - <STRONG>-1</STRONG> means that the <STRONG>terminfo</STRONG> database could not be found. + <STRONG>-1</STRONG> means that the <EM>terminfo</EM> database could not be found. - If <EM>errret</EM> is null, <STRONG>setupterm</STRONG> prints an error message upon find- - ing an error and exits. Thus, the simplest call is: + If <EM>errret</EM> is null, <STRONG>setupterm</STRONG> reports an error message upon + finding an error and exits. Thus, the simplest call is: - <STRONG>setupterm((char</STRONG> <STRONG>*)0,</STRONG> <STRONG>1,</STRONG> <STRONG>(int</STRONG> <STRONG>*)0);</STRONG>, + setupterm((char *)0, 1, (int *)0); which uses all the defaults and sends the output to <STRONG>stdout</STRONG>. </PRE><H3><a name="h3-The-Terminal-State">The Terminal State</a></H3><PRE> - The <STRONG>setupterm</STRONG> routine stores its information about the terminal in a - <STRONG>TERMINAL</STRONG> structure pointed to by the global variable <STRONG>cur_term</STRONG>. If it - detects an error, or decides that the terminal is unsuitable (hardcopy - or generic), it discards this information, making it not available to + <STRONG>setupterm</STRONG> stores its information about the terminal in a <EM>TERMINAL</EM> + structure pointed to by the global variable <STRONG>cur_term</STRONG>. If it detects an + error, or decides that the terminal is unsuitable (hardcopy or + generic), it discards this information, making it not available to applications. If <STRONG>setupterm</STRONG> is called repeatedly for the same terminal type, it will - reuse the information. It maintains only one copy of a given termi- - nal's capabilities in memory. If it is called for different terminal - types, <STRONG>setupterm</STRONG> allocates new storage for each set of terminal capa- - bilities. - - The <STRONG>set_curterm</STRONG> routine sets <STRONG>cur_term</STRONG> to <EM>nterm</EM>, and makes all of the - <STRONG>terminfo</STRONG> boolean, numeric, and string variables use the values from - <EM>nterm</EM>. It returns the old value of <STRONG>cur_term</STRONG>. - - The <STRONG>del_curterm</STRONG> routine frees the space pointed to by <EM>oterm</EM> and makes - it available for further use. If <EM>oterm</EM> is the same as <STRONG>cur_term</STRONG>, refer- - ences to any of the <STRONG>terminfo</STRONG> boolean, numeric, and string variables - thereafter may refer to invalid memory locations until another <STRONG>se-</STRONG> - <STRONG>tupterm</STRONG> has been called. - - The <STRONG>restartterm</STRONG> routine is similar to <STRONG>setupterm</STRONG> and <STRONG>initscr</STRONG>, except - that it is called after restoring memory to a previous state (for exam- - ple, when reloading a game saved as a core image dump). <STRONG>restartterm</STRONG> - assumes that the windows and the input and output options are the same - as when memory was saved, but the terminal type and baud rate may be - different. Accordingly, <STRONG>restartterm</STRONG> saves various tty state bits, - calls <STRONG>setupterm</STRONG>, and then restores the bits. + reuse the information. It maintains only one copy of a given + terminal's capabilities in memory. If it is called for different + terminal types, <STRONG>setupterm</STRONG> allocates new storage for each set of + terminal capabilities. + + <STRONG>set_curterm</STRONG> sets <STRONG>cur_term</STRONG> to <EM>nterm</EM>, and makes all of the <EM>terminfo</EM> + Boolean, numeric, and string variables use the values from <EM>nterm</EM>. It + returns the old value of <STRONG>cur_term</STRONG>. + + <STRONG>del_curterm</STRONG> frees the space pointed to by <EM>oterm</EM> and makes it available + for further use. If <EM>oterm</EM> is the same as <STRONG>cur_term</STRONG>, references to any + of the <EM>terminfo</EM> Boolean, numeric, and string variables thereafter may + refer to invalid memory locations until another <STRONG>setupterm</STRONG> has been + called. + + <STRONG>restartterm</STRONG> is similar to <STRONG>setupterm</STRONG> and <STRONG>initscr</STRONG>, except that it is + called after restoring memory to a previous state (for example, when + reloading a game saved as a core image dump). <STRONG>restartterm</STRONG> assumes that + the windows and the input and output options are the same as when + memory was saved, but the terminal type and baud rate may be different. + Accordingly, <STRONG>restartterm</STRONG> saves various terminal state bits, calls + <STRONG>setupterm</STRONG>, and then restores the bits. </PRE><H3><a name="h3-Formatting-Output">Formatting Output</a></H3><PRE> - The <STRONG>tparm</STRONG> routine instantiates the string <EM>str</EM> with parameters <EM>pi</EM>. A - pointer is returned to the result of <EM>str</EM> with the parameters applied. - Application developers should keep in mind these quirks of the inter- - face: + <STRONG>tparm</STRONG> instantiates the string <EM>str</EM> with parameters <EM>pi</EM>. A pointer is + returned to the result of <EM>str</EM> with the parameters applied. Application + developers should keep in mind these quirks of the interface: + + <STRONG>o</STRONG> Although <STRONG>tparm</STRONG>'s actual parameters may be integers or strings, the + prototype expects <EM>long</EM> (integer) values. + + <STRONG>o</STRONG> Aside from the <STRONG>set_attributes</STRONG> (<STRONG>sgr</STRONG>) capability, most terminal + capabilities require no more than one or two parameters. + + <STRONG>o</STRONG> Padding information is ignored by <STRONG>tparm</STRONG>; it is interpreted by + <STRONG>tputs</STRONG>. + + <STRONG>o</STRONG> The capability string is null-terminated. Use "\200" where an + ASCII NUL is needed in the output. + + <STRONG>tiparm</STRONG> is a newer form of <STRONG>tparm</STRONG> which uses <EM>stdarg.h</EM> rather than a + fixed-parameter list. Its numeric parameters are <EM>int</EM>s rather than + <EM>long</EM>s. - <STRONG>o</STRONG> Although <STRONG>tparm</STRONG>'s actual parameters may be integers or strings, the - prototype expects <STRONG>long</STRONG> (integer) values. + Both <STRONG>tparm</STRONG> and <STRONG>tiparm</STRONG> assume that the application passes parameters + consistent with the terminal description. Two extensions are provided + as alternatives to deal with untrusted data. - <STRONG>o</STRONG> Aside from the <STRONG>set_attributes</STRONG> (<STRONG>sgr</STRONG>) capability, most terminal capa- - bilities require no more than one or two parameters. + <STRONG>o</STRONG> <STRONG>tiparm_s</STRONG> is an extension which is a safer formatting function than + <STRONG>tparm</STRONG> or <STRONG>tiparm</STRONG>, because it allows the developer to tell the <EM>curses</EM> + library how many parameters to expect in the parameter list, and + which may be string parameters. - <STRONG>tiparm</STRONG> is a newer form of <STRONG>tparm</STRONG> which uses <EM><stdarg.h></EM> rather than a - fixed-parameter list. Its numeric parameters are integers (int) rather - than longs. + The <EM>mask</EM> parameter has one bit set for each of the parameters (up + to 9) passed as <EM>char</EM> pointers rather than numbers. + + <STRONG>o</STRONG> The extension <STRONG>tiscan_s</STRONG> allows the application to inspect a + formatting capability to see what the <EM>curses</EM> library would assume. </PRE><H3><a name="h3-Output-Functions">Output Functions</a></H3><PRE> - The <STRONG>tputs</STRONG> routine applies padding information to the string <EM>str</EM> and - outputs it: + String capabilities can contain padding information, a time delay + (accommodating performance limitations of hardware terminals) expressed + as <STRONG>$<</STRONG><EM>n</EM><STRONG>></STRONG>, where <EM>n</EM> is a nonnegative integral count of milliseconds. If <EM>n</EM> + exceeds 30,000 (thirty seconds), it is capped at that value. + + <STRONG>tputs</STRONG> interprets time-delay information in the string <EM>str</EM> and outputs + it, executing the delays: - <STRONG>o</STRONG> The <EM>str</EM> parameter must be a terminfo string variable or the return - value from <STRONG>tparm</STRONG>, <STRONG>tiparm</STRONG>, <STRONG>tgetstr</STRONG>, or <STRONG>tgoto</STRONG>. + <STRONG>o</STRONG> The <EM>str</EM> parameter must be a <EM>terminfo</EM> string variable or the return + value of <STRONG>tparm</STRONG>, <STRONG>tiparm</STRONG>, <STRONG>tgetstr</STRONG>, or <STRONG>tgoto</STRONG>. - The <STRONG>tgetstr</STRONG> and <STRONG>tgoto</STRONG> functions are part of the <EM>termcap</EM> interface, - which happens to share this function name with the <EM>terminfo</EM> inter- - face. + The <STRONG>tgetstr</STRONG> and <STRONG>tgoto</STRONG> functions are part of the <EM>termcap</EM> interface, + which happens to share these function names with the <EM>terminfo</EM> API. - <STRONG>o</STRONG> <EM>affcnt</EM> is the number of lines affected, or 1 if not applicable. + <STRONG>o</STRONG> <EM>affcnt</EM> is the number of lines affected, or <STRONG>1</STRONG> if not applicable. - <STRONG>o</STRONG> <EM>putc</EM> is a <STRONG>putchar</STRONG>-like routine to which the characters are passed, + <STRONG>o</STRONG> <EM>putc</EM> is a <EM>putchar</EM>-like function to which the characters are passed, one at a time. - The <STRONG>putp</STRONG> routine calls <STRONG>tputs(</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>1,</STRONG> <STRONG>putchar)</STRONG>. The output of <STRONG>putp</STRONG> al- - ways goes to <STRONG>stdout</STRONG>, rather than the <EM>filedes</EM> specified in <STRONG>setupterm</STRONG>. + If <STRONG>tputs</STRONG> processes a time-delay, it uses the <STRONG><A HREF="curs_util.3x.html">delay_output(3x)</A></STRONG> + function, routing any resulting padding characters through this + function. + + <STRONG>putp</STRONG> calls "<STRONG>tputs(</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>1,</STRONG> <STRONG>putchar)</STRONG>". The output of <STRONG>putp</STRONG> always goes to + <STRONG>stdout</STRONG>, rather than the <EM>filedes</EM> specified in <STRONG>setupterm</STRONG>. - The <STRONG>vidputs</STRONG> routine displays the string on the terminal in the video - attribute mode <EM>attrs</EM>, which is any combination of the attributes listed - in <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>. The characters are passed to the <STRONG>putchar</STRONG>-like routine - <EM>putc</EM>. + <STRONG>vidputs</STRONG> displays the string on the terminal in the video attribute mode + <EM>attrs</EM>, which is any combination of the attributes listed in <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>. + The characters are passed to the <EM>putchar</EM>-like function <EM>putc</EM>. - The <STRONG>vidattr</STRONG> routine is like the <STRONG>vidputs</STRONG> routine, except that it outputs - through <STRONG>putchar</STRONG>. + <STRONG>vidattr</STRONG> is like <STRONG>vidputs</STRONG>, except that it outputs through <STRONG>putchar(3)</STRONG>. - The <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> routines correspond to vidattr and vidputs, - respectively. They use a set of arguments for representing the video - attributes plus color, i.e., + <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> correspond to <STRONG>vidattr</STRONG> and <STRONG>vidputs</STRONG>, respectively. + They use multiple parameters to represent the character attributes and + color; namely, - <STRONG>o</STRONG> <EM>attrs</EM> of type <STRONG>attr_t</STRONG> for the attributes and + <STRONG>o</STRONG> <EM>attrs</EM>, of type <EM>attr</EM><STRONG>_</STRONG><EM>t</EM>, for the attributes and - <STRONG>o</STRONG> <EM>pair</EM> of type <STRONG>short</STRONG> for the color-pair number. + <STRONG>o</STRONG> <EM>pair</EM>, of type <EM>short</EM>, for the color pair number. - The <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> routines are designed to use the attribute - constants with the <EM>WA</EM><STRONG>_</STRONG> prefix. + Use the attribute constants prefixed with "<STRONG>WA_</STRONG>" with <STRONG>vid_attr</STRONG> and + <STRONG>vid_puts</STRONG>. X/Open Curses reserves the <EM>opts</EM> argument for future use, saying that - applications must provide a null pointer for that argument. As an ex- - tension, this implementation allows <EM>opts</EM> to be used as a pointer to - <STRONG>int</STRONG>, which overrides the <EM>pair</EM> (<STRONG>short</STRONG>) argument. + applications must provide a null pointer for that argument; but see + section "EXTENSIONS" below. - The <STRONG>mvcur</STRONG> routine provides low-level cursor motion. It takes effect - immediately (rather than at the next refresh). + <STRONG>mvcur</STRONG> provides low-level cursor motion. It takes effect immediately + (rather than at the next refresh). Unlike the other low-level output + functions, which either write to the standard output or pass an output + function parameter, <STRONG>mvcur</STRONG> uses an output file descriptor derived from + the output stream parameter of <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>. - While <STRONG>putp</STRONG> and <STRONG>mvcur</STRONG> are low-level functions which do not use the high- - level curses state, they are declared in <STRONG><curses.h></STRONG> because SystemV did - this (see <STRONG>HISTORY</STRONG>). + While <STRONG>putp</STRONG> and <STRONG>mvcur</STRONG> are low-level functions that do not use high-level + <EM>curses</EM> state, <EM>ncurses</EM> declares them in <EM>curses.h</EM> because System V did + this (see section "HISTORY" below). </PRE><H3><a name="h3-Terminal-Capability-Functions">Terminal Capability Functions</a></H3><PRE> - The <STRONG>tigetflag</STRONG>, <STRONG>tigetnum</STRONG> and <STRONG>tigetstr</STRONG> routines return the value of the - capability corresponding to the <STRONG>terminfo</STRONG> <EM>capname</EM> passed to them, such - as <STRONG>xenl</STRONG>. The <EM>capname</EM> for each capability is given in the table column - entitled <EM>capname</EM> code in the capabilities section of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. + <STRONG>tigetflag</STRONG>, <STRONG>tigetnum</STRONG>, and <STRONG>tigetstr</STRONG> return the value of the capability + corresponding to the <EM>terminfo</EM> <EM>cap-code</EM>, such as <STRONG>xenl</STRONG>, passed to them. + The <EM>cap-code</EM> for each capability is given in the table column entitled + <EM>cap-code</EM> code in the capabilities section of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. - These routines return special values to denote errors. + These functions return special values to denote errors. - The <STRONG>tigetflag</STRONG> routine returns + <STRONG>tigetflag</STRONG> returns - <STRONG>-1</STRONG> if <EM>capname</EM> is not a boolean capability, or + <STRONG>-1</STRONG> if <EM>cap-code</EM> is not a Boolean capability, or <STRONG>0</STRONG> if it is canceled or absent from the terminal description. - The <STRONG>tigetnum</STRONG> routine returns + <STRONG>tigetnum</STRONG> returns - <STRONG>-2</STRONG> if <EM>capname</EM> is not a numeric capability, or + <STRONG>-2</STRONG> if <EM>cap-code</EM> is not a numeric capability, or <STRONG>-1</STRONG> if it is canceled or absent from the terminal description. - The <STRONG>tigetstr</STRONG> routine returns + <STRONG>tigetstr</STRONG> returns <STRONG>(char</STRONG> <STRONG>*)-1</STRONG> - if <EM>capname</EM> is not a string capability, or + if <EM>cap-code</EM> is not a string capability, or <STRONG>0</STRONG> if it is canceled or absent from the terminal description. @@ -328,248 +368,327 @@ </PRE><H3><a name="h3-Terminal-Capability-Names">Terminal Capability Names</a></H3><PRE> These null-terminated arrays contain - <STRONG>o</STRONG> the short terminfo names ("codes"), + <STRONG>o</STRONG> the short <EM>terminfo</EM> names ("codes"), - <STRONG>o</STRONG> the <STRONG>termcap</STRONG> names ("names"), and + <STRONG>o</STRONG> the <EM>termcap</EM> names ("names"), and - <STRONG>o</STRONG> the long terminfo names ("fnames") + <STRONG>o</STRONG> the long <EM>terminfo</EM> names ("fnames") - for each of the predefined <STRONG>terminfo</STRONG> variables: + for each of the predefined <EM>terminfo</EM> variables: <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*boolnames[]</STRONG>, <STRONG>*boolcodes[]</STRONG>, <STRONG>*boolfnames[]</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*numnames[]</STRONG>, <STRONG>*numcodes[]</STRONG>, <STRONG>*numfnames[]</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*strnames[]</STRONG>, <STRONG>*strcodes[]</STRONG>, <STRONG>*strfnames[]</STRONG> -</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - Routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 - only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com- - pletion, unless otherwise noted in the preceding routine descriptions. - - Routines that return pointers always return <STRONG>NULL</STRONG> on error. +</PRE><H3><a name="h3-Releasing-Memory">Releasing Memory</a></H3><PRE> + Each successful call to <STRONG>setupterm</STRONG> allocates memory to hold the terminal + description. As a side effect, it sets <STRONG>cur_term</STRONG> to point to this + memory. If an application calls - X/Open defines no error conditions. In this implementation + del_curterm(cur_term); - <STRONG>del_curterm</STRONG> - returns an error if its terminal parameter is null. + the memory will be freed. - <STRONG>putp</STRONG> calls <STRONG>tputs</STRONG>, returning the same error-codes. + The formatting functions <STRONG>tparm</STRONG> and <STRONG>tiparm</STRONG> extend the storage allocated + by <STRONG>setupterm</STRONG> as follows. - <STRONG>restartterm</STRONG> - returns an error if the associated call to <STRONG>setupterm</STRONG> returns an - error. + <STRONG>o</STRONG> They add the "static" <EM>terminfo</EM> variables [a-z]. Before <EM>ncurses</EM> + 6.3, those were shared by all screens. With <EM>ncurses</EM> 6.3, those are + allocated per screen. See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. - <STRONG>setupterm</STRONG> - returns an error if it cannot allocate enough memory, or create - the initial windows (stdscr, curscr, newscr). Other error con- - ditions are documented above. + <STRONG>o</STRONG> To improve performance, <EM>ncurses</EM> 6.3 caches the result of analyzing + <EM>terminfo</EM> strings for their parameter types. That is stored as a + binary tree referenced from the <EM>TERMINAL</EM> structure. - <STRONG>tputs</STRONG> - returns an error if the string parameter is null. It does not - detect I/O errors: X/Open states that <STRONG>tputs</STRONG> ignores the return - value of the output function <EM>putc</EM>. - - -</PRE><H3><a name="h3-Compatibility-macros">Compatibility macros</a></H3><PRE> - This implementation provides a few macros for compatibility with sys- - tems before SVr4 (see <STRONG>HISTORY</STRONG>). Those include <STRONG>crmode</STRONG>, <STRONG>fixterm</STRONG>, - <STRONG>gettmode</STRONG>, <STRONG>nocrmode</STRONG>, <STRONG>resetterm</STRONG>, <STRONG>saveterm</STRONG>, and <STRONG>setterm</STRONG>. - - In SVr4, those are found in <STRONG><curses.h></STRONG>, but except for <STRONG>setterm</STRONG>, are - likewise macros. The one function, <STRONG>setterm</STRONG>, is mentioned in the manual - page. The manual page notes that the <STRONG>setterm</STRONG> routine was replaced by - <STRONG>setupterm</STRONG>, stating that the call: + The higher-level <STRONG>initscr</STRONG> and <STRONG>newterm</STRONG> functions use <STRONG>setupterm</STRONG>. Normally + they do not free this memory, but it is possible to do that using the + <STRONG><A HREF="curs_initscr.3x.html">delscreen(3x)</A></STRONG> function. - <STRONG>setupterm(</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>1,</STRONG> <STRONG>(int</STRONG> <STRONG>*)0)</STRONG> - provides the same functionality as <STRONG>setterm(</STRONG><EM>term</EM><STRONG>)</STRONG>, and is not recommend- - ed for new programs. This implementation provides each of those sym- - bols as macros for BSD compatibility, +</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> + X/Open Curses defines no failure conditions. In <EM>ncurses</EM>, + <STRONG>del_curtem</STRONG> + fails if its terminal parameter is null. -</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE> - SVr2 introduced the terminfo feature. Its programming manual mentioned - these low-level functions: + <STRONG>putp</STRONG> calls <STRONG>tputs</STRONG>, returning the same error codes. - <STRONG>Function</STRONG> <STRONG>Description</STRONG> - ------------------------------------------------------------ - - fixterm restore tty to "in curses" state - gettmode establish current tty modes - mvcur low level cursor motion - putp utility function that uses <STRONG>tputs</STRONG> to send char- - acters via <STRONG>putchar</STRONG>. - resetterm set tty modes to "out of curses" state - resetty reset tty flags to stored value - saveterm save current modes as "in curses" state - savetty store current tty flags - setterm establish terminal with given type - setupterm establish terminal with given type - tparm instantiate a string expression with parameters - tputs apply padding information to a string - vidattr like <STRONG>vidputs</STRONG>, but outputs through <STRONG>putchar</STRONG> - vidputs output a string to put terminal in a specified - video attribute mode - - The programming manual also mentioned functions provided for termcap - compatibility (commenting that they "may go away at a later date"): + <STRONG>restartterm</STRONG> + fails if the associated call to <STRONG>setupterm</STRONG> returns an error. - <STRONG>Function</STRONG> <STRONG>Description</STRONG> - ------------------------------------------------ - tgetent look up termcap entry for given <EM>name</EM> - tgetflag get boolean entry for given <EM>id</EM> - tgetnum get numeric entry for given <EM>id</EM> - tgetstr get string entry for given <EM>id</EM> - tgoto apply parameters to given capability - tputs apply padding to capability, calling - a function to put characters - - Early terminfo programs obtained capability values from the <STRONG>TERMINAL</STRONG> - structure initialized by <STRONG>setupterm</STRONG>. + <STRONG>setupterm</STRONG> + fails if it cannot allocate enough memory, or create the initial + windows (<STRONG>stdscr</STRONG>, <STRONG>curscr</STRONG>, and <STRONG>newscr</STRONG>) Other error conditions are + documented above. - SVr3 extended terminfo by adding functions to retrieve capability val- - ues (like the termcap interface), and reusing tgoto and tputs: + <STRONG>tparm</STRONG> + returns a null pointer if the capability would require unexpected + parameters; that is, too many, too few, or incorrect types + (strings where integers are expected, or vice versa). - <STRONG>Function</STRONG> <STRONG>Description</STRONG> - ------------------------------------------- - tigetflag get boolean entry for given <EM>id</EM> - tigetnum get numeric entry for given <EM>id</EM> - tigetstr get string entry for given <EM>id</EM> - - SVr3 also replaced several of the SVr2 terminfo functions which had no - counterpart in the termcap interface, documenting them as obsolete: + <STRONG>tputs</STRONG> + fails if the string parameter is null. It does not detect I/O + errors: X/Open Curses states that <STRONG>tputs</STRONG> ignores the return value + of the output function <EM>putc</EM>. - <STRONG>Function</STRONG> <STRONG>Replaced</STRONG> <STRONG>by</STRONG> - ----------------------------- - crmode cbreak - fixterm reset_prog_mode - gettmode N/A - nocrmode nocbreak - resetterm reset_shell_mode - saveterm def_prog_mode - setterm setupterm - SVr3 kept the <STRONG>mvcur</STRONG>, <STRONG>vidattr</STRONG> and <STRONG>vidputs</STRONG> functions, along with <STRONG>putp</STRONG>, - <STRONG>tparm</STRONG> and <STRONG>tputs</STRONG>. The latter were needed to support padding, and han- - dling functions such as <STRONG>vidattr</STRONG> (which used more than the two parame- - ters supported by <STRONG>tgoto</STRONG>). +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The <STRONG>vid_attr</STRONG> function in <EM>ncurses</EM> is a special case. It was originally + implemented based on a draft of X/Open Curses, as a macro, before other + parts of the <EM>ncurses</EM> wide-character API were developed, and unlike the + other wide-character functions, is also provided in the non-wide- + character configuration. - SVr3 introduced the functions for switching between terminal descrip- - tions, e.g., <STRONG>set_curterm</STRONG>. The various global variables such as <STRONG>bool-</STRONG> - <STRONG>names</STRONG> were mentioned in the programming manual at this point. - SVr4 added the <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> functions. +</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE> + The functions marked as extensions were designed for <EM>ncurses</EM>, and are + not found in SVr4 <EM>curses</EM>, 4.4BSD <EM>curses</EM>, or any other previous <EM>curses</EM> + implementation. - There are other low-level functions declared in the curses header files - on Unix systems, but none were documented. The functions marked "obso- - lete" remained in use by the Unix <STRONG>vi</STRONG> editor. + <EM>ncurses</EM> allows <EM>opts</EM> to be a pointer to <EM>int</EM>, which overrides the <EM>pair</EM> + (<EM>short</EM>) argument. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> + <STRONG>setterm</STRONG> is not described by X/Open and must be considered non-portable. + All other functions are as described by X/Open. -</PRE><H3><a name="h3-Legacy-functions">Legacy functions</a></H3><PRE> - X/Open notes that <STRONG>vidattr</STRONG> and <STRONG>vidputs</STRONG> may be macros. - The function <STRONG>setterm</STRONG> is not described by X/Open and must be considered - non-portable. All other functions are as described by X/Open. +</PRE><H3><a name="h3-Compatibility-Macros">Compatibility Macros</a></H3><PRE> + This implementation provides a few macros for compatibility with + systems before SVr4 (see section "HISTORY" below). They include + <STRONG>Bcrmode</STRONG>, <STRONG>Bfixterm</STRONG>, <STRONG>Bgettmode</STRONG>, <STRONG>Bnocrmode</STRONG>, <STRONG>Bresetterm</STRONG>, <STRONG>Bsaveterm</STRONG>, and + <STRONG>Bsetterm</STRONG>. + + In SVr4, these are found in <EM>curses.h</EM>, but except for <STRONG>setterm</STRONG>, are + likewise macros. The one function, <STRONG>setterm</STRONG>, is mentioned in the manual + page. It further notes that <STRONG>setterm</STRONG> was replaced by <STRONG>setupterm</STRONG>, stating + that the call + setupterm(<EM>term</EM>, 1, (int *)0) + provides the same functionality as <STRONG>setterm(</STRONG><EM>term</EM><STRONG>)</STRONG>, discouraging the + latter for new programs. <EM>ncurses</EM> implements each of these symbols as + macros for BSD <EM>curses</EM> compatibility. -</PRE><H3><a name="h3-Legacy-data">Legacy data</a></H3><PRE> - <STRONG>setupterm</STRONG> copies the terminal name to the array <STRONG>ttytype</STRONG>. This is not +</PRE><H3><a name="h3-Legacy-Data">Legacy Data</a></H3><PRE> + <STRONG>setupterm</STRONG> copies the terminal name to the array <STRONG>ttytype</STRONG>. This is not part of X/Open Curses, but is assumed by some applications. - Other implementions may not declare the capability name arrays. Some - provide them without declaring them. X/Open does not specify them. + Other implementions may not declare the capability name arrays. Some + provide them without declaring them. X/Open Curses does not specify + them. - Extended terminal capability names, e.g., as defined by <STRONG>tic</STRONG> <STRONG>-x</STRONG>, are not + Extended terminal capability names, as defined by "<STRONG>tic</STRONG> <STRONG>-x</STRONG>", are not stored in the arrays described here. -</PRE><H3><a name="h3-Output-buffering">Output buffering</a></H3><PRE> - Older versions of <STRONG>ncurses</STRONG> assumed that the file descriptor passed to +</PRE><H3><a name="h3-Output-Buffering">Output Buffering</a></H3><PRE> + Older versions of <EM>ncurses</EM> assumed that the file descriptor passed to <STRONG>setupterm</STRONG> from <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> uses buffered I/O, and would write to - the corresponding stream. In addition to the limitation that the ter- - minal was left in block-buffered mode on exit (like System V curses), - it was problematic because <STRONG>ncurses</STRONG> did not allow a reliable way to - cleanup on receiving SIGTSTP. + the corresponding stream. In addition to the limitation that the + terminal was left in block-buffered mode on exit (like System V + <EM>curses</EM>), it was problematic because <EM>ncurses</EM> did not allow a reliable + way to clean up on receiving <STRONG>SIGTSTP</STRONG>. The current version (ncurses6) uses output buffers managed directly by - <STRONG>ncurses</STRONG>. Some of the low-level functions described in this manual page - write to the standard output. They are not signal-safe. The high-lev- - el functions in <STRONG>ncurses</STRONG> use alternate versions of these functions using - the more reliable buffering scheme. - - -</PRE><H3><a name="h3-Function-prototypes">Function prototypes</a></H3><PRE> - The X/Open Curses prototypes are based on the SVr4 curses header decla- - rations, which were defined at the same time the C language was first - standardized in the late 1980s. - - <STRONG>o</STRONG> X/Open Curses uses <STRONG>const</STRONG> less effectively than a later design - might, in some cases applying it needlessly to values are already - constant, and in most cases overlooking parameters which normally - would use <STRONG>const</STRONG>. Using constant parameters for functions which do - not use <STRONG>const</STRONG> may prevent the program from compiling. On the other - hand, <EM>writable</EM> <EM>strings</EM> are an obsolescent feature. - - As an extension, this implementation can be configured to change - the function prototypes to use the <STRONG>const</STRONG> keyword. The ncurses ABI + <EM>ncurses</EM>. Some of the low-level functions described in this manual page + write to the standard output. They are not signal-safe. The high- + level functions in <EM>ncurses</EM> employ alternate versions of these functions + using the more reliable buffering scheme. + + +</PRE><H3><a name="h3-Function-Prototypes">Function Prototypes</a></H3><PRE> + The X/Open Curses prototypes are based on the SVr4 <EM>curses</EM> header + declarations, which were defined at the same time the C language was + first standardized in the late 1980s. + + <STRONG>o</STRONG> X/Open Curses uses <EM>const</EM> less effectively than a later design + might, sometimes applying it needlessly to values that are already + constant, and in most cases overlooking parameters that normally + would use <EM>const</EM>. Passing <EM>const</EM>-qualified parameters to functions + that do not declare them <EM>const</EM> may prevent the program from + compiling. On the other hand, "writable strings" are an + obsolescent feature. + + As an extension, this implementation can be configured to change + the function prototypes to use the <EM>const</EM> keyword. The <EM>ncurses</EM> ABI 6 enables this feature by default. - <STRONG>o</STRONG> X/Open Curses prototypes <STRONG>tparm</STRONG> with a fixed number of parameters, + <STRONG>o</STRONG> X/Open Curses prototypes <STRONG>tparm</STRONG> with a fixed number of parameters, rather than a variable argument list. - This implementation uses a variable argument list, but can be con- - figured to use the fixed-parameter list. Portable applications - should provide 9 parameters after the format; zeroes are fine for - this purpose. + This implementation uses a variable argument list, but can be + configured to use the fixed-parameter list. Portable applications + should provide nine parameters after the format; zeroes are fine + for this purpose. - In response to review comments by Thomas E. Dickey, X/Open Curses + In response to review comments by Thomas E. Dickey, X/Open Curses Issue 7 proposed the <STRONG>tiparm</STRONG> function in mid-2009. + While <STRONG>tiparm</STRONG> is always provided in <EM>ncurses</EM>, the older form is only + available as a build-time configuration option. If not specially + configured, <STRONG>tparm</STRONG> is the same as <STRONG>tiparm</STRONG>. + + Both forms of <STRONG>tparm</STRONG> have drawbacks: + + <STRONG>o</STRONG> Most of the calls to <STRONG>tparm</STRONG> use only one or two parameters. Passing + nine on each call is awkward. -</PRE><H3><a name="h3-Special-TERM-treatment">Special TERM treatment</a></H3><PRE> - If configured to use the terminal-driver, e.g., for the MinGW port, + Using <EM>long</EM> for the numeric parameter type is a workaround to make + the parameter use the same amount of stack as a pointer. That + approach dates back to the mid-1980s, before C was standardized. + Since then, there is a standard (and pointers are not required to + fit in a <EM>long</EM>). - <STRONG>o</STRONG> <STRONG>setupterm</STRONG> interprets a missing/empty TERM variable as the special + <STRONG>o</STRONG> Providing the right number of parameters for a variadic function + such as <STRONG>tiparm</STRONG> can be a problem, in particular for string + parameters. However, only a few <EM>terminfo</EM> capabilities use string + parameters (for instance, the ones used for programmable function + keys). + + The <EM>ncurses</EM> library checks usage of these capabilities, and returns + an error if the capability mishandles string parameters. But it + cannot check if a calling program provides strings in the right + places for the <STRONG>tparm</STRONG> calls. + + The <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG> program checks its use of these capabilities with a + table, so that it calls <STRONG>tparm</STRONG> correctly. + + <STRONG>Special</STRONG> <EM>TERM</EM> <STRONG>treatment</STRONG> + If configured to use the terminal driver, as with the MinGW port, + + <STRONG>o</STRONG> <STRONG>setupterm</STRONG> interprets a missing/empty <EM>TERM</EM> variable as the special value "unknown". + SVr4 <EM>curses</EM> uses the special value "dumb". + + The difference between the two is that the former uses the + <STRONG>generic_type</STRONG> (<STRONG>gn</STRONG>) <EM>terminfo</EM> capability, while the latter does not. + A generic terminal is unsuitable for full-screen applications. + <STRONG>o</STRONG> <STRONG>setupterm</STRONG> allows explicit use of the the windows console driver by - checking if $TERM is set to "#win32con" or an abbreviation of that + checking if <STRONG>$TERM</STRONG> is set to "#win32con" or an abbreviation of that string. -</PRE><H3><a name="h3-Other-portability-issues">Other portability issues</a></H3><PRE> - In System V Release 4, <STRONG>set_curterm</STRONG> has an <STRONG>int</STRONG> return type and returns - <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>. We have chosen to implement the X/Open Curses semantics. +</PRE><H3><a name="h3-Other-Portability-Issues">Other Portability Issues</a></H3><PRE> + In SVr4, <STRONG>set_curterm</STRONG> returns an <EM>int</EM>, <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>. We have chosen to + implement the X/Open Curses semantics. + + In SVr4, the third argument of <STRONG>tputs</STRONG> has the type "<STRONG>int</STRONG> <STRONG>(*putc)(char)</STRONG>". - In System V Release 4, the third argument of <STRONG>tputs</STRONG> has the type <STRONG>int</STRONG> - <STRONG>(*putc)(char)</STRONG>. + At least one implementation of X/Open Curses (Solaris) returns a value + other than <STRONG>OK</STRONG> or <STRONG>ERR</STRONG> from <STRONG>tputs</STRONG>. It instead returns the length of the + string, and does no error checking. - At least one implementation of X/Open Curses (Solaris) returns a value - other than <STRONG>OK</STRONG>/<STRONG>ERR</STRONG> from <STRONG>tputs</STRONG>. That returns the length of the string, - and does no error-checking. + X/Open Curses notes that after calling <STRONG>mvcur</STRONG>, the <EM>curses</EM> state may not + match the actual terminal state, and that an application should touch + and refresh the window before resuming normal <EM>curses</EM> calls. Both + <EM>ncurses</EM> and SVr4 <EM>curses</EM> implement <STRONG>mvcur</STRONG> using the <EM>SCREEN</EM> data allocated + in either <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>. So though it is documented as a <EM>terminfo</EM> + function, <STRONG>mvcur</STRONG> is really a <EM>curses</EM> function that is not well specified. - X/Open notes that after calling <STRONG>mvcur</STRONG>, the curses state may not match - the actual terminal state, and that an application should touch and re- - fresh the window before resuming normal curses calls. Both <STRONG>ncurses</STRONG> and - System V Release 4 curses implement <STRONG>mvcur</STRONG> using the SCREEN data allo- - cated in either <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>. So though it is documented as a - terminfo function, <STRONG>mvcur</STRONG> is really a curses function which is not well - specified. + X/Open Curses states that the old location must be given for <STRONG>mvcur</STRONG> to + accommodate terminals that lack absolute cursor positioning. <EM>ncurses</EM> + allows the caller to use -1 for either or both old coordinates. The -1 + tells <EM>ncurses</EM> that the old location is unknown, and that it must use + only absolute motion, as with the <STRONG>cursor_address</STRONG> (<STRONG>cup</STRONG>) capability, + rather than the least costly combination of absolute and relative + motion. - X/Open states that the old location must be given for <STRONG>mvcur</STRONG>. This im- - plementation allows the caller to use -1's for the old ordinates. In - that case, the old location is unknown. + +</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE> + SVr2 (1984) introduced the <EM>terminfo</EM> feature. Its programming manual + mentioned the following low-level functions. + + <STRONG>Function</STRONG> <STRONG>Description</STRONG> + ------------------------------------------------------------------------ + <STRONG>fixterm</STRONG> restore terminal to "in <EM>curses</EM>" state + <STRONG>gettmode</STRONG> establish current terminal modes + <STRONG>mvcur</STRONG> low level cursor motion + <STRONG>putp</STRONG> use <STRONG>tputs</STRONG> to send characters via <EM>putchar</EM> + <STRONG>resetterm</STRONG> set terminal modes to "out of <EM>curses</EM>" state + + <STRONG>resetty</STRONG> reset terminal flags to stored value + <STRONG>saveterm</STRONG> save current modes as "in <EM>curses</EM>" state + <STRONG>savetty</STRONG> store current terminal flags + <STRONG>setterm</STRONG> establish terminal with given type + <STRONG>setupterm</STRONG> establish terminal with given type + <STRONG>tparm</STRONG> interpolate parameters into string capability + <STRONG>tputs</STRONG> apply padding information to a string + <STRONG>vidattr</STRONG> like <STRONG>vidputs</STRONG>, but output through <EM>putchar</EM> + <STRONG>vidputs</STRONG> write string to terminal, applying specified attributes + + The programming manual also mentioned functions provided for <EM>termcap</EM> + compatibility (commenting that they "may go away at a later date"). + + <STRONG>Function</STRONG> <STRONG>Description</STRONG> + ------------------------------------------------------------------------ + <STRONG>tgetent</STRONG> look up <EM>termcap</EM> entry for given <EM>name</EM> + <STRONG>tgetflag</STRONG> get Boolean entry for given <EM>id</EM> + <STRONG>tgetnum</STRONG> get numeric entry for given <EM>id</EM> + <STRONG>tgetstr</STRONG> get string entry for given <EM>id</EM> + <STRONG>tgoto</STRONG> apply parameters to given capability + <STRONG>tputs</STRONG> write characters via a function parameter, applying padding + + Early <EM>terminfo</EM> programs obtained capability values from the <EM>TERMINAL</EM> + structure initialized by <STRONG>setupterm</STRONG>. + + SVr3 (1987) extended <EM>terminfo</EM> by adding functions to retrieve + capability values (like the <EM>termcap</EM> interface), and reusing <STRONG>tgoto</STRONG> and + <STRONG>tputs</STRONG>. + + <STRONG>Function</STRONG> <STRONG>Description</STRONG> + ------------------------------------------------------------------------ + <STRONG>tigetflag</STRONG> get Boolean entry for given <EM>id</EM> + <STRONG>tigetnum</STRONG> get numeric entry for given <EM>id</EM> + <STRONG>tigetstr</STRONG> get string entry for given <EM>id</EM> + + SVr3 also replaced several of the SVr2 <EM>terminfo</EM> functions that had no + counterpart in the <EM>termcap</EM> interface, documenting them as obsolete. + + <STRONG>Function</STRONG> <STRONG>Replaced</STRONG> <STRONG>by</STRONG> + ------------------------------------------------------------------------ + crmode cbreak + fixterm reset_prog_mode + gettmode <EM>n/a</EM> + nocrmode nocbreak + resetterm reset_shell_mode + saveterm def_prog_mode + setterm setupterm + + SVr3 kept the <STRONG>mvcur</STRONG>, <STRONG>vidattr</STRONG>, and <STRONG>vidputs</STRONG> functions, along with <STRONG>putp</STRONG>, + <STRONG>tparm</STRONG>, and <STRONG>tputs</STRONG>. The latter were needed to support padding, and to + handle capabilities accessed by functions such as <STRONG>vidattr</STRONG> (which used + more than the two parameters supported by <STRONG>tgoto</STRONG>). + + SVr3 introduced the functions for switching between terminal + descriptions; for example, <STRONG>set_curterm</STRONG>. Some changes reflected + incremental improvements to the SVr2 library. + + <STRONG>o</STRONG> The <EM>TERMINAL</EM> type definition was introduced in SVr3.01, for the + <EM>term</EM> structure provided in SVr2. + + <STRONG>o</STRONG> Various global variables such as <STRONG>boolnames</STRONG> were mentioned in the + programming manual at this point, though the variables had been + provided in SVr2. + + SVr4 (1989) added the <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> functions. + + Other low-level functions are declared in the <EM>curses</EM> header files of + Unix systems, but none are documented. Those noted as "obsolete" by + SVr3 remained in use by System V's <STRONG>vi(1)</STRONG> editor. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>, - <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>, + <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, + <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> - <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> +ncurses 6.5 2024-04-13 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -583,24 +702,22 @@ <li><a href="#h3-Output-Functions">Output Functions</a></li> <li><a href="#h3-Terminal-Capability-Functions">Terminal Capability Functions</a></li> <li><a href="#h3-Terminal-Capability-Names">Terminal Capability Names</a></li> +<li><a href="#h3-Releasing-Memory">Releasing Memory</a></li> </ul> </li> -<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a> -<ul> -<li><a href="#h3-Compatibility-macros">Compatibility macros</a></li> -</ul> -</li> -<li><a href="#h2-HISTORY">HISTORY</a></li> +<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> +<li><a href="#h2-NOTES">NOTES</a></li> +<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a> <ul> -<li><a href="#h3-Legacy-functions">Legacy functions</a></li> -<li><a href="#h3-Legacy-data">Legacy data</a></li> -<li><a href="#h3-Output-buffering">Output buffering</a></li> -<li><a href="#h3-Function-prototypes">Function prototypes</a></li> -<li><a href="#h3-Special-TERM-treatment">Special TERM treatment</a></li> -<li><a href="#h3-Other-portability-issues">Other portability issues</a></li> +<li><a href="#h3-Compatibility-Macros">Compatibility Macros</a></li> +<li><a href="#h3-Legacy-Data">Legacy Data</a></li> +<li><a href="#h3-Output-Buffering">Output Buffering</a></li> +<li><a href="#h3-Function-Prototypes">Function Prototypes</a></li> +<li><a href="#h3-Other-Portability-Issues">Other Portability Issues</a></li> </ul> </li> +<li><a href="#h2-HISTORY">HISTORY</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> diff --git a/doc/html/man/curs_threads.3x.html b/doc/html/man/curs_threads.3x.html index 51a249bc642f..8681a8fe8305 100644 --- a/doc/html/man/curs_threads.3x.html +++ b/doc/html/man/curs_threads.3x.html @@ -1,6 +1,7 @@ -<!-- +<!-- + * t **************************************************************************** - * Copyright 2020 Thomas E. Dickey * + * Copyright 2021-2023,2024 Thomas E. Dickey * * Copyright 2008-2015,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,34 +28,35 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_threads.3x,v 1.27 2020/12/30 18:28:51 tom Exp @ - * *************************************************************************** - * *************************************************************************** + * @Id: curs_threads.3x,v 1.56 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_threads 3x</TITLE> +<TITLE>curs_threads 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_threads 3x</H1> +<H1 class="no-header">curs_threads 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> +<STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>curs_threads</STRONG> - <STRONG>curses</STRONG> thread support + <EM>NCURSES</EM><STRONG>_</STRONG><EM>WINDOW</EM><STRONG>_</STRONG><EM>CB</EM>, <EM>NCURSES</EM><STRONG>_</STRONG><EM>SCREEN</EM><STRONG>_</STRONG><EM>CB</EM>, <STRONG>get_escdelay</STRONG>, <STRONG>set_escdelay</STRONG>, + <STRONG>set_tabsize</STRONG>, <STRONG>use_screen</STRONG>, <STRONG>use_window</STRONG> - <EM>curses</EM> support for multi-threaded + applications </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> + <EM>/*</EM> <EM>data</EM> <EM>types</EM> <EM>*/</EM> <STRONG>typedef</STRONG> <STRONG>int</STRONG> <STRONG>(*NCURSES_WINDOW_CB)(WINDOW</STRONG> <STRONG>*,</STRONG> <STRONG>void</STRONG> <STRONG>*);</STRONG> <STRONG>typedef</STRONG> <STRONG>int</STRONG> <STRONG>(*NCURSES_SCREEN_CB)(SCREEN</STRONG> <STRONG>*,</STRONG> <STRONG>void</STRONG> <STRONG>*);</STRONG> @@ -67,548 +69,555 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - This implementation can be configured to provide rudimentary support - for multi-threaded applications. This makes a different set of li- - braries, e.g., <EM>libncursest</EM> since the binary interfaces are different. - - Rather than modify the interfaces to pass a thread specifier to each - function, it adds a few functions which can be used in any configura- - tion which hide the mutex's needed to prevent concurrent use of the - global variables when configured for threading. - - In addition to forcing access to members of the <STRONG>WINDOW</STRONG> structure to be - via functions (see <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>), it makes functions of the common - global variables, e.g., COLORS, COLOR_PAIRS, COLS, ESCDELAY, LINES, - TABSIZE curscr, newscr and ttytype. Those variables are maintained as - read-only values, stored in the <STRONG>SCREEN</STRONG> structure. - - Even this is not enough to make a thread-safe application using curses. - A multi-threaded application would be expected to have threads updating - separate windows (within the same device), or updating on separate - screens (on different devices). Also, a few of the global variables - are considered writable by some applications. The functions described - here address these special situations. - - The ESCDELAY and TABSIZE global variables are modified by some applica- - tions. To modify them in any configuration, use the <STRONG>set_escdelay</STRONG> or - <STRONG>set_tabsize</STRONG> functions. Other global variables are not modifiable. - - The <STRONG>get_escdelay</STRONG> function returns the value for ESCDELAY. - - The <STRONG>use_window</STRONG> and <STRONG>use_screen</STRONG> functions provide coarse granularity mu- - texes for their respective <STRONG>WINDOW</STRONG> and <STRONG>SCREEN</STRONG> parameters, and call a us- - er-supplied function, passing it a <EM>data</EM> parameter, and returning the - value from the user-supplied function to the application. - - -</PRE><H3><a name="h3-USAGE">USAGE</a></H3><PRE> - All of the ncurses library functions assume that the locale is not al- - tered during operation. In addition, they use data which is maintained - within a hierarchy of scopes. - - <STRONG>o</STRONG> global data, e.g., used in the low-level terminfo or termcap in- - terfaces. - - <STRONG>o</STRONG> terminal data, e.g., associated with a call to <EM>set</EM><STRONG>_</STRONG><EM>curterm</EM>. The - terminal data are initialized when screens are created. - - <STRONG>o</STRONG> screen data, e.g., associated with a call to <EM>newterm</EM> or <EM>initscr</EM>. - - <STRONG>o</STRONG> window data, e.g., associated with a call to <EM>newwin</EM> or <EM>subwin</EM>. - Windows are associated with screens. Pads are not necessarily - associated with a particular screen. - - Most curses applications operate on one or more windows within a - single screen. - - <STRONG>o</STRONG> reentrant, i.e., it uses only the data passed as parameters. - - This table lists the scope of data used for each symbol in the ncurses - library when it is configured to support threading: - - Symbol Scope - ------------------------------------------------------------- - BC global - COLORS screen (readonly) - COLOR_PAIR reentrant - COLOR_PAIRS screen (readonly) - COLS screen (readonly) - ESCDELAY screen (readonly, see <EM>set</EM><STRONG>_</STRONG><EM>escdelay</EM>) - LINES screen (readonly) - PAIR_NUMBER reentrant - PC global - SP global - TABSIZE screen (readonly) - UP global - acs_map screen (readonly) - add_wch window (stdscr) - add_wchnstr window (stdscr) - add_wchstr window (stdscr) - addch window (stdscr) - addchnstr window (stdscr) - addchstr window (stdscr) - addnstr window (stdscr) - addnwstr window (stdscr) - addstr window (stdscr) - addwstr window (stdscr) - assume_default_colors screen - attr_get window (stdscr) - attr_off window (stdscr) - attr_on window (stdscr) - attr_set window (stdscr) - attroff window (stdscr) - attron window (stdscr) - attrset window (stdscr) - baudrate screen - beep screen - bkgd window (stdscr) - bkgdset window (stdscr) - bkgrnd window (stdscr) - bkgrndset window (stdscr) - boolcodes global (readonly) - boolfnames global (readonly) - boolnames global (readonly) - border window (stdscr) - border_set window (stdscr) - box window (stdscr) - box_set window (stdscr) - can_change_color terminal - cbreak screen - chgat window (stdscr) - clear window (stdscr) - clearok window - clrtobot window (stdscr) - clrtoeol window (stdscr) - color_content screen - - color_set window (stdscr) - copywin window locks(source, target) - cur_term terminal - curs_set screen - curscr screen (readonly) - curses_version global (readonly) - def_prog_mode terminal - def_shell_mode terminal - define_key screen - del_curterm screen - delay_output screen - delch window (stdscr) - deleteln window (stdscr) - delscreen global locks(screenlist, screen) - delwin global locks(windowlist) - derwin screen - doupdate screen - dupwin screen locks(window) - echo screen - echo_wchar window (stdscr) - echochar window (stdscr) - endwin screen - erase window (stdscr) - erasechar window (stdscr) - erasewchar window (stdscr) - filter global - flash terminal - flushinp screen - get_wch screen (input-operation) - get_wstr screen (input-operation) - getattrs window - getbegx window - getbegy window - getbkgd window - getbkgrnd window - getcchar reentrant - getch screen (input-operation) - getcurx window - getcury window - getmaxx window - getmaxy window - getmouse screen (input-operation) - getn_wstr screen (input-operation) - getnstr screen (input-operation) - getparx window - getpary window - getstr screen (input-operation) - getwin screen (input-operation) - halfdelay screen - has_colors terminal - has_ic terminal - has_il terminal - has_key screen - hline window (stdscr) - hline_set window (stdscr) - idcok window - idlok window - immedok window - in_wch window (stdscr) - in_wchnstr window (stdscr) - in_wchstr window (stdscr) - inch window (stdscr) - inchnstr window (stdscr) - inchstr window (stdscr) - init_color screen - init_pair screen - - initscr global locks(screenlist) - innstr window (stdscr) - innwstr window (stdscr) - ins_nwstr window (stdscr) - ins_wch window (stdscr) - ins_wstr window (stdscr) - insch window (stdscr) - insdelln window (stdscr) - insertln window (stdscr) - insnstr window (stdscr) - insstr window (stdscr) - instr window (stdscr) - intrflush terminal - inwstr window (stdscr) - is_cleared window - is_idcok window - is_idlok window - is_immedok window - is_keypad window - is_leaveok window - is_linetouched window - is_nodelay window - is_notimeout window - is_scrollok window - is_syncok window - is_term_resized terminal - is_wintouched window - isendwin screen - key_defined screen - key_name global (static data) - keybound screen - keyname global (static data) - keyok screen - keypad window - killchar terminal - killwchar terminal - leaveok window - longname screen - mcprint terminal - meta screen - mouse_trafo window (stdscr) - mouseinterval screen - mousemask screen - move window (stdscr) - mvadd_wch window (stdscr) - mvadd_wchnstr window (stdscr) - mvadd_wchstr window (stdscr) - mvaddch window (stdscr) - mvaddchnstr window (stdscr) - mvaddchstr window (stdscr) - mvaddnstr window (stdscr) - mvaddnwstr window (stdscr) - mvaddstr window (stdscr) - mvaddwstr window (stdscr) - mvchgat window (stdscr) - mvcur screen - mvdelch window (stdscr) - mvderwin window (stdscr) - mvget_wch screen (input-operation) - mvget_wstr screen (input-operation) - mvgetch screen (input-operation) - mvgetn_wstr screen (input-operation) - mvgetnstr screen (input-operation) - mvgetstr screen (input-operation) - mvhline window (stdscr) - mvhline_set window (stdscr) - - mvin_wch window (stdscr) - mvin_wchnstr window (stdscr) - mvin_wchstr window (stdscr) - mvinch window (stdscr) - mvinchnstr window (stdscr) - mvinchstr window (stdscr) - mvinnstr window (stdscr) - mvinnwstr window (stdscr) - mvins_nwstr window (stdscr) - mvins_wch window (stdscr) - mvins_wstr window (stdscr) - mvinsch window (stdscr) - mvinsnstr window (stdscr) - mvinsstr window (stdscr) - mvinstr window (stdscr) - mvinwstr window (stdscr) - mvprintw window (stdscr) - mvscanw screen - mvvline window (stdscr) - mvvline_set window (stdscr) - mvwadd_wch window - mvwadd_wchnstr window - mvwadd_wchstr window - mvwaddch window - mvwaddchnstr window - mvwaddchstr window - mvwaddnstr window - mvwaddnwstr window - mvwaddstr window - mvwaddwstr window - mvwchgat window - mvwdelch window - mvwget_wch screen (input-operation) - mvwget_wstr screen (input-operation) - mvwgetch screen (input-operation) - mvwgetn_wstr screen (input-operation) - mvwgetnstr screen (input-operation) - mvwgetstr screen (input-operation) - mvwhline window - mvwhline_set window - mvwin window - mvwin_wch window - mvwin_wchnstr window - mvwin_wchstr window - mvwinch window - mvwinchnstr window - mvwinchstr window - mvwinnstr window - mvwinnwstr window - mvwins_nwstr window - mvwins_wch window - mvwins_wstr window - mvwinsch window - mvwinsnstr window - mvwinsstr window - mvwinstr window - mvwinwstr window - mvwprintw window - mvwscanw screen - mvwvline window - mvwvline_set window - napms reentrant - newpad global locks(windowlist) - newscr screen (readonly) - newterm global locks(screenlist) - newwin global locks(windowlist) - - nl screen - nocbreak screen - nodelay window - noecho screen - nofilter global - nonl screen - noqiflush terminal - noraw screen - notimeout window - numcodes global (readonly) - numfnames global (readonly) - numnames global (readonly) - ospeed global - overlay window locks(source, target) - overwrite window locks(source, target) - pair_content screen - pecho_wchar screen - pechochar screen - pnoutrefresh screen - prefresh screen - printw window - putp global - putwin window - qiflush terminal - raw screen - redrawwin window - refresh screen - reset_prog_mode screen - reset_shell_mode screen - resetty terminal - resize_term screen locks(windowlist) - resizeterm screen - restartterm screen - ripoffline global (static data) - savetty terminal - scanw screen - scr_dump screen - scr_init screen - scr_restore screen - scr_set screen - scrl window (stdscr) - scroll window - scrollok window - set_curterm screen - set_escdelay screen - set_tabsize screen - set_term global locks(screenlist, screen) - setcchar reentrant - setscrreg window (stdscr) - setupterm global - slk_attr screen - slk_attr_off screen - slk_attr_on screen - slk_attr_set screen - slk_attroff screen - slk_attron screen - slk_attrset screen - slk_clear screen - slk_color screen - slk_init screen - slk_label screen - slk_noutrefresh screen - slk_refresh screen - slk_restore screen - slk_set screen - slk_touch screen - - slk_wset screen - standend window - standout window - start_color screen - stdscr screen (readonly) - strcodes global (readonly) - strfnames global (readonly) - strnames global (readonly) - subpad window - subwin window - syncok window - term_attrs screen - termattrs screen - termname terminal - tgetent global - tgetflag global - tgetnum global - tgetstr global - tgoto global - tigetflag terminal - tigetnum terminal - tigetstr terminal - timeout window (stdscr) - touchline window - touchwin window - tparm global (static data) - tputs screen - trace global (static data) - ttytype screen (readonly) - typeahead screen - unctrl screen - unget_wch screen (input-operation) - ungetch screen (input-operation) - ungetmouse screen (input-operation) - untouchwin window - use_default_colors screen - use_env global (static data) - use_extended_names global (static data) - use_legacy_coding screen - use_screen global locks(screenlist, screen) - use_window global locks(windowlist, window) - vid_attr screen - vid_puts screen - vidattr screen - vidputs screen - vline window (stdscr) - vline_set window (stdscr) - vw_printw window - vw_scanw screen - vwprintw window - vwscanw screen - wadd_wch window - wadd_wchnstr window - wadd_wchstr window - waddch window - waddchnstr window - waddchstr window - waddnstr window - waddnwstr window - waddstr window - waddwstr window - wattr_get window - wattr_off window - wattr_on window - wattr_set window - wattroff window - - wattron window - wattrset window - wbkgd window - wbkgdset window - wbkgrnd window - wbkgrndset window - wborder window - wborder_set window - wchgat window - wclear window - wclrtobot window - wclrtoeol window - wcolor_set window - wcursyncup screen (affects window plus parents) - wdelch window - wdeleteln window - wecho_wchar window - wechochar window - wenclose window - werase window - wget_wch screen (input-operation) - wget_wstr screen (input-operation) - wgetbkgrnd window - wgetch screen (input-operation) - wgetdelay window - wgetn_wstr screen (input-operation) - wgetnstr screen (input-operation) - wgetparent window - wgetscrreg window - wgetstr screen (input-operation) - whline window - whline_set window - win_wch window - win_wchnstr window - win_wchstr window - winch window - winchnstr window - winchstr window - winnstr window - winnwstr window - wins_nwstr window - wins_wch window - wins_wstr window - winsch window - winsdelln window - winsertln window - winsnstr window - winsstr window - winstr window - winwstr window - wmouse_trafo window - wmove window - wnoutrefresh screen - wprintw window - wredrawln window - wrefresh screen - wresize window locks(windowlist) - wscanw screen - wscrl window - wsetscrreg window - wstandend window - wstandout window - wsyncdown screen (affects window plus parents) - wsyncup screen (affects window plus parents) - wtimeout window - wtouchln window - - wunctrl global (static data) - wvline window - wvline_set window + The <EM>ncurses</EM> library can be configured to support multi-threaded + applications in a rudimentary way. Such configuration produces a + different set of libraries, named <EM>libncursest</EM>, for example, since doing + so alters <EM>ncurses</EM>'s application binary interface (ABI). + + Instead of modifying the programming interface (API) to make <EM>ncurses</EM> + functions expect an additional argument specifying a thread, the + library adds functions, usable in any configuration, that hide the + <EM>mutexes</EM> (mutual exclusion locks) needed to prevent concurrent access to + variables shared by multiple threads of execution. + + <EM>ncurses</EM> threading support requires the use of functions to access + members of the <EM>WINDOW</EM> structure (see <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>). It further + makes functions of the common global variables <STRONG>COLORS</STRONG>, <STRONG>COLOR_PAIRS</STRONG>, + <STRONG>COLS</STRONG>, <STRONG>ESCDELAY</STRONG>, <STRONG>LINES</STRONG>, <STRONG>TABSIZE</STRONG>, <STRONG>curscr</STRONG>, <STRONG>newscr</STRONG>, and <STRONG>ttytype</STRONG>, + maintaining them as as read-only values in the <EM>SCREEN</EM> structure. + + Even this is not enough to make an application using <EM>curses</EM> thread- + safe. We would expect a multi-threaded application to have threads + updating separate windows (on the same device), and separate screens + (on different devices). Further, applications expect a few of the + global variables to be writable. The functions described here address + these special situations. + + The <STRONG>ESCDELAY</STRONG> and <STRONG>TABSIZE</STRONG> global variables are modified by some + applications. To modify them in any configuration, use the + <STRONG>set_escdelay</STRONG> or <STRONG>set_tabsize</STRONG> functions. Other global variables are not + modifiable. <STRONG>get_escdelay</STRONG> retrieves <STRONG>ESCDELAY</STRONG>'s value. + + The <STRONG>use_window</STRONG> and <STRONG>use_screen</STRONG> functions provide coarse-grained mutexes + for their respective <EM>WINDOW</EM> and <EM>SCREEN</EM> parameters; they call a user- + supplied function, pass it a <EM>data</EM> parameter, and return the value from + the user-supplied function to the application. + + +</PRE><H3><a name="h3-Usage">Usage</a></H3><PRE> + All <EM>ncurses</EM> library functions assume that the locale is not altered + during operation. In addition, they use data that is maintained within + a hierarchy of scopes. + + <STRONG>o</STRONG> global data used in the low-level <EM>terminfo</EM> or <EM>termcap</EM> interfaces + + <STRONG>o</STRONG> terminal data associated with a call to <STRONG><A HREF="curs_terminfo.3x.html">set_curterm(3x)</A></STRONG> + + Terminal data are initialized when screens are created. + + <STRONG>o</STRONG> screen data associated with a call to <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG> or <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG> + + <STRONG>o</STRONG> window data associated with a call to <STRONG><A HREF="curs_window.3x.html">newwin(3x)</A></STRONG> or <STRONG><A HREF="subwin.3x.html">subwin(3x)</A></STRONG> + + Windows are associated with screens. Pads are not necessarily + associated with any particular screen. + + Most <EM>curses</EM> applications operate on one or more windows within a + single screen. + + <STRONG>o</STRONG> reentrant data associated with "pure" functions that alter no + shared variables + + The following table lists the scope of each symbol in the <EM>ncurses</EM> + library when configured to support multi-threaded applications. + + <STRONG>Symbol</STRONG> <STRONG>Scope</STRONG> + ------------------------------------------------------------------------ + <STRONG>BC</STRONG> global + <STRONG>COLORS</STRONG> screen (read-only) + <STRONG>COLOR_PAIR</STRONG> reentrant + <STRONG>COLOR_PAIRS</STRONG> screen (read-only) + <STRONG>COLS</STRONG> screen (read-only) + <STRONG>ESCDELAY</STRONG> screen (read-only; see <STRONG>set_escdelay</STRONG>) + <STRONG>LINES</STRONG> screen (read-only) + <STRONG>PAIR_NUMBER</STRONG> reentrant + <STRONG>PC</STRONG> global + <STRONG>SP</STRONG> global + <STRONG>TABSIZE</STRONG> screen (read-only; see <STRONG>set_tabsize</STRONG>) + <STRONG>UP</STRONG> global + <STRONG>acs_map</STRONG> screen (read-only) + <STRONG>add_wch</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>add_wchnstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>add_wchstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>addch</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>addchnstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>addchstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>addnstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>addnwstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>addstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>addwstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>assume_default_colors</STRONG> screen + <STRONG>attr_get</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>attr_off</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>attr_on</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>attr_set</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>attroff</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>attron</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>attrset</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>baudrate</STRONG> screen + <STRONG>beep</STRONG> screen + <STRONG>bkgd</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>bkgdset</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>bkgrnd</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>bkgrndset</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>boolcodes</STRONG> global (read-only) + <STRONG>boolfnames</STRONG> global (read-only) + <STRONG>boolnames</STRONG> global (read-only) + <STRONG>border</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>border_set</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>box</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>box_set</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>can_change_color</STRONG> terminal + <STRONG>cbreak</STRONG> screen + + <STRONG>chgat</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>clear</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>clearok</STRONG> window + <STRONG>clrtobot</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>clrtoeol</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>color_content</STRONG> screen + <STRONG>color_set</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>copywin</STRONG> window (locks source, target) + <STRONG>cur_term</STRONG> terminal + <STRONG>curs_set</STRONG> screen + <STRONG>curscr</STRONG> screen (read-only) + <STRONG>curses_version</STRONG> global (read-only) + <STRONG>def_prog_mode</STRONG> terminal + <STRONG>def_shell_mode</STRONG> terminal + <STRONG>define_key</STRONG> screen + <STRONG>del_curterm</STRONG> screen + <STRONG>delay_output</STRONG> screen + <STRONG>delch</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>deleteln</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>delscreen</STRONG> global (locks screen list, screen) + <STRONG>delwin</STRONG> global (locks window list) + <STRONG>derwin</STRONG> screen + <STRONG>doupdate</STRONG> screen + <STRONG>dupwin</STRONG> screen (locks window) + <STRONG>echo</STRONG> screen + <STRONG>echo_wchar</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>echochar</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>endwin</STRONG> screen + <STRONG>erase</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>erasechar</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>erasewchar</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>filter</STRONG> global + <STRONG>flash</STRONG> terminal + <STRONG>flushinp</STRONG> screen + <STRONG>get_wch</STRONG> screen (input operation) + <STRONG>get_wstr</STRONG> screen (input operation) + <STRONG>getattrs</STRONG> window + <STRONG>getbegx</STRONG> window + <STRONG>getbegy</STRONG> window + <STRONG>getbkgd</STRONG> window + <STRONG>getbkgrnd</STRONG> window + <STRONG>getcchar</STRONG> reentrant + <STRONG>getch</STRONG> screen (input operation) + <STRONG>getcurx</STRONG> window + <STRONG>getcury</STRONG> window + <STRONG>getmaxx</STRONG> window + <STRONG>getmaxy</STRONG> window + <STRONG>getmouse</STRONG> screen (input operation) + <STRONG>getn_wstr</STRONG> screen (input operation) + <STRONG>getnstr</STRONG> screen (input operation) + <STRONG>getparx</STRONG> window + <STRONG>getpary</STRONG> window + <STRONG>getstr</STRONG> screen (input operation) + <STRONG>getwin</STRONG> screen (input operation) + <STRONG>halfdelay</STRONG> screen + <STRONG>has_colors</STRONG> terminal + <STRONG>has_ic</STRONG> terminal + <STRONG>has_il</STRONG> terminal + <STRONG>has_key</STRONG> screen + <STRONG>hline</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>hline_set</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>idcok</STRONG> window + <STRONG>idlok</STRONG> window + <STRONG>immedok</STRONG> window + <STRONG>in_wch</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>in_wchnstr</STRONG> window (<STRONG>stdscr</STRONG>) + + <STRONG>in_wchstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>inch</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>inchnstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>inchstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>init_color</STRONG> screen + <STRONG>init_pair</STRONG> screen + <STRONG>initscr</STRONG> global (locks screen list) + <STRONG>innstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>innwstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>ins_nwstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>ins_wch</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>ins_wstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>insch</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>insdelln</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>insertln</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>insnstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>insstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>instr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>intrflush</STRONG> terminal + <STRONG>inwstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>is_cleared</STRONG> window + <STRONG>is_idcok</STRONG> window + <STRONG>is_idlok</STRONG> window + <STRONG>is_immedok</STRONG> window + <STRONG>is_keypad</STRONG> window + <STRONG>is_leaveok</STRONG> window + <STRONG>is_linetouched</STRONG> window + <STRONG>is_nodelay</STRONG> window + <STRONG>is_notimeout</STRONG> window + <STRONG>is_scrollok</STRONG> window + <STRONG>is_syncok</STRONG> window + <STRONG>is_term_resized</STRONG> terminal + <STRONG>is_wintouched</STRONG> window + <STRONG>isendwin</STRONG> screen + <STRONG>key_defined</STRONG> screen + <STRONG>key_name</STRONG> global (static data) + <STRONG>keybound</STRONG> screen + <STRONG>keyname</STRONG> global (static data) + <STRONG>keyok</STRONG> screen + <STRONG>keypad</STRONG> window + <STRONG>killchar</STRONG> terminal + <STRONG>killwchar</STRONG> terminal + <STRONG>leaveok</STRONG> window + <STRONG>longname</STRONG> screen + <STRONG>mcprint</STRONG> terminal + <STRONG>meta</STRONG> screen + <STRONG>mouse_trafo</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mouseinterval</STRONG> screen + <STRONG>mousemask</STRONG> screen + <STRONG>move</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvadd_wch</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvadd_wchnstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvadd_wchstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvaddch</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvaddchnstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvaddchstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvaddnstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvaddnwstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvaddstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvaddwstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvchgat</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvcur</STRONG> screen + <STRONG>mvdelch</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvderwin</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvget_wch</STRONG> screen (input operation) + <STRONG>mvget_wstr</STRONG> screen (input operation) + + <STRONG>mvgetch</STRONG> screen (input operation) + <STRONG>mvgetn_wstr</STRONG> screen (input operation) + <STRONG>mvgetnstr</STRONG> screen (input operation) + <STRONG>mvgetstr</STRONG> screen (input operation) + <STRONG>mvhline</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvhline_set</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvin_wch</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvin_wchnstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvin_wchstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvinch</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvinchnstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvinchstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvinnstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvinnwstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvins_nwstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvins_wch</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvins_wstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvinsch</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvinsnstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvinsstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvinstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvinwstr</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvprintw</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvscanw</STRONG> screen + <STRONG>mvvline</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvvline_set</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>mvwadd_wch</STRONG> window + <STRONG>mvwadd_wchnstr</STRONG> window + <STRONG>mvwadd_wchstr</STRONG> window + <STRONG>mvwaddch</STRONG> window + <STRONG>mvwaddchnstr</STRONG> window + <STRONG>mvwaddchstr</STRONG> window + <STRONG>mvwaddnstr</STRONG> window + <STRONG>mvwaddnwstr</STRONG> window + <STRONG>mvwaddstr</STRONG> window + <STRONG>mvwaddwstr</STRONG> window + <STRONG>mvwchgat</STRONG> window + <STRONG>mvwdelch</STRONG> window + <STRONG>mvwget_wch</STRONG> screen (input operation) + <STRONG>mvwget_wstr</STRONG> screen (input operation) + <STRONG>mvwgetch</STRONG> screen (input operation) + <STRONG>mvwgetn_wstr</STRONG> screen (input operation) + <STRONG>mvwgetnstr</STRONG> screen (input operation) + <STRONG>mvwgetstr</STRONG> screen (input operation) + <STRONG>mvwhline</STRONG> window + <STRONG>mvwhline_set</STRONG> window + <STRONG>mvwin</STRONG> window + <STRONG>mvwin_wch</STRONG> window + <STRONG>mvwin_wchnstr</STRONG> window + <STRONG>mvwin_wchstr</STRONG> window + <STRONG>mvwinch</STRONG> window + <STRONG>mvwinchnstr</STRONG> window + <STRONG>mvwinchstr</STRONG> window + <STRONG>mvwinnstr</STRONG> window + <STRONG>mvwinnwstr</STRONG> window + <STRONG>mvwins_nwstr</STRONG> window + <STRONG>mvwins_wch</STRONG> window + <STRONG>mvwins_wstr</STRONG> window + <STRONG>mvwinsch</STRONG> window + <STRONG>mvwinsnstr</STRONG> window + <STRONG>mvwinsstr</STRONG> window + <STRONG>mvwinstr</STRONG> window + <STRONG>mvwinwstr</STRONG> window + <STRONG>mvwprintw</STRONG> window + <STRONG>mvwscanw</STRONG> screen + <STRONG>mvwvline</STRONG> window + + <STRONG>mvwvline_set</STRONG> window + <STRONG>napms</STRONG> reentrant + <STRONG>newpad</STRONG> global (locks window list) + <STRONG>newscr</STRONG> screen (read-only) + <STRONG>newterm</STRONG> global (locks screen list) + <STRONG>newwin</STRONG> global (locks window list) + <STRONG>nl</STRONG> screen + <STRONG>nocbreak</STRONG> screen + <STRONG>nodelay</STRONG> window + <STRONG>noecho</STRONG> screen + <STRONG>nofilter</STRONG> global + <STRONG>nonl</STRONG> screen + <STRONG>noqiflush</STRONG> terminal + <STRONG>noraw</STRONG> screen + <STRONG>notimeout</STRONG> window + <STRONG>numcodes</STRONG> global (read-only) + <STRONG>numfnames</STRONG> global (read-only) + <STRONG>numnames</STRONG> global (read-only) + <STRONG>ospeed</STRONG> global + <STRONG>overlay</STRONG> window (locks source, target) + <STRONG>overwrite</STRONG> window (locks source, target) + <STRONG>pair_content</STRONG> screen + <STRONG>pecho_wchar</STRONG> screen + <STRONG>pechochar</STRONG> screen + <STRONG>pnoutrefresh</STRONG> screen + <STRONG>prefresh</STRONG> screen + <STRONG>printw</STRONG> window + <STRONG>putp</STRONG> global + <STRONG>putwin</STRONG> window + <STRONG>qiflush</STRONG> terminal + <STRONG>raw</STRONG> screen + <STRONG>redrawwin</STRONG> window + <STRONG>refresh</STRONG> screen + <STRONG>reset_prog_mode</STRONG> screen + <STRONG>reset_shell_mode</STRONG> screen + <STRONG>resetty</STRONG> terminal + <STRONG>resize_term</STRONG> screen (locks window list) + <STRONG>resizeterm</STRONG> screen + <STRONG>restartterm</STRONG> screen + <STRONG>ripoffline</STRONG> global (static data) + <STRONG>savetty</STRONG> terminal + <STRONG>scanw</STRONG> screen + <STRONG>scr_dump</STRONG> screen + <STRONG>scr_init</STRONG> screen + <STRONG>scr_restore</STRONG> screen + <STRONG>scr_set</STRONG> screen + <STRONG>scrl</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>scroll</STRONG> window + <STRONG>scrollok</STRONG> window + <STRONG>set_curterm</STRONG> screen + <STRONG>set_escdelay</STRONG> screen + <STRONG>set_tabsize</STRONG> screen + <STRONG>set_term</STRONG> global (locks screen list, screen) + <STRONG>setcchar</STRONG> reentrant + <STRONG>setscrreg</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>setupterm</STRONG> global + <STRONG>slk_attr</STRONG> screen + <STRONG>slk_attr_off</STRONG> screen + <STRONG>slk_attr_on</STRONG> screen + <STRONG>slk_attr_set</STRONG> screen + <STRONG>slk_attroff</STRONG> screen + <STRONG>slk_attron</STRONG> screen + <STRONG>slk_attrset</STRONG> screen + <STRONG>slk_clear</STRONG> screen + <STRONG>slk_color</STRONG> screen + <STRONG>slk_init</STRONG> screen + + <STRONG>slk_label</STRONG> screen + <STRONG>slk_noutrefresh</STRONG> screen + <STRONG>slk_refresh</STRONG> screen + <STRONG>slk_restore</STRONG> screen + <STRONG>slk_set</STRONG> screen + <STRONG>slk_touch</STRONG> screen + <STRONG>slk_wset</STRONG> screen + <STRONG>standend</STRONG> window + <STRONG>standout</STRONG> window + <STRONG>start_color</STRONG> screen + <STRONG>stdscr</STRONG> screen (read-only) + <STRONG>strcodes</STRONG> global (read-only) + <STRONG>strfnames</STRONG> global (read-only) + <STRONG>strnames</STRONG> global (read-only) + <STRONG>subpad</STRONG> window + <STRONG>subwin</STRONG> window + <STRONG>syncok</STRONG> window + <STRONG>term_attrs</STRONG> screen + <STRONG>termattrs</STRONG> screen + <STRONG>termname</STRONG> terminal + <STRONG>tgetent</STRONG> global + <STRONG>tgetflag</STRONG> global + <STRONG>tgetnum</STRONG> global + <STRONG>tgetstr</STRONG> global + <STRONG>tgoto</STRONG> global + <STRONG>tigetflag</STRONG> terminal + <STRONG>tigetnum</STRONG> terminal + <STRONG>tigetstr</STRONG> terminal + <STRONG>timeout</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>touchline</STRONG> window + <STRONG>touchwin</STRONG> window + <STRONG>tparm</STRONG> global (static data) + <STRONG>tputs</STRONG> screen + <STRONG>trace</STRONG> global (static data) + <STRONG>ttytype</STRONG> screen (read-only) + <STRONG>typeahead</STRONG> screen + <STRONG>unctrl</STRONG> screen + <STRONG>unget_wch</STRONG> screen (input operation) + <STRONG>ungetch</STRONG> screen (input operation) + <STRONG>ungetmouse</STRONG> screen (input operation) + <STRONG>untouchwin</STRONG> window + <STRONG>use_default_colors</STRONG> screen + <STRONG>use_env</STRONG> global (static data) + <STRONG>use_extended_names</STRONG> global (static data) + <STRONG>use_legacy_coding</STRONG> screen + <STRONG>use_screen</STRONG> global (locks screen list, screen) + <STRONG>use_window</STRONG> global (locks window list, window) + <STRONG>vid_attr</STRONG> screen + <STRONG>vid_puts</STRONG> screen + <STRONG>vidattr</STRONG> screen + <STRONG>vidputs</STRONG> screen + <STRONG>vline</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>vline_set</STRONG> window (<STRONG>stdscr</STRONG>) + <STRONG>vw_printw</STRONG> window + <STRONG>vw_scanw</STRONG> screen + <STRONG>vwprintw</STRONG> window + <STRONG>vwscanw</STRONG> screen + <STRONG>wadd_wch</STRONG> window + <STRONG>wadd_wchnstr</STRONG> window + <STRONG>wadd_wchstr</STRONG> window + <STRONG>waddch</STRONG> window + <STRONG>waddchnstr</STRONG> window + <STRONG>waddchstr</STRONG> window + <STRONG>waddnstr</STRONG> window + <STRONG>waddnwstr</STRONG> window + <STRONG>waddstr</STRONG> window + + <STRONG>waddwstr</STRONG> window + <STRONG>wattr_get</STRONG> window + <STRONG>wattr_off</STRONG> window + <STRONG>wattr_on</STRONG> window + <STRONG>wattr_set</STRONG> window + <STRONG>wattroff</STRONG> window + <STRONG>wattron</STRONG> window + <STRONG>wattrset</STRONG> window + <STRONG>wbkgd</STRONG> window + <STRONG>wbkgdset</STRONG> window + <STRONG>wbkgrnd</STRONG> window + <STRONG>wbkgrndset</STRONG> window + <STRONG>wborder</STRONG> window + <STRONG>wborder_set</STRONG> window + <STRONG>wchgat</STRONG> window + <STRONG>wclear</STRONG> window + <STRONG>wclrtobot</STRONG> window + <STRONG>wclrtoeol</STRONG> window + <STRONG>wcolor_set</STRONG> window + <STRONG>wcursyncup</STRONG> screen (affects window plus parents) + <STRONG>wdelch</STRONG> window + <STRONG>wdeleteln</STRONG> window + <STRONG>wecho_wchar</STRONG> window + <STRONG>wechochar</STRONG> window + <STRONG>wenclose</STRONG> window + <STRONG>werase</STRONG> window + <STRONG>wget_wch</STRONG> screen (input operation) + <STRONG>wget_wstr</STRONG> screen (input operation) + <STRONG>wgetbkgrnd</STRONG> window + <STRONG>wgetch</STRONG> screen (input operation) + <STRONG>wgetdelay</STRONG> window + <STRONG>wgetn_wstr</STRONG> screen (input operation) + <STRONG>wgetnstr</STRONG> screen (input operation) + <STRONG>wgetparent</STRONG> window + <STRONG>wgetscrreg</STRONG> window + <STRONG>wgetstr</STRONG> screen (input operation) + <STRONG>whline</STRONG> window + <STRONG>whline_set</STRONG> window + <STRONG>win_wch</STRONG> window + <STRONG>win_wchnstr</STRONG> window + <STRONG>win_wchstr</STRONG> window + <STRONG>winch</STRONG> window + <STRONG>winchnstr</STRONG> window + <STRONG>winchstr</STRONG> window + <STRONG>winnstr</STRONG> window + <STRONG>winnwstr</STRONG> window + <STRONG>wins_nwstr</STRONG> window + <STRONG>wins_wch</STRONG> window + <STRONG>wins_wstr</STRONG> window + <STRONG>winsch</STRONG> window + <STRONG>winsdelln</STRONG> window + <STRONG>winsertln</STRONG> window + <STRONG>winsnstr</STRONG> window + <STRONG>winsstr</STRONG> window + <STRONG>winstr</STRONG> window + <STRONG>winwstr</STRONG> window + <STRONG>wmouse_trafo</STRONG> window + <STRONG>wmove</STRONG> window + <STRONG>wnoutrefresh</STRONG> screen + <STRONG>wprintw</STRONG> window + <STRONG>wredrawln</STRONG> window + <STRONG>wrefresh</STRONG> screen + <STRONG>wresize</STRONG> window (locks window list) + <STRONG>wscanw</STRONG> screen + <STRONG>wscrl</STRONG> window + <STRONG>wsetscrreg</STRONG> window + + <STRONG>wstandend</STRONG> window + <STRONG>wstandout</STRONG> window + <STRONG>wsyncdown</STRONG> screen (affects window plus parents) + <STRONG>wsyncup</STRONG> screen (affects window plus parents) + <STRONG>wtimeout</STRONG> window + <STRONG>wtouchln</STRONG> window + <STRONG>wunctrl</STRONG> global (static data) + <STRONG>wvline</STRONG> window + <STRONG>wvline_set</STRONG> window </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - These functions all return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>, except as noted. + <STRONG>get_escdelay</STRONG> returns the value of <STRONG>ESCDELAY</STRONG>. <STRONG>set_escdelay</STRONG> and + <STRONG>set_tabsize</STRONG> return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon successful completion. + <STRONG>use_screen</STRONG> and <STRONG>use_window</STRONG> return the <EM>int</EM> returned by the user-supplied + function they are called with. </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - Both a macro and a function are provided for each name. + <EM>ncurses</EM> provides both a C function and a preprocessor macro for each + function documented in this page. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines are specific to ncurses. They were not supported on + These routines are specific to <EM>ncurses</EM>. They were not supported on Version 7, BSD or System V implementations. It is recommended that any - code depending on ncurses extensions be conditioned using NCURSES_VER- - SION. + code depending on <EM>ncurses</EM> extensions be conditioned using + <STRONG>NCURSES_VERSION</STRONG>. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <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_variables.3x.html">curs_variables(3x)</A></STRONG>. + <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_variables.3x.html">curs_variables(3x)</A></STRONG> - <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -616,7 +625,7 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a> <ul> -<li><a href="#h3-USAGE">USAGE</a></li> +<li><a href="#h3-Usage">Usage</a></li> </ul> </li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> diff --git a/doc/html/man/curs_touch.3x.html b/doc/html/man/curs_touch.3x.html index 55eb33ea1525..50717662864c 100644 --- a/doc/html/man/curs_touch.3x.html +++ b/doc/html/man/curs_touch.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2015,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,28 +27,28 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_touch.3x,v 1.23 2020/10/24 09:51:21 tom Exp @ + * @Id: curs_touch.3x,v 1.47 2024/04/20 21:20:07 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_touch 3x</TITLE> +<TITLE>curs_touch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_touch 3x</H1> +<H1 class="no-header">curs_touch 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG> <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG> +<STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>touchwin</STRONG>, <STRONG>touchline</STRONG>, <STRONG>untouchwin</STRONG>, <STRONG>wtouchln</STRONG>, <STRONG>is_linetouched</STRONG>, - <STRONG>is_wintouched</STRONG> - <STRONG>curses</STRONG> refresh control routines + <STRONG>touchwin</STRONG>, <STRONG>touchline</STRONG>, <STRONG>untouchwin</STRONG>, <STRONG>wtouchln</STRONG>, <STRONG>is_linetouched</STRONG>, + <STRONG>is_wintouched</STRONG> - control terminal output refresh in a <EM>curses</EM> window </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -66,37 +66,39 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - The <STRONG>touchwin</STRONG> and <STRONG>touchline</STRONG> routines throw away all optimization infor- - mation about which parts of the window have been touched, by pretending - that the entire window has been drawn on. This is sometimes necessary - when using overlapping windows, since a change to one window affects - the other window, but the records of which lines have been changed in - the other window do not reflect the change. The routine <STRONG>touchline</STRONG> only - pretends that <EM>count</EM> lines have been changed, beginning with line <EM>start</EM>. + The <STRONG>touchwin</STRONG> and <STRONG>touchline</STRONG> routines throw away all optimization + information about which parts of the window have been touched, by + pretending that the entire window has been drawn on. This is sometimes + necessary when using overlapping windows, since a change to one window + affects the other window, but the records of which lines have been + changed in the other window do not reflect the change. The routine + <STRONG>touchline</STRONG> only pretends that <EM>count</EM> lines have been changed, beginning + with line <EM>start</EM>. The <STRONG>untouchwin</STRONG> routine marks all lines in the window as unchanged since the last call to <STRONG>wrefresh</STRONG>. - The <STRONG>wtouchln</STRONG> routine makes <EM>n</EM> lines in the window, starting at line <EM>y</EM>, - look as if they have (<EM>changed</EM><STRONG>=1</STRONG>) or have not (<EM>changed</EM><STRONG>=0</STRONG>) been changed + The <STRONG>wtouchln</STRONG> routine makes <EM>n</EM> lines in the window, starting at line <EM>y</EM>, + look as if they have (<EM>changed</EM><STRONG>=1</STRONG>) or have not (<EM>changed</EM><STRONG>=0</STRONG>) been changed since the last call to <STRONG>wrefresh</STRONG>. - The <STRONG>is_linetouched</STRONG> and <STRONG>is_wintouched</STRONG> routines return <STRONG>TRUE</STRONG> if the speci- - fied line/window was modified since the last call to <STRONG>wrefresh</STRONG>; other- - wise they return <STRONG>FALSE</STRONG>. In addition, <STRONG>is_linetouched</STRONG> returns <STRONG>ERR</STRONG> if - <EM>line</EM> is not valid for the given window. + The <STRONG>is_linetouched</STRONG> and <STRONG>is_wintouched</STRONG> routines return <STRONG>TRUE</STRONG> if the + specified line/window was modified since the last call to <STRONG>wrefresh</STRONG>; + otherwise they return <STRONG>FALSE</STRONG>. In addition, <STRONG>is_linetouched</STRONG> returns <STRONG>ERR</STRONG> + if <EM>line</EM> is not valid for the given window. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - All routines return the integer <STRONG>ERR</STRONG> upon failure and an integer value - other than <STRONG>ERR</STRONG> upon successful completion, unless otherwise noted in + All routines return the integer <STRONG>ERR</STRONG> upon failure and an integer value + other than <STRONG>ERR</STRONG> upon successful completion, unless otherwise noted in the preceding routine descriptions. - X/Open does not define any error conditions. In this implementation + X/Open Curses does not specify any error conditions. In this + implementation <STRONG>is_linetouched</STRONG> returns an error if the window pointer is null, or if the line - number is outside the window. + number is outside the window boundaries. The constant <STRONG>ERR</STRONG> is distinct from <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG>, which are the normal return values of this function. Because the function @@ -109,30 +111,30 @@ <STRONG>wtouchln</STRONG> returns an error if the window pointer is null, or if the line - number is outside the window. + number is outside the window boundaries. + + +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + All of these routines except <STRONG>wtouchln</STRONG> may be macros. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These functions were introduced by SVr4. The Solaris curses header + These functions were introduced by SVr4. The Solaris <EM>curses</EM> header file, for instance, defines both an actual function and macro for each. - The macros give the same result as the actual functions. SVr4 curses + The macros give the same result as the actual functions. SVr4 <EM>curses</EM> does not check the window parameter <EM>win</EM> to ensure that it is not <STRONG>NULL</STRONG>; otherwise this implementation behaves the same as SVr4. - The XSI Curses standard, Issue 4 describes these functions, but defines - no error conditions. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - All of these routines except <STRONG>wtouchln</STRONG> may be macros. + X/Open Curses, Issue 4 describes these functions, but defines no error + conditions. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>. + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> - <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -140,8 +142,8 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-NOTES">NOTES</a></li> +<li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> diff --git a/doc/html/man/curs_trace.3x.html b/doc/html/man/curs_trace.3x.html index a60ae970276d..c1ea937fd64b 100644 --- a/doc/html/man/curs_trace.3x.html +++ b/doc/html/man/curs_trace.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2019,2020 Thomas E. Dickey * + * Copyright 2019-2023,2024 Thomas E. Dickey * * Copyright 2000-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,35 +27,35 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_trace.3x,v 1.21 2020/02/02 23:34:34 tom Exp @ + * @Id: curs_trace.3x,v 1.50 2024/04/20 21:24:19 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_trace 3x</TITLE> +<TITLE>curs_trace 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_trace 3x</H1> +<H1 class="no-header">curs_trace 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> +<STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>curses_trace</STRONG>, <STRONG>trace</STRONG>, <STRONG>_tracef</STRONG>, <STRONG>_traceattr</STRONG>, <STRONG>_traceattr2</STRONG>, <STRONG>_tracecchar_t</STRONG>, + <STRONG>curses_trace</STRONG>, <STRONG>trace</STRONG>, <STRONG>_tracef</STRONG>, <STRONG>_traceattr</STRONG>, <STRONG>_traceattr2</STRONG>, <STRONG>_tracecchar_t</STRONG>, <STRONG>_tracecchar_t2</STRONG>, <STRONG>_tracechar</STRONG>, <STRONG>_tracechtype</STRONG>, <STRONG>_tracechtype2</STRONG>, <STRONG>_nc_tracebits</STRONG>, - <STRONG>_tracedump</STRONG>, <STRONG>_tracemouse</STRONG> - <STRONG>curses</STRONG> debugging routines + <STRONG>_tracedump</STRONG>, <STRONG>_tracemouse</STRONG> - <EM>curses</EM> debugging routines </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> - <STRONG>unsigned</STRONG> <STRONG>curses_trace(const</STRONG> <STRONG>unsigned</STRONG> <EM>param</EM><STRONG>);</STRONG> + <STRONG>unsigned</STRONG> <STRONG>curses_trace(const</STRONG> <STRONG>unsigned</STRONG> <EM>trace-mask</EM><STRONG>);</STRONG> <STRONG>void</STRONG> <STRONG>_tracef(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>format</EM><STRONG>,</STRONG> <STRONG>...);</STRONG> @@ -63,7 +63,7 @@ <STRONG>char</STRONG> <STRONG>*_traceattr2(int</STRONG> <EM>buffer</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG> <STRONG>char</STRONG> <STRONG>*_tracecchar_t(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>string</EM><STRONG>);</STRONG> <STRONG>char</STRONG> <STRONG>*_tracecchar_t2(int</STRONG> <EM>buffer</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>string</EM><STRONG>);</STRONG> - <STRONG>char</STRONG> <STRONG>*_tracechar(int</STRONG> <EM>ch</EM><STRONG>);</STRONG> + <STRONG>char</STRONG> <STRONG>*_tracechar(int</STRONG> <EM>c</EM><STRONG>);</STRONG> <STRONG>char</STRONG> <STRONG>*_tracechtype(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG> <STRONG>char</STRONG> <STRONG>*_tracechtype2(int</STRONG> <EM>buffer</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG> @@ -71,17 +71,17 @@ <STRONG>char</STRONG> <STRONG>*_nc_tracebits(void);</STRONG> <STRONG>char</STRONG> <STRONG>*_tracemouse(const</STRONG> <STRONG>MEVENT</STRONG> <STRONG>*</STRONG><EM>event</EM><STRONG>);</STRONG> - /* deprecated */ - <STRONG>void</STRONG> <STRONG>trace(const</STRONG> <STRONG>unsigned</STRONG> <STRONG>int</STRONG> <EM>param</EM><STRONG>);</STRONG> + <EM>/*</EM> <EM>deprecated</EM> <EM>*/</EM> + <STRONG>void</STRONG> <STRONG>trace(const</STRONG> <STRONG>unsigned</STRONG> <STRONG>int</STRONG> <EM>trace-mask</EM><STRONG>);</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - The <EM>curses</EM> <EM>trace</EM> routines are used for debugging the ncurses libraries, - as well as applications which use the ncurses libraries. Some limita- - tions apply: + The <EM>curses</EM> <EM>trace</EM> routines are used for debugging the <EM>ncurses</EM> libraries, + as well as applications which use the <EM>ncurses</EM> libraries. Some + limitations apply: <STRONG>o</STRONG> Aside from <STRONG>curses_trace</STRONG>, the other functions are normally available - only with the debugging library e.g., <EM>libncurses</EM><STRONG>_</STRONG><EM>g.a</EM>. + only with the debugging library e.g., <STRONG>libncurses_g.a</STRONG>. All of the trace functions may be compiled into any model (shared, static, profile) by defining the symbol <STRONG>TRACE</STRONG>. @@ -98,9 +98,9 @@ <STRONG>o</STRONG> <STRONG>_tracef</STRONG>, which writes formatted data to the <EM>trace</EM> file. - The other functions either return a pointer to a string-area (allo- - cated by the corresponding function), or return no value (such as - <STRONG>_tracedump</STRONG>, which implements the screen dump for <STRONG>TRACE_UPDATE</STRONG>). + The other functions either return a pointer to a string-area + (allocated by the corresponding function), or return no value (such + as <STRONG>_tracedump</STRONG>, which implements the screen dump for <STRONG>TRACE_UPDATE</STRONG>). The caller should not free these strings, since the allocation is reused on successive calls. To work around the problem of a single string-area per function, some use a buffer-number parameter, @@ -109,26 +109,27 @@ The <STRONG>curses_trace</STRONG> function is always available, whether or not the other trace functions are available: - <STRONG>o</STRONG> If tracing is available, calling <STRONG>curses_trace</STRONG> with a nonzero param- - eter updates the trace mask, and returns the previous trace mask. + <STRONG>o</STRONG> If tracing is available, calling <STRONG>curses_trace</STRONG> with a nonzero + parameter updates the trace mask, and returns the previous trace + mask. - When the trace mask is nonzero, ncurses creates the file "trace" in - the current directory for output. If the file already exists, no + When the trace mask is nonzero, <EM>ncurses</EM> creates the file "trace" in + the current directory for output. If the file already exists, no tracing is done. <STRONG>o</STRONG> If tracing is not available, <STRONG>curses_trace</STRONG> returns zero (0). </PRE><H3><a name="h3-Trace-Parameter">Trace Parameter</a></H3><PRE> - The trace parameter is formed by OR'ing values from the list of + The trace parameter is formed by OR'ing values from the list of <STRONG>TRACE_</STRONG><EM>xxx</EM> definitions in <STRONG><curses.h></STRONG>. These include: <STRONG>TRACE_DISABLE</STRONG> turn off tracing by passing a zero parameter. - The library flushes the output file, but retains an open file-de- - scriptor to the trace file so that it can resume tracing later if - a nonzero parameter is passed to the <STRONG>curses_trace</STRONG> function. + The library flushes the output file, but retains an open file- + descriptor to the trace file so that it can resume tracing later + if a nonzero parameter is passed to the <STRONG>curses_trace</STRONG> function. <STRONG>TRACE_TIMES</STRONG> trace user and system times of updates. @@ -146,11 +147,11 @@ trace all character outputs. <STRONG>TRACE_ORDINARY</STRONG> - trace all update actions. The old and new screen contents are + trace all update actions. The old and new screen contents are written to the trace file for each refresh. <STRONG>TRACE_CALLS</STRONG> - trace all curses calls. The parameters for each call are traced, + trace all curses calls. The parameters for each call are traced, as well as return values. <STRONG>TRACE_VIRTPUT</STRONG> @@ -177,36 +178,27 @@ <STRONG>TRACE_MAXIMUM</STRONG> maximum trace level, enables all of the separate trace features. - Some tracing features are enabled whenever the <STRONG>curses_trace</STRONG> parameter - is nonzero. Some features overlap. The specific names are used as a + Some tracing features are enabled whenever the <STRONG>curses_trace</STRONG> parameter + is nonzero. Some features overlap. The specific names are used as a guideline. -</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE> - These functions check the <STRONG>NCURSES_TRACE</STRONG> environment variable, to set - the tracing feature as if <STRONG>curses_trace</STRONG> was called: - - filter, initscr, new_prescr, newterm, nofilter, restartterm, - ripoffline, setupterm, slk_init, tgetent, use_env, - use_extended_names, use_tioctl - - </PRE><H3><a name="h3-Command-line-Utilities">Command-line Utilities</a></H3><PRE> The command-line utilities such as <STRONG><A HREF="tic.1m.html">tic(1)</A></STRONG> provide a verbose option - which extends the set of messages written using the <STRONG>curses_trace</STRONG> func- - tion. Both of these (<STRONG>-v</STRONG> and <STRONG>curses_trace</STRONG>) use the same variable + which extends the set of messages written using the <STRONG>curses_trace</STRONG> + function. Both of these (<STRONG>-v</STRONG> and <STRONG>curses_trace</STRONG>) use the same variable (<STRONG>_nc_tracing</STRONG>), which determines the messages which are written. Because the command-line utilities may call initialization functions - such as <STRONG>setupterm</STRONG>, <STRONG>tgetent</STRONG> or <STRONG>use_extended_names</STRONG>, some of their debug- - ging output may be directed to the <EM>trace</EM> file if the <STRONG>NCURSES_TRACE</STRONG> en- - vironment variable is set: + such as <STRONG>setupterm</STRONG>, <STRONG>tgetent</STRONG> or <STRONG>use_extended_names</STRONG>, some of their + debugging output may be directed to the <EM>trace</EM> file if the <EM>NCURSES</EM><STRONG>_</STRONG><EM>TRACE</EM> + environment variable is set: <STRONG>o</STRONG> messages produced in the utility are written to the standard error. <STRONG>o</STRONG> messages produced by the underlying library are written to <EM>trace</EM>. - If ncurses is built without tracing, none of the latter are produced, + If <EM>ncurses</EM> is built without tracing, none of the latter are produced, and fewer diagnostics are provided by the command-line utilities. @@ -215,35 +207,47 @@ the <STRONG>_tracef</STRONG> routine. +</PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE> + +</PRE><H3><a name="h3-NCURSES_TRACE">NCURSES_TRACE</a></H3><PRE> + A positive integral value stored in this variable causes the following + functions to enable the tracing feature as if <STRONG>curses_trace</STRONG> were called. + + <STRONG>filter</STRONG>, <STRONG>initscr</STRONG>, <STRONG>new_prescr</STRONG>, <STRONG>newterm</STRONG>, <STRONG>nofilter</STRONG>, <STRONG>restartterm</STRONG>, + <STRONG>ripoffline</STRONG>, <STRONG>setupterm</STRONG>, <STRONG>slk_init</STRONG>, <STRONG>tgetent</STRONG>, <STRONG>use_env</STRONG>, + <STRONG>use_extended_names</STRONG>, <STRONG>use_tioctl</STRONG> + + </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These functions are not part of the XSI interface. Some other curses - implementations are known to have similar features, but they are not - compatible with ncurses: + These functions are not part of the X/Open Curses interface. Some + other curses implementations are known to have similar features, but + they are not compatible with <EM>ncurses</EM>: - <STRONG>o</STRONG> SVr4 provided <STRONG>traceon</STRONG> and <STRONG>traceoff</STRONG>, to control whether debugging - information was written to the "trace" file. While the functions - were always available, this feature was only enabled if <STRONG>DEBUG</STRONG> was + <STRONG>o</STRONG> SVr4 provided <STRONG>traceon</STRONG> and <STRONG>traceoff</STRONG>, to control whether debugging + information was written to the "trace" file. While the functions + were always available, this feature was only enabled if <STRONG>DEBUG</STRONG> was defined when building the library. The SVr4 tracing feature is undocumented. - <STRONG>o</STRONG> PDCurses provides <STRONG>traceon</STRONG> and <STRONG>traceoff</STRONG>, which (like SVr4) are al- - ways available, and enable tracing to the "trace" file only when a - debug-library is built. + <STRONG>o</STRONG> PDCurses provides <STRONG>traceon</STRONG> and <STRONG>traceoff</STRONG>, which (like SVr4) are + always available, and enable tracing to the "trace" file only when + a debug-library is built. - PDCurses has a short description of these functions, with a note - that they are not present in X/Open Curses, ncurses or NetBSD. It - does not mention SVr4, but the functions' inclusion in a header + PDCurses has a short description of these functions, with a note + that they are not present in X/Open Curses, <EM>ncurses</EM> or NetBSD. It + does not mention SVr4, but the functions' inclusion in a header file section labeled "Quasi-standard" hints at the origin. - <STRONG>o</STRONG> NetBSD does not provide functions for enabling/disabling traces. - It uses environment variables <STRONG>CURSES_TRACE_MASK</STRONG> and <STRONG>CURS-</STRONG> - <STRONG>ES_TRACE_FILE</STRONG> to determine what is traced, and where the results - are written. This is available only when a debug-library is built. + <STRONG>o</STRONG> NetBSD does not provide functions for enabling/disabling traces. + It uses environment variables <EM>CURSES</EM><STRONG>_</STRONG><EM>TRACE</EM><STRONG>_</STRONG><EM>MASK</EM> and + <EM>CURSES</EM><STRONG>_</STRONG><EM>TRACE</EM><STRONG>_</STRONG><EM>FILE</EM> to determine what is traced, and where the + results are written. This is available only when a debug-library + is built. The NetBSD tracing feature is undocumented. - A few ncurses functions are not provided when symbol versioning is + A few <EM>ncurses</EM> functions are not provided when symbol versioning is used: _nc_tracebits, _tracedump, _tracemouse @@ -253,11 +257,11 @@ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>. + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> - <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -267,11 +271,15 @@ <ul> <li><a href="#h3-Functions">Functions</a></li> <li><a href="#h3-Trace-Parameter">Trace Parameter</a></li> -<li><a href="#h3-Initialization">Initialization</a></li> <li><a href="#h3-Command-line-Utilities">Command-line Utilities</a></li> </ul> </li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> +<li><a href="#h2-ENVIRONMENT">ENVIRONMENT</a> +<ul> +<li><a href="#h3-NCURSES_TRACE">NCURSES_TRACE</a></li> +</ul> +</li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> diff --git a/doc/html/man/curs_util.3x.html b/doc/html/man/curs_util.3x.html index d2a83a0599db..6160a2cad552 100644 --- a/doc/html/man/curs_util.3x.html +++ b/doc/html/man/curs_util.3x.html @@ -1,7 +1,7 @@ -<!-- +<!-- * t **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2015,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,45 +28,43 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_util.3x,v 1.60 2020/12/19 22:44:46 tom Exp @ + * @Id: curs_util.3x,v 1.101 2024/04/20 21:20:07 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_util 3x</TITLE> +<TITLE>curs_util 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_util 3x</H1> +<H1 class="no-header">curs_util 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> +<STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>delay_output</STRONG>, <STRONG>filter</STRONG>, <STRONG>flushinp</STRONG>, <STRONG>getwin</STRONG>, <STRONG>key_name</STRONG>, <STRONG>keyname</STRONG>, <STRONG>nofilter</STRONG>, - <STRONG>putwin</STRONG>, <STRONG>unctrl</STRONG>, <STRONG>use_env</STRONG>, <STRONG>use_tioctl</STRONG>, <STRONG>wunctrl</STRONG> - miscellaneous <STRONG>curses</STRONG> + <STRONG>delay_output</STRONG>, <STRONG>filter</STRONG>, <STRONG>flushinp</STRONG>, <STRONG>getwin</STRONG>, <STRONG>key_name</STRONG>, <STRONG>keyname</STRONG>, <STRONG>nofilter</STRONG>, + <STRONG>putwin</STRONG>, <STRONG>unctrl</STRONG>, <STRONG>use_env</STRONG>, <STRONG>use_tioctl</STRONG>, <STRONG>wunctrl</STRONG> - miscellaneous <EM>curses</EM> utility routines </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> - <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*unctrl(chtype</STRONG> <EM>c</EM><STRONG>);</STRONG> - <STRONG>wchar_t</STRONG> <STRONG>*wunctrl(cchar_t</STRONG> <STRONG>*</STRONG><EM>c</EM><STRONG>);</STRONG> + <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*unctrl(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG> + <STRONG>wchar_t</STRONG> <STRONG>*wunctrl(cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*keyname(int</STRONG> <EM>c</EM><STRONG>);</STRONG> - <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*key_name(wchar_t</STRONG> <EM>w</EM><STRONG>);</STRONG> + <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*key_name(wchar_t</STRONG> <EM>wc</EM><STRONG>);</STRONG> <STRONG>void</STRONG> <STRONG>filter(void);</STRONG> - <STRONG>void</STRONG> <STRONG>nofilter(void);</STRONG> <STRONG>void</STRONG> <STRONG>use_env(bool</STRONG> <EM>f</EM><STRONG>);</STRONG> - <STRONG>void</STRONG> <STRONG>use_tioctl(bool</STRONG> <EM>f</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>putwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>filep</EM><STRONG>);</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*getwin(FILE</STRONG> <STRONG>*</STRONG><EM>filep</EM><STRONG>);</STRONG> @@ -74,152 +72,174 @@ <STRONG>int</STRONG> <STRONG>delay_output(int</STRONG> <EM>ms</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>flushinp(void);</STRONG> + <EM>/*</EM> <EM>extensions</EM> <EM>*/</EM> + <STRONG>void</STRONG> <STRONG>nofilter(void);</STRONG> + <STRONG>void</STRONG> <STRONG>use_tioctl(bool</STRONG> <EM>f</EM><STRONG>);</STRONG> + </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> </PRE><H3><a name="h3-unctrl">unctrl</a></H3><PRE> - The <STRONG>unctrl</STRONG> routine returns a character string which is a printable rep- - resentation of the character <EM>c</EM>, ignoring attributes. Control charac- - ters are displayed in the <STRONG>^</STRONG><EM>X</EM> notation. Printing characters are dis- - played as is. The corresponding <STRONG>wunctrl</STRONG> returns a printable represen- - tation of a wide character. - + The <STRONG>unctrl</STRONG> routine returns a character string which is a printable + representation of the character <EM>ch</EM>: -</PRE><H3><a name="h3-keyname_key_name">keyname/key_name</a></H3><PRE> - The <STRONG>keyname</STRONG> routine returns a character string corresponding to the key - <EM>c</EM>: - - <STRONG>o</STRONG> Printable characters are displayed as themselves, e.g., a one-char- - acter string containing the key. + <STRONG>o</STRONG> Printable characters are displayed as themselves, e.g., a one- + character string containing the key. <STRONG>o</STRONG> Control characters are displayed in the <STRONG>^</STRONG><EM>X</EM> notation. + <STRONG>o</STRONG> Printing characters are displayed as is. + <STRONG>o</STRONG> DEL (character 127) is displayed as <STRONG>^?</STRONG>. <STRONG>o</STRONG> Values above 128 are either meta characters (if the screen has not - been initialized, or if <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> has been called with a <STRONG>TRUE</STRONG> param- - eter), shown in the <STRONG>M-</STRONG><EM>X</EM> notation, or are displayed as themselves. - In the latter case, the values may not be printable; this follows - the X/Open specification. + been initialized, or if <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> has been called with a <STRONG>TRUE</STRONG> + parameter), shown in the <STRONG>M-</STRONG><EM>X</EM> notation, or are displayed as + themselves. In the latter case, the values may not be printable; + this follows the X/Open specification. + + The corresponding <STRONG>wunctrl</STRONG> returns a printable representation of a + complex character <EM>wch</EM>. - <STRONG>o</STRONG> Values above 256 may be the names of the names of function keys. + In both <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG> the attributes and color associated with the + character parameter are ignored. + + +</PRE><H3><a name="h3-keyname_key_name">keyname, key_name</a></H3><PRE> + The <STRONG>keyname</STRONG> routine returns a character string corresponding to the key + <EM>c</EM>. Key codes are different from character codes. - <STRONG>o</STRONG> Otherwise (if there is no corresponding name) the function returns - null, to denote an error. X/Open also lists an "UNKNOWN KEY" re- - turn value, which some implementations return rather than null. + <STRONG>o</STRONG> Key codes below 256 are characters. They are displayed using + <STRONG>unctrl</STRONG>. - The corresponding <STRONG>key_name</STRONG> returns a character string corresponding to - the wide-character value <EM>w</EM>. The two functions do not return the same - set of strings; the latter returns null where the former would display - a meta character. + <STRONG>o</STRONG> Values above 256 may be the codes for function keys. The function + key name is displayed. + <STRONG>o</STRONG> Otherwise (if there is no corresponding name and the key is not a + character) the function returns null, to denote an error. X/Open + also lists an "UNKNOWN KEY" return value, which some + implementations return rather than null. -</PRE><H3><a name="h3-filter_nofilter">filter/nofilter</a></H3><PRE> - The <STRONG>filter</STRONG> routine, if used, must be called before <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> + The corresponding <STRONG>key_name</STRONG> returns a multibyte character string + corresponding to the wide-character value <EM>w</EM>. The two functions + (<STRONG>keyname</STRONG> and <STRONG>key_name</STRONG>) do not return the same set of strings: + + <STRONG>o</STRONG> <STRONG>keyname</STRONG> returns null where <STRONG>key_name</STRONG> would display a meta character. + + <STRONG>o</STRONG> <STRONG>key_name</STRONG> does not return the name of a function key. + + +</PRE><H3><a name="h3-filter_nofilter">filter, nofilter</a></H3><PRE> + The <STRONG>filter</STRONG> routine, if used, must be called before <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> are called. Calling <STRONG>filter</STRONG> causes these changes in initialization: <STRONG>o</STRONG> <STRONG>LINES</STRONG> is set to 1; - <STRONG>o</STRONG> the capabilities <STRONG>clear</STRONG>, <STRONG>cud1</STRONG>, <STRONG>cud</STRONG>, <STRONG>cup</STRONG>, <STRONG>cuu1</STRONG>, <STRONG>cuu</STRONG>, <STRONG>vpa</STRONG> are dis- - abled; + <STRONG>o</STRONG> the capabilities <STRONG>clear</STRONG>, <STRONG>cud1</STRONG>, <STRONG>cud</STRONG>, <STRONG>cup</STRONG>, <STRONG>cuu1</STRONG>, <STRONG>cuu</STRONG>, <STRONG>vpa</STRONG> are + disabled; <STRONG>o</STRONG> the capability <STRONG>ed</STRONG> is disabled if <STRONG>bce</STRONG> is set; <STRONG>o</STRONG> and the <STRONG>home</STRONG> string is set to the value of <STRONG>cr</STRONG>. - The <STRONG>nofilter</STRONG> routine cancels the effect of a preceding <STRONG>filter</STRONG> call. - That allows the caller to initialize a screen on a different device, - using a different value of <STRONG>$TERM</STRONG>. The limitation arises because the + The <STRONG>nofilter</STRONG> routine cancels the effect of a preceding <STRONG>filter</STRONG> call. + That allows the caller to initialize a screen on a different device, + using a different value of <STRONG>$TERM</STRONG>. The limitation arises because the <STRONG>filter</STRONG> routine modifies the in-memory copy of the terminal information. </PRE><H3><a name="h3-use_env">use_env</a></H3><PRE> - The <STRONG>use_env</STRONG> routine, if used, should be called before <STRONG>initscr</STRONG> or - <STRONG>newterm</STRONG> are called (because those compute the screen size). It modi- - fies the way <STRONG>ncurses</STRONG> treats environment variables when determining the - screen size. + The <STRONG>use_env</STRONG> routine, if used, should be called before <STRONG>initscr</STRONG> or + <STRONG>newterm</STRONG> are called (because those compute the screen size). It + modifies the way <EM>ncurses</EM> treats environment variables when determining + the screen size. - <STRONG>o</STRONG> Normally <STRONG>ncurses</STRONG> looks first at the terminal database for the + <STRONG>o</STRONG> Normally <EM>ncurses</EM> looks first at the terminal database for the screen size. - If <STRONG>use_env</STRONG> was called with <STRONG>FALSE</STRONG> for parameter, it stops here un- - less <STRONG>use_tioctl</STRONG> was also called with <STRONG>TRUE</STRONG> for parameter. + If <STRONG>use_env</STRONG> was called with <STRONG>FALSE</STRONG> for parameter, it stops here + unless <STRONG>use_tioctl</STRONG> was also called with <STRONG>TRUE</STRONG> for parameter. - <STRONG>o</STRONG> Then it asks for the screen size via operating system calls. If + <STRONG>o</STRONG> Then it asks for the screen size via operating system calls. If successful, it overrides the values from the terminal database. - <STRONG>o</STRONG> Finally (unless <STRONG>use_env</STRONG> was called with <STRONG>FALSE</STRONG> parameter), <STRONG>ncurses</STRONG> - examines the <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> environment variables, using a value - in those to override the results from the operating system or ter- - minal database. + <STRONG>o</STRONG> Finally (unless <STRONG>use_env</STRONG> was called with <STRONG>FALSE</STRONG> parameter), <EM>ncurses</EM> + examines the <EM>LINES</EM> or <EM>COLUMNS</EM> environment variables, using a value + in those to override the results from the operating system or + terminal database. - <STRONG>Ncurses</STRONG> also updates the screen size in response to <STRONG>SIGWINCH</STRONG>, un- - less overridden by the <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> environment variables, + <EM>curses</EM> also updates the screen size in response to <STRONG>SIGWINCH</STRONG>, unless + overridden by the <EM>LINES</EM> or <EM>COLUMNS</EM> environment variables, </PRE><H3><a name="h3-use_tioctl">use_tioctl</a></H3><PRE> - The <STRONG>use_tioctl</STRONG> routine, if used, should be called before <STRONG>initscr</STRONG> or - <STRONG>newterm</STRONG> are called (because those compute the screen size). After - <STRONG>use_tioctl</STRONG> is called with <STRONG>TRUE</STRONG> as an argument, <STRONG>ncurses</STRONG> modifies the + The <STRONG>use_tioctl</STRONG> routine, if used, should be called before <STRONG>initscr</STRONG> or + <STRONG>newterm</STRONG> are called (because those compute the screen size). After + <STRONG>use_tioctl</STRONG> is called with <STRONG>TRUE</STRONG> as an argument, <EM>ncurses</EM> modifies the last step in its computation of screen size as follows: - <STRONG>o</STRONG> checks if the <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> environment variables are set to a + <STRONG>o</STRONG> checks if the <EM>LINES</EM> and <EM>COLUMNS</EM> environment variables are set to a number greater than zero. - <STRONG>o</STRONG> for each, <STRONG>ncurses</STRONG> updates the corresponding environment variable - with the value that it has obtained via operating system call or + <STRONG>o</STRONG> for each, <EM>ncurses</EM> updates the corresponding environment variable + with the value that it has obtained via operating system call or from the terminal database. - <STRONG>o</STRONG> <STRONG>ncurses</STRONG> re-fetches the value of the environment variables so that + <STRONG>o</STRONG> <EM>ncurses</EM> re-fetches the value of the environment variables so that it is still the environment variables which set the screen size. - The <STRONG>use_env</STRONG> and <STRONG>use_tioctl</STRONG> routines combine as summarized here: + The <STRONG>use_env</STRONG> and <STRONG>use_tioctl</STRONG> routines combine as follows. - <EM>use</EM><STRONG>_</STRONG><EM>env</EM> <EM>use</EM><STRONG>_</STRONG><EM>tioctl</EM> <EM>Summary</EM> - ---------------------------------------------------------------- - TRUE FALSE This is the default behavior. <STRONG>ncurses</STRONG> - uses operating system calls unless over- - ridden by $LINES or $COLUMNS environment - variables. + <STRONG>use_env</STRONG> <STRONG>use_tioctl</STRONG> <STRONG>Summary</STRONG> + ----------------------------------------------------------------- + <STRONG>TRUE</STRONG> <STRONG>FALSE</STRONG> This is the default behavior. <EM>ncurses</EM> + uses operating system calls unless + overridden by <EM>LINES</EM> or <EM>COLUMNS</EM> + environment variables; default. + <STRONG>TRUE</STRONG> <STRONG>TRUE</STRONG> <EM>ncurses</EM> updates <EM>LINES</EM> and <EM>COLUMNS</EM> based + on operating system calls. + <STRONG>FALSE</STRONG> <STRONG>TRUE</STRONG> <EM>ncurses</EM> ignores <EM>LINES</EM> and <EM>COLUMNS</EM>, using + operating system calls to obtain size. - TRUE TRUE <STRONG>ncurses</STRONG> updates $LINES and $COLUMNS - based on operating system calls. - FALSE TRUE <STRONG>ncurses</STRONG> ignores $LINES and $COLUMNS, us- - es operating system calls to obtain - size. - FALSE FALSE <STRONG>ncurses</STRONG> relies on the terminal database - to determine size. +</PRE><H3><a name="h3-putwin_getwin">putwin, getwin</a></H3><PRE> + The <STRONG>putwin</STRONG> routine writes all data associated with window (or pad) <EM>win</EM> + into the file to which <EM>filep</EM> points. This information can be later + retrieved using the <STRONG>getwin</STRONG> function. -</PRE><H3><a name="h3-putwin_getwin">putwin/getwin</a></H3><PRE> - The <STRONG>putwin</STRONG> routine writes all data associated with window (or pad) <EM>win</EM> - into the file to which <EM>filep</EM> points. This information can be later re- - trieved using the <STRONG>getwin</STRONG> function. - - The <STRONG>getwin</STRONG> routine reads window related data stored in the file by - <STRONG>putwin</STRONG>. The routine then creates and initializes a new window using - that data. It returns a pointer to the new window. There are a few + The <STRONG>getwin</STRONG> routine reads window related data stored in the file by + <STRONG>putwin</STRONG>. The routine then creates and initializes a new window using + that data. It returns a pointer to the new window. There are a few caveats: - <STRONG>o</STRONG> the data written is a copy of the <STRONG>WINDOW</STRONG> structure, and its associ- - ated character cells. The format differs between the wide-charac- - ter (<STRONG>ncursesw</STRONG>) and non-wide (<STRONG>ncurses</STRONG>) libraries. You can transfer - data between the two, however. + <STRONG>o</STRONG> the data written is a copy of the <EM>WINDOW</EM> structure, and its + associated character cells. The format differs between the wide- + character (<EM>ncursesw</EM>) and non-wide (<EM>ncurses</EM>) libraries. You can + transfer data between the two, however. - <STRONG>o</STRONG> the retrieved window is always created as a top-level window (or + <STRONG>o</STRONG> the retrieved window is always created as a top-level window (or pad), rather than a subwindow. - <STRONG>o</STRONG> the window's character cells contain the color pair <EM>value</EM>, but not - the actual color <EM>numbers</EM>. If cells in the retrieved window use - color pairs which have not been created in the application using + <STRONG>o</STRONG> the window's character cells contain the color pair <EM>value</EM>, but not + the actual color <EM>numbers</EM>. If cells in the retrieved window use + color pairs which have not been created in the application using <STRONG>init_pair</STRONG>, they will not be colored when the window is refreshed. </PRE><H3><a name="h3-delay_output">delay_output</a></H3><PRE> - The <STRONG>delay_output</STRONG> routine inserts an <EM>ms</EM> millisecond pause in output. - This routine should not be used extensively because padding characters - are used rather than a CPU pause. If no padding character is speci- - fied, this uses <STRONG>napms</STRONG> to perform the delay. + The <STRONG>delay_output</STRONG> routine inserts an <EM>ms</EM> millisecond pause in output. + Employ this function judiciously when terminal output uses padding, + because <EM>ncurses</EM> transmits null characters (consuming CPU and I/O + resources) instead of sleeping and requesting resumption from the + operating system. Padding is used unless: + + <STRONG>o</STRONG> the terminal description has <STRONG>npc</STRONG> (<STRONG>no_pad_char</STRONG>) capability, or + + <STRONG>o</STRONG> the environment variable <STRONG>NCURSES_NO_PADDING</STRONG> is set. + + If padding is not in use, <EM>ncurses</EM> uses <STRONG>napms</STRONG> to perform the delay. If + the value of <EM>ms</EM> exceeds 30,000 (thirty seconds), it is capped at that + value. </PRE><H3><a name="h3-flushinp">flushinp</a></H3><PRE> @@ -234,29 +254,43 @@ Routines that return pointers return <STRONG>NULL</STRONG> on error. - X/Open does not define any error conditions. In this implementation + X/Open Curses does not specify any error conditions. In this + implementation <STRONG>flushinp</STRONG> returns an error if the terminal was not initialized. <STRONG>putwin</STRONG> - returns an error if the associated <STRONG>fwrite</STRONG> calls return an er- - ror. + returns an error if the associated <STRONG>fwrite</STRONG> calls return an + error. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> </PRE><H3><a name="h3-filter">filter</a></H3><PRE> - The SVr4 documentation describes the action of <STRONG>filter</STRONG> only in the - vaguest terms. The description here is adapted from the XSI Curses - standard (which erroneously fails to describe the disabling of <STRONG>cuu</STRONG>). + The SVr4 documentation describes the action of <STRONG>filter</STRONG> only in the + vaguest terms. The description here is adapted from X/Open Curses + (which erroneously fails to describe the disabling of <STRONG>cuu</STRONG>). + + +</PRE><H3><a name="h3-delay_output-padding">delay_output padding</a></H3><PRE> + The limitation to 30 seconds and the use of <STRONG>napms</STRONG> differ from other + implementations. + + <STRONG>o</STRONG> SVr4 curses does not delay if no padding character is available. + + <STRONG>o</STRONG> NetBSD curses uses <STRONG>napms</STRONG> when no padding character is available, + but does not take timing into account when using the padding + character. + + Neither limits the delay. </PRE><H3><a name="h3-keyname">keyname</a></H3><PRE> - The <STRONG>keyname</STRONG> function may return the names of user-defined string capa- - bilities which are defined in the terminfo entry via the <STRONG>-x</STRONG> option of - <STRONG>tic</STRONG>. This implementation automatically assigns at run-time keycodes to - user-defined strings which begin with "k". The keycodes start at + The <STRONG>keyname</STRONG> function may return the names of user-defined string + capabilities which are defined in the terminfo entry via the <STRONG>-x</STRONG> option + of <STRONG>tic</STRONG>. This implementation automatically assigns at run-time keycodes + to user-defined strings which begin with "k". The keycodes start at KEY_MAX, but are not guaranteed to be the same value for different runs because user-defined codes are merged from all terminal descriptions which have been loaded. The <STRONG><A HREF="curs_extend.3x.html">use_extended_names(3x)</A></STRONG> function controls @@ -264,19 +298,19 @@ the library. -</PRE><H3><a name="h3-nofilter_use_tioctl">nofilter/use_tioctl</a></H3><PRE> - The <STRONG>nofilter</STRONG> and <STRONG>use_tioctl</STRONG> routines are specific to <STRONG>ncurses</STRONG>. They +</PRE><H3><a name="h3-nofilter_use_tioctl">nofilter, use_tioctl</a></H3><PRE> + The <STRONG>nofilter</STRONG> and <STRONG>use_tioctl</STRONG> routines are specific to <EM>ncurses</EM>. They were not supported on Version 7, BSD or System V implementations. It - is recommended that any code depending on <STRONG>ncurses</STRONG> extensions be condi- - tioned using NCURSES_VERSION. + is recommended that any code depending on <EM>ncurses</EM> extensions be + conditioned using <STRONG>NCURSES_VERSION</STRONG>. -</PRE><H3><a name="h3-putwin_getwin">putwin/getwin</a></H3><PRE> +</PRE><H3><a name="h3-putwin_getwin-file-format">putwin/getwin file-format</a></H3><PRE> The <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG> functions have several issues with portability: - <STRONG>o</STRONG> The files written and read by these functions use an implementa- - tion-specific format. Although the format is an obvious target for - standardization, it has been overlooked. + <STRONG>o</STRONG> The files written and read by these functions use an + implementation-specific format. Although the format is an obvious + target for standardization, it has been overlooked. Interestingly enough, according to the copyright dates in Solaris source, the functions (along with <STRONG>scr_init</STRONG>, etc.) originated with @@ -284,9 +318,9 @@ 1988) incorporated into SVr4. Oddly, there are no such functions in the 4.3BSD curses sources. - <STRONG>o</STRONG> Most implementations simply dump the binary <STRONG>WINDOW</STRONG> structure to the + <STRONG>o</STRONG> Most implementations simply dump the binary <EM>WINDOW</EM> structure to the file. These include SVr4 curses, NetBSD and PDCurses, as well as - older <STRONG>ncurses</STRONG> versions. This implementation (as well as the X/Open + older <EM>ncurses</EM> versions. This implementation (as well as the X/Open variant of Solaris curses, dated 1995) uses textual dumps. The implementations which use binary dumps use block-I/O (the @@ -298,20 +332,20 @@ file written using mixed schemes may not be successful. -</PRE><H3><a name="h3-unctrl_wunctrl">unctrl/wunctrl</a></H3><PRE> - The XSI Curses standard, Issue 4 describes these functions. It states - that <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG> will return a null pointer if unsuccessful, but - does not define any error conditions. This implementation checks for - three cases: +</PRE><H3><a name="h3-unctrl_wunctrl">unctrl, wunctrl</a></H3><PRE> + X/Open Curses, Issue 4 describes these functions. It states that + <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG> will return a null pointer if unsuccessful, but does + not define any error conditions. This implementation checks for three + cases: <STRONG>o</STRONG> the parameter is a 7-bit US-ASCII code. This is the case that X/Open Curses documented. <STRONG>o</STRONG> the parameter is in the range 128-159, i.e., a C1 control code. If <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG> has been called with a <STRONG>2</STRONG> parameter, <STRONG>unctrl</STRONG> - returns the parameter, i.e., a one-character string with the param- - eter as the first character. Otherwise, it returns "~@", "~A", - etc., analogous to "^@", "^A", C0 controls. + returns the parameter, i.e., a one-character string with the + parameter as the first character. Otherwise, it returns "~@", + "~A", etc., analogous to "^@", "^A", C0 controls. X/Open Curses does not document whether <STRONG>unctrl</STRONG> can be called before initializing curses. This implementation permits that, and returns @@ -322,42 +356,43 @@ The strings returned by <STRONG>unctrl</STRONG> in this implementation are determined at compile time, showing C1 controls from the upper-128 codes with a "~" - prefix rather than "^". Other implementations have different conven- - tions. For example, they may show both sets of control characters with - "^", and strip the parameter to 7 bits. Or they may ignore C1 controls - and treat all of the upper-128 codes as printable. This implementation - uses 8 bits but does not modify the string to reflect locale. The - <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG> function allows the caller to change the output - of <STRONG>unctrl</STRONG>. + prefix rather than "^". Other implementations have different + conventions. For example, they may show both sets of control + characters with "^", and strip the parameter to 7 bits. Or they may + ignore C1 controls and treat all of the upper-128 codes as printable. + This implementation uses 8 bits but does not modify the string to + reflect locale. The <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG> function allows the caller + to change the output of <STRONG>unctrl</STRONG>. Likewise, the <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> function allows the caller to change the output of <STRONG>keyname</STRONG>, i.e., it determines whether to use the "M-" prefix for - "meta" keys (codes in the range 128 to 255). Both <STRONG>use_legacy_cod-</STRONG> - <STRONG><A HREF="use_legacy_coding.3x.html">ing(3x)</A></STRONG> and <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> succeed only after curses is initialized. X/Open - Curses does not document the treatment of codes 128 to 159. When - treating them as "meta" keys (or if <STRONG>keyname</STRONG> is called before initializ- - ing curses), this implementation returns strings "M-^@", "M-^A", etc. - - X/Open Curses documents <STRONG>unctrl</STRONG> as declared in <STRONG><unctrl.h></STRONG>, which <STRONG>ncurses</STRONG> - does. However, <STRONG>ncurses</STRONG>' <STRONG><curses.h></STRONG> includes <STRONG><unctrl.h></STRONG>, matching the + "meta" keys (codes in the range 128 to 255). Both + <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG> and <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> succeed only after curses is + initialized. X/Open Curses does not document the treatment of codes + 128 to 159. When treating them as "meta" keys (or if <STRONG>keyname</STRONG> is called + before initializing curses), this implementation returns strings + "M-^@", "M-^A", etc. + + X/Open Curses documents <STRONG>unctrl</STRONG> as declared in <STRONG><unctrl.h></STRONG>, which <EM>ncurses</EM> + does. However, <EM>ncurses</EM>' <STRONG><curses.h></STRONG> includes <STRONG><unctrl.h></STRONG>, matching the behavior of SVr4 curses. Other implementations may not do that. -</PRE><H3><a name="h3-use_env_use_tioctl">use_env/use_tioctl</a></H3><PRE> - If <STRONG>ncurses</STRONG> is configured to provide the sp-functions extension, the - state of <STRONG>use_env</STRONG> and <STRONG>use_tioctl</STRONG> may be updated before creating each - <EM>screen</EM> rather than once only (<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>). This feature of - <STRONG>use_env</STRONG> is not provided by other implementation of curses. +</PRE><H3><a name="h3-use_env_use_tioctl">use_env, use_tioctl</a></H3><PRE> + If <EM>ncurses</EM> is configured to provide the sp-functions extension, the + state of <STRONG>use_env</STRONG> and <STRONG>use_tioctl</STRONG> may be updated before creating each + <EM>screen</EM> rather than once only (<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>). This feature of + <STRONG>use_env</STRONG> is not provided by other implementations of curses. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, - <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>legacy_cod-</STRONG> - <STRONG><A HREF="legacy_coding.3x.html">ing(3x)</A></STRONG>. + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, + <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, + <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG> - <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -366,11 +401,11 @@ <li><a href="#h2-DESCRIPTION">DESCRIPTION</a> <ul> <li><a href="#h3-unctrl">unctrl</a></li> -<li><a href="#h3-keyname_key_name">keyname/key_name</a></li> -<li><a href="#h3-filter_nofilter">filter/nofilter</a></li> +<li><a href="#h3-keyname_key_name">keyname, key_name</a></li> +<li><a href="#h3-filter_nofilter">filter, nofilter</a></li> <li><a href="#h3-use_env">use_env</a></li> <li><a href="#h3-use_tioctl">use_tioctl</a></li> -<li><a href="#h3-putwin_getwin">putwin/getwin</a></li> +<li><a href="#h3-putwin_getwin">putwin, getwin</a></li> <li><a href="#h3-delay_output">delay_output</a></li> <li><a href="#h3-flushinp">flushinp</a></li> </ul> @@ -379,11 +414,12 @@ <li><a href="#h2-PORTABILITY">PORTABILITY</a> <ul> <li><a href="#h3-filter">filter</a></li> +<li><a href="#h3-delay_output-padding">delay_output padding</a></li> <li><a href="#h3-keyname">keyname</a></li> -<li><a href="#h3-nofilter_use_tioctl">nofilter/use_tioctl</a></li> -<li><a href="#h3-putwin_getwin">putwin/getwin</a></li> -<li><a href="#h3-unctrl_wunctrl">unctrl/wunctrl</a></li> -<li><a href="#h3-use_env_use_tioctl">use_env/use_tioctl</a></li> +<li><a href="#h3-nofilter_use_tioctl">nofilter, use_tioctl</a></li> +<li><a href="#h3-putwin_getwin-file-format">putwin/getwin file-format</a></li> +<li><a href="#h3-unctrl_wunctrl">unctrl, wunctrl</a></li> +<li><a href="#h3-use_env_use_tioctl">use_env, use_tioctl</a></li> </ul> </li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> diff --git a/doc/html/man/curs_variables.3x.html b/doc/html/man/curs_variables.3x.html index e91e6af3a506..92ae9851fdf2 100644 --- a/doc/html/man/curs_variables.3x.html +++ b/doc/html/man/curs_variables.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 2010-2015,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,188 +27,275 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_variables.3x,v 1.15 2020/04/18 14:29:07 tom Exp @ + * @Id: curs_variables.3x,v 1.47 2024/04/13 22:37:35 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_variables 3x</TITLE> +<TITLE>curs_variables 3x 2024-04-13 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_variables 3x</H1> +<H1 class="no-header">curs_variables 3x 2024-04-13 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> +<STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>COLORS</STRONG>, <STRONG>COLOR_PAIRS</STRONG>, <STRONG>COLS</STRONG>, <STRONG>ESCDELAY</STRONG>, <STRONG>LINES</STRONG>, <STRONG>TABSIZE</STRONG>, <STRONG>curscr</STRONG>, <STRONG>newscr</STRONG>, - <STRONG>stdscr</STRONG> - <STRONG>curses</STRONG> global variables + <EM>bool</EM>, <EM>chtype</EM>, <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>, <EM>attr</EM><STRONG>_</STRONG><EM>t</EM>, <EM>SCREEN</EM>, <EM>WINDOW</EM>, <STRONG>TRUE</STRONG>, <STRONG>FALSE</STRONG>, <STRONG>ERR</STRONG>, <STRONG>OK</STRONG>, + <STRONG>curscr</STRONG>, <STRONG>newscr</STRONG>, <STRONG>stdscr</STRONG>, <STRONG>COLORS</STRONG>, <STRONG>COLOR_PAIRS</STRONG>, <STRONG>COLS</STRONG>, <STRONG>LINES</STRONG>, <STRONG>ESCDELAY</STRONG>, + <STRONG>TABSIZE</STRONG> - <EM>curses</EM> data types, constants, and global variables </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> - <STRONG>int</STRONG> <STRONG>COLOR_PAIRS;</STRONG> + <EM>/*</EM> <EM>data</EM> <EM>types</EM> <EM>*/</EM> + <STRONG>typedef</STRONG> <EM>/*</EM> <STRONG>...</STRONG> <EM>*/</EM> <STRONG>bool;</STRONG> + <STRONG>typedef</STRONG> <EM>/*</EM> <STRONG>...</STRONG> <EM>*/</EM> <STRONG>chtype;</STRONG> + <STRONG>typedef</STRONG> <EM>/*</EM> <STRONG>...</STRONG> <EM>*/</EM> <STRONG>cchar_t;</STRONG> + <STRONG>typedef</STRONG> <EM>/*</EM> <STRONG>...</STRONG> <EM>*/</EM> <STRONG>attr_t;</STRONG> + <STRONG>typedef</STRONG> <EM>/*</EM> <STRONG>...</STRONG> <EM>*/</EM> <STRONG>SCREEN;</STRONG> + <STRONG>typedef</STRONG> <EM>/*</EM> <STRONG>...</STRONG> <EM>*/</EM> <STRONG>WINDOW;</STRONG> + + <EM>/*</EM> <EM>constants</EM> <EM>*/</EM> + <STRONG>const</STRONG> <STRONG>bool</STRONG> <STRONG>TRUE;</STRONG> + <STRONG>const</STRONG> <STRONG>bool</STRONG> <STRONG>FALSE;</STRONG> + + <STRONG>const</STRONG> <EM>/*</EM> <STRONG>...</STRONG> <EM>*/</EM> <STRONG>ERR;</STRONG> + <STRONG>const</STRONG> <EM>/*</EM> <STRONG>...</STRONG> <EM>*/</EM> <STRONG>OK;</STRONG> + + <EM>/*</EM> <EM>variables</EM> <EM>*/</EM> <STRONG>int</STRONG> <STRONG>COLORS;</STRONG> + <STRONG>int</STRONG> <STRONG>COLOR_PAIRS;</STRONG> <STRONG>int</STRONG> <STRONG>COLS;</STRONG> - <STRONG>int</STRONG> <STRONG>ESCDELAY;</STRONG> <STRONG>int</STRONG> <STRONG>LINES;</STRONG> - <STRONG>int</STRONG> <STRONG>TABSIZE;</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> <STRONG>curscr;</STRONG> - <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> <STRONG>newscr;</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> <STRONG>stdscr;</STRONG> + <EM>/*</EM> <EM>extensions</EM> <EM>*/</EM> + <STRONG>int</STRONG> <STRONG>ESCDELAY;</STRONG> + <STRONG>int</STRONG> <STRONG>TABSIZE;</STRONG> + <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> <STRONG>newscr;</STRONG> + </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - This page summarizes variables provided by the <STRONG>curses</STRONG> library. A more - complete description is given in the <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> manual page. + This page summarizes data types, constants, and variables provided by + the <EM>curses</EM> library. Locate further discussion in <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>. - Depending on the configuration, these may be actual variables, or - macros (see <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> and <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>) which provide read- - only access to <EM>curses</EM>'s state. In either case, applications should - treat them as read-only to avoid confusing the library. + Depending on <EM>ncurses</EM>'s build-time configuration, the variables may + instead be macros (see <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> and <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>) that + provide read-only access to the library's state. In either case, + applications should treat them as read-only to avoid confusing the + library. -</PRE><H3><a name="h3-COLOR_PAIRS">COLOR_PAIRS</a></H3><PRE> - After initializing curses, this variable contains the number of color - pairs which the terminal can support. Usually the number of color - pairs will be the product <STRONG>COLORS</STRONG>*<STRONG>COLORS</STRONG>, however this is not always - true: +</PRE><H2><a name="h2-CONSTANTS">CONSTANTS</a></H2><PRE> - <STRONG>o</STRONG> a few terminals use HLS colors, which do not follow this rule +</PRE><H3><a name="h3-TRUE_FALSE">TRUE, FALSE</a></H3><PRE> + The <EM>curses</EM> library defines <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG> to represent the values of + the Boolean data type. - <STRONG>o</STRONG> terminals supporting a large number of colors are limited by the - number of color pairs that can be represented in a <EM>signed</EM> <EM>short</EM> - value. +</PRE><H3><a name="h3-ERR_OK">ERR, OK</a></H3><PRE> + <EM>curses</EM> and <EM>terminfo</EM> routines frequently return these constant integral + values indicating failure and success, respectively. -</PRE><H3><a name="h3-COLORS">COLORS</a></H3><PRE> - After initializing curses, this variable contains the number of colors - which the terminal can support. +</PRE><H2><a name="h2-PREDEFINED-TYPES">PREDEFINED TYPES</a></H2><PRE> -</PRE><H3><a name="h3-COLS">COLS</a></H3><PRE> - After initializing curses, this variable contains the width of the - screen, i.e., the number of columns. +</PRE><H3><a name="h3-bool"><EM>bool</EM></a></H3><PRE> + X/Open Issue 4 <EM>curses</EM> (1996) preceded the ISO C99 and ISO C++98 + standards, each of which also defined a Boolean data type. The <EM>curses</EM> + library requires an integral type <EM>bool</EM>. + <STRONG>ncurses</STRONG>' configure script attempts to discover the data type used by + the system's C and C++ compilers, to reuse for the <EM>curses</EM> <EM>bool</EM>. -</PRE><H3><a name="h3-ESCDELAY">ESCDELAY</a></H3><PRE> - This variable holds the number of milliseconds to wait after reading an - escape character, to distinguish between an individual escape character - entered on the keyboard from escape sequences sent by cursor- and func- - tion-keys (see <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>). +</PRE><H3><a name="h3-chtype"><EM>chtype</EM></a></H3><PRE> + The <EM>chtype</EM> integral type combines a ("narrow", 8-bit) character with + attributes encoding the character's <EM>rendition</EM>, such as the styling of + its typeface and/or foreground and background colors. See, for + example, <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">attron(3x)</A></STRONG>, and <STRONG><A HREF="curs_inch.3x.html">inch(3x)</A></STRONG>. -</PRE><H3><a name="h3-LINES">LINES</a></H3><PRE> - After initializing curses, this variable contains the height of the - screen, i.e., the number of lines. +</PRE><H3><a name="h3-cchar_t_attr_t"><EM>cchar_t,</EM> attr_t</a></H3><PRE> + <EM>chtype</EM> is too small for the standard C library's wide-character type, + <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>. <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> is a type that can accommodate an <EM>attr</EM><STRONG>_</STRONG><EM>t</EM> and enough + wide characters to store what Unicode terms a <EM>grapheme</EM> <EM>cluster</EM> (a + "user-perceived character" [UAX #29], which may nevertheless require + several character encoding units to represent). <EM>attr</EM><STRONG>_</STRONG><EM>t</EM> is an integral + type storing "wide" attributes that apply to <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>s. See, for + example, <STRONG><A HREF="curs_add_wch.3x.html">add_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">attr_on(3x)</A></STRONG>, and <STRONG><A HREF="curs_in_wch.3x.html">in_wch(3x)</A></STRONG>. -</PRE><H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE> - This variable holds the number of columns used by the <EM>curses</EM> library - when converting a tab character to spaces as it adds the tab to a win- - dow (see <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>. +</PRE><H3><a name="h3-SCREEN"><EM>SCREEN</EM></a></H3><PRE> + <EM>curses</EM> manages a terminal device with this structure type; see + <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG>. + + +</PRE><H3><a name="h3-WINDOW"><EM>WINDOW</EM></a></H3><PRE> + <EM>curses</EM> represents rectangular portions of the terminal screen with the + <EM>WINDOW</EM> structure type; see subsection "Overview" of <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>. + + +</PRE><H2><a name="h2-VARIABLES">VARIABLES</a></H2><PRE> + +</PRE><H3><a name="h3-curscr_stdscr_newscr">curscr, stdscr, newscr</a></H3><PRE> + The library records updates to the terminal screen in a window named + <STRONG>curscr</STRONG>. This object is referred to as the "physical screen" in + <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> and <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>. -</PRE><H3><a name="h3-The-Current-Screen">The Current Screen</a></H3><PRE> - This implementation of curses uses a special window <STRONG>curscr</STRONG> to record - its updates to the terminal screen. + <EM>ncurses</EM> collects pending updates to the terminal screen in a window + named <STRONG>newscr</STRONG>. This object is referred to as the "virtual screen" in + the <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, and <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>. When the + screen is refreshed, <EM>curses</EM> determines a minimal set of updates using + the terminal's capabilities to make <STRONG>curscr</STRONG> look like <STRONG>newscr</STRONG>. - This is referred to as the "physical screen" in the <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> - and <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> manual pages. + Once <EM>curses</EM> is initialized, it creates a window named <STRONG>stdscr</STRONG>. It is + the same size as the terminal screen and is the default window used by + routines that do not take a parameter identifying one. Many <EM>curses</EM> + functions use this window. -</PRE><H3><a name="h3-The-New-Screen">The New Screen</a></H3><PRE> - This implementation of curses uses a special window <STRONG>newscr</STRONG> to hold up- - dates to the terminal screen before applying them to <STRONG>curscr</STRONG>. +</PRE><H3><a name="h3-COLORS">COLORS</a></H3><PRE> + Once <EM>curses</EM> is initialized, <STRONG>COLORS</STRONG> contains the number of colors + supported by the terminal; see <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>. + + +</PRE><H3><a name="h3-COLOR_PAIRS">COLOR_PAIRS</a></H3><PRE> + Once <EM>curses</EM> is initialized, <STRONG>COLOR_PAIRS</STRONG> contains the number of color + pairs supported by the terminal; see <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>. + - This is referred to as the "virtual screen" in the <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, - <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> and <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> manual pages. +</PRE><H3><a name="h3-COLS_LINES">COLS, LINES</a></H3><PRE> + Once <EM>curses</EM> is initialized, <STRONG>COLS</STRONG> and <STRONG>LINES</STRONG> contain the screen's width + and height in character cells, respectively; that is, the number of + columns and lines. -</PRE><H3><a name="h3-The-Standard-Screen">The Standard Screen</a></H3><PRE> - Upon initializing curses, a default window called <STRONG>stdscr</STRONG>, which is the - size of the terminal screen, is created. Many curses functions use - this window. +</PRE><H3><a name="h3-ESCDELAY">ESCDELAY</a></H3><PRE> + For <EM>curses</EM> to distinguish the ESC character resulting from a user's + press of the "Escape" key on the input device from one beginning an + <EM>escape</EM> <EM>sequence</EM> (as commonly produced by function keys), it waits after + the escape character to see if further characters are available on the + input stream within a short interval. <STRONG>ESCDELAY</STRONG> stores this interval in + milliseconds. + + If <STRONG><A HREF="curs_inopts.3x.html">keypad(3x)</A></STRONG> is disabled for the <EM>curses</EM> window receiving input, a + program must disambiguate escape sequences itself. + + +</PRE><H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE> + The <EM>curses</EM> library converts a tab character to this number of spaces as + it adds a tab to a window; see <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>. </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The curses library is initialized using either <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG>, or - <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>. + Either <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG> or <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG> initializes <EM>curses</EM>. - If <STRONG>curses</STRONG> is configured to use separate curses/terminfo libraries, most - of these variables reside in the curses library. + If <EM>ncurses</EM> is configured to provide separate <EM>curses</EM> and <EM>tinfo</EM> + libraries, most of these variables reside in the former. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - <STRONG>TABSIZE</STRONG> is a feature of SVr4 curses which is not documented by X/Open - curses. + The X/Open Curses standard documents all of the foregoing types and + symbols except for <STRONG>newscr</STRONG>, <STRONG>TABSIZE</STRONG>, and <STRONG>ESCDELAY</STRONG>. + + X/Open Curses describes <STRONG>curscr</STRONG> only as "an internal data structure"; + SVr4 gave more details, noting its use "for certain low-level + operations like clearing and redrawing a screen containing garbage". + Neither specified its interaction with the rest of the interface beyond + use as an argument to <STRONG><A HREF="curs_outopts.3x.html">clearok(3x)</A></STRONG> and <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG>. - <STRONG>o</STRONG> In SVr4 curses, <STRONG>TABSIZE</STRONG> is initially set from the terminal descrip- - tion's <STRONG>init_tabs</STRONG> capability. After that, it can be altered by the - applications using SVr4 curses. + <STRONG>newscr</STRONG> is a feature of SVr4 <EM>curses</EM>. When refreshing the screen, it is + used as a working area for combining the standard window <STRONG>stdscr</STRONG> with + any others the application may have created with <STRONG><A HREF="curs_window.3x.html">newwin(3x)</A></STRONG>. When the + update of <STRONG>newscr</STRONG> is complete, <EM>curses</EM> modifies <STRONG>curscr</STRONG> to match <STRONG>newscr</STRONG>. - SVr4 curses uses the current value of <STRONG>TABSIZE</STRONG> to compute the posi- - tion of tabstops for updating both the virtual screen with <STRONG>add-</STRONG> - <STRONG><A HREF="addch.3x.html">ch(3x)</A></STRONG> as well as the physical screen with <STRONG><A HREF="curs_terminfo.3x.html">mvcur(3x)</A></STRONG>. + <STRONG>TABSIZE</STRONG> is a feature of SVr4 <EM>curses</EM>. - <STRONG>o</STRONG> This implementation uses the current value of <STRONG>TABSIZE</STRONG> only for up- - dating the virtual screen. It uses the terminal description's <STRONG>it</STRONG> - (<STRONG>init_tabs</STRONG>) capability for computing hardware tabs (i.e., tab stops - on the physical screen). + <STRONG>o</STRONG> SVr4 initially sets <STRONG>TABSIZE</STRONG> from the terminal description's + <STRONG>init_tabs</STRONG> capability. After that, it can be altered by + applications using SVr4 <EM>curses</EM>. - <STRONG>o</STRONG> Other implementations differ. For instance, NetBSD curses allows - <STRONG>TABSIZE</STRONG> to be set through an environment variable. This implemen- - tation does not. + <STRONG>o</STRONG> SVr4 <EM>curses</EM> uses the value of <STRONG>TABSIZE</STRONG> to compute the position of + tab stops when updating both the virtual screen with <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG> and + the physical screen with <STRONG><A HREF="curs_terminfo.3x.html">mvcur(3x)</A></STRONG>. - NetBSD curses does not support hardware tabs; it uses the <STRONG>init_tabs</STRONG> - capability and the <STRONG>TABSIZE</STRONG> variable only for updating the virtual + <STRONG>o</STRONG> <EM>ncurses</EM> uses the value of <STRONG>TABSIZE</STRONG> only to update the virtual + screen. It uses the terminal description's "<STRONG>it</STRONG>" (<STRONG>init_tabs</STRONG>) + capability for computing hardware tabs (that is, tab stops on the + physical screen). + + <STRONG>o</STRONG> Other implementations differ. For instance, NetBSD <EM>curses</EM> allows + <STRONG>TABSIZE</STRONG> to be set through an environment variable. <EM>ncurses</EM> does + not. + + NetBSD <EM>curses</EM> does not support hardware tabs; it uses the <STRONG>init_tabs</STRONG> + capability and the <STRONG>TABSIZE</STRONG> variable only for updating the virtual screen. - <STRONG>ESCDELAY</STRONG> is an extension in AIX curses: + <STRONG>ESCDELAY</STRONG> is a feature of AIX <EM>curses</EM>. - <STRONG>o</STRONG> In AIX, the units for <STRONG>ESCDELAY</STRONG> are <EM>fifths</EM> of a millisecond. + <STRONG>o</STRONG> In AIX, the units for <STRONG>ESCDELAY</STRONG> are <EM>fifths</EM> of milliseconds. - <STRONG>o</STRONG> The default value for AIX's <STRONG>ESCDELAY</STRONG> is 0.1 seconds. + <STRONG>o</STRONG> The default value for AIX's <STRONG>ESCDELAY</STRONG> equals 0.1 seconds. - <STRONG>o</STRONG> AIX also enforces a limit of 10,000 seconds for <STRONG>ESCDELAY</STRONG>; this im- - plementation currently has no upper limit. + <STRONG>o</STRONG> AIX also enforces a limit of 10,000 seconds for <STRONG>ESCDELAY</STRONG>; <EM>ncurses</EM> + does not enforce any upper limit. - This implementation has long used <STRONG>ESCDELAY</STRONG> with units of milliseconds, - making it impossible to be completely compatible with AIX. Likewise, - most users have either decided to override the value, or rely upon its - default value. + <EM>ncurses</EM> has long used <STRONG>ESCDELAY</STRONG> with units of milliseconds, making it + impossible to be completely compatible with AIX. Consequently, most + users have decided either to override the value, or to rely upon its + default. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <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_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>, - <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>, <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, + <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> + + [UAX #29] "Unicode Standard Annex #29: Unicode Text Segmentation"; + <https://unicode.org/reports/tr29/> - <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> +ncurses 6.5 2024-04-13 <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> </PRE> <div class="nav"> <ul> <li><a href="#h2-NAME">NAME</a></li> <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> -<li><a href="#h2-DESCRIPTION">DESCRIPTION</a> +<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> +<li><a href="#h2-CONSTANTS">CONSTANTS</a> <ul> -<li><a href="#h3-COLOR_PAIRS">COLOR_PAIRS</a></li> +<li><a href="#h3-TRUE_FALSE">TRUE, FALSE</a></li> +<li><a href="#h3-ERR_OK">ERR, OK</a></li> +</ul> +</li> +<li><a href="#h2-PREDEFINED-TYPES">PREDEFINED TYPES</a> +<ul> +<li><a href="#h3-bool">bool</a></li> +<li><a href="#h3-chtype">chtype</a></li> +<li><a href="#h3-cchar_t_attr_t">cchar_t, attr_t</a></li> +<li><a href="#h3-SCREEN">SCREEN</a></li> +<li><a href="#h3-WINDOW">WINDOW</a></li> +</ul> +</li> +<li><a href="#h2-VARIABLES">VARIABLES</a> +<ul> +<li><a href="#h3-curscr_stdscr_newscr">curscr, stdscr, newscr</a></li> <li><a href="#h3-COLORS">COLORS</a></li> -<li><a href="#h3-COLS">COLS</a></li> +<li><a href="#h3-COLOR_PAIRS">COLOR_PAIRS</a></li> +<li><a href="#h3-COLS_LINES">COLS, LINES</a></li> <li><a href="#h3-ESCDELAY">ESCDELAY</a></li> -<li><a href="#h3-LINES">LINES</a></li> <li><a href="#h3-TABSIZE">TABSIZE</a></li> -<li><a href="#h3-The-Current-Screen">The Current Screen</a></li> -<li><a href="#h3-The-New-Screen">The New Screen</a></li> -<li><a href="#h3-The-Standard-Screen">The Standard Screen</a></li> </ul> </li> <li><a href="#h2-NOTES">NOTES</a></li> diff --git a/doc/html/man/curs_window.3x.html b/doc/html/man/curs_window.3x.html index 786ca4f93fe9..ea99659ecf62 100644 --- a/doc/html/man/curs_window.3x.html +++ b/doc/html/man/curs_window.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2020 Thomas E. Dickey * + * Copyright 2020-2023,2024 Thomas E. Dickey * * Copyright 1998-2015,2016 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,28 +27,28 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_window.3x,v 1.21 2020/02/02 23:34:34 tom Exp @ + * @Id: curs_window.3x,v 1.48 2024/04/20 21:20:07 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>curs_window 3x</TITLE> +<TITLE>curs_window 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">curs_window 3x</H1> +<H1 class="no-header">curs_window 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> +<STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>newwin</STRONG>, <STRONG>delwin</STRONG>, <STRONG>mvwin</STRONG>, <STRONG>subwin</STRONG>, <STRONG>derwin</STRONG>, <STRONG>mvderwin</STRONG>, <STRONG>dupwin</STRONG>, <STRONG>wsyncup</STRONG>, - <STRONG>syncok</STRONG>, <STRONG>wcursyncup</STRONG>, <STRONG>wsyncdown</STRONG> - create <STRONG>curses</STRONG> windows + <STRONG>newwin</STRONG>, <STRONG>delwin</STRONG>, <STRONG>mvwin</STRONG>, <STRONG>subwin</STRONG>, <STRONG>derwin</STRONG>, <STRONG>mvderwin</STRONG>, <STRONG>dupwin</STRONG>, <STRONG>wsyncup</STRONG>, + <STRONG>syncok</STRONG>, <STRONG>wcursyncup</STRONG>, <STRONG>wsyncdown</STRONG> - create and manipulate <EM>curses</EM> windows </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -88,11 +88,19 @@ A new full-screen window is created by calling <STRONG>newwin(0,0,0,0)</STRONG>. + Regardless of the function used for creating a new window (e.g., + <STRONG>newwin</STRONG>, <STRONG>subwin</STRONG>, <STRONG>derwin</STRONG>, <STRONG>newpad</STRONG>), rather than a duplicate (with <STRONG>dupwin</STRONG>), + all of the window modes are initialized to the default values. These + functions set window modes after a window is created: + + <STRONG>idcok</STRONG> <STRONG>idlok</STRONG> <STRONG>immedok</STRONG> <STRONG>keypad</STRONG> <STRONG>leaveok</STRONG> <STRONG>nodelay</STRONG> <STRONG>scrollok</STRONG> <STRONG>setscrreg</STRONG> + <STRONG>syncok</STRONG> <STRONG>wbkgdset</STRONG> <STRONG>wbkgrndset</STRONG> and <STRONG>wtimeout</STRONG>. + </PRE><H3><a name="h3-delwin">delwin</a></H3><PRE> Calling <STRONG>delwin</STRONG> deletes the named window, freeing all memory associated - with it (it does not actually erase the window's screen image). Sub- - windows must be deleted before the main window can be deleted. + with it (it does not actually erase the window's screen image). + Subwindows must be deleted before the main window can be deleted. </PRE><H3><a name="h3-mvwin">mvwin</a></H3><PRE> @@ -106,19 +114,22 @@ Calling <STRONG>subwin</STRONG> creates and returns a pointer to a new window with the given number of lines, <EM>nlines</EM>, and columns, <EM>ncols</EM>. The window is at position (<EM>begin</EM>_<EM>y</EM>, <EM>begin</EM>_<EM>x</EM>) on the screen. The subwindow shares memory - with the window <EM>orig</EM>, so that changes made to one window will affect - both windows. When using this routine, it is necessary to call <STRONG>touch-</STRONG> - <STRONG>win</STRONG> or <STRONG>touchline</STRONG> on <EM>orig</EM> before calling <STRONG>wrefresh</STRONG> on the subwindow. + with the window <EM>orig</EM>, its <EM>ancestor</EM>, so that changes made to one window + will affect both windows. When using this routine, it is necessary to + call <STRONG>touchwin</STRONG> or <STRONG>touchline</STRONG> on <EM>orig</EM> before calling <STRONG>wrefresh</STRONG> on the + subwindow. </PRE><H3><a name="h3-derwin">derwin</a></H3><PRE> - Calling <STRONG>derwin</STRONG> is the same as calling <STRONG>subwin,</STRONG> except that <EM>begin</EM>_<EM>y</EM> and - <EM>begin</EM>_<EM>x</EM> are relative to the origin of the window <EM>orig</EM> rather than the - screen. There is no difference between the subwindows and the derived + Calling <STRONG>derwin</STRONG> is the same as calling <STRONG>subwin,</STRONG> except that <EM>begin</EM>_<EM>y</EM> and + <EM>begin</EM>_<EM>x</EM> are relative to the origin of the window <EM>orig</EM> rather than the + screen. There is no difference between the subwindows and the derived windows. - Calling <STRONG>mvderwin</STRONG> moves a derived window (or subwindow) inside its par- - ent window. The screen-relative parameters of the window are not + +</PRE><H3><a name="h3-mvderwin">mvderwin</a></H3><PRE> + Calling <STRONG>mvderwin</STRONG> moves a derived window (or subwindow) inside its + parent window. The screen-relative parameters of the window are not changed. This routine is used to display different parts of the parent window at the same physical position on the screen. @@ -128,106 +139,124 @@ </PRE><H3><a name="h3-wsyncup">wsyncup</a></H3><PRE> - Calling <STRONG>wsyncup</STRONG> touches all locations in ancestors of <EM>win</EM> that are - changed in <EM>win</EM>. If <STRONG>syncok</STRONG> is called with second argument <STRONG>TRUE</STRONG> then - <STRONG>wsyncup</STRONG> is called automatically whenever there is a change in the win- - dow. + Calling <STRONG>wsyncup</STRONG> touches all locations in ancestors of <EM>win</EM> that are + changed in <EM>win</EM>. If <STRONG>syncok</STRONG> is called with second argument <STRONG>TRUE</STRONG> then + <STRONG>wsyncup</STRONG> is called automatically whenever there is a change in the + window. </PRE><H3><a name="h3-wsyncdown">wsyncdown</a></H3><PRE> - The <STRONG>wsyncdown</STRONG> routine touches each location in <EM>win</EM> that has been - touched in any of its ancestor windows. This routine is called by <STRONG>wre-</STRONG> - <STRONG>fresh</STRONG>, so it should almost never be necessary to call it manually. + The <STRONG>wsyncdown</STRONG> routine touches each location in <EM>win</EM> that has been + touched in any of its ancestor windows. This routine is called by + <STRONG>wrefresh</STRONG>, so it should almost never be necessary to call it manually. </PRE><H3><a name="h3-wcursyncup">wcursyncup</a></H3><PRE> - The routine <STRONG>wcursyncup</STRONG> updates the current cursor position of all the - ancestors of the window to reflect the current cursor position of the + The routine <STRONG>wcursyncup</STRONG> updates the current cursor position of all the + ancestors of the window to reflect the current cursor position of the window. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> Routines that return an integer return the integer <STRONG>ERR</STRONG> upon failure and - <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other than <STRONG>ERR</STRONG>") upon suc- - cessful completion. + <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other than <STRONG>ERR</STRONG>") upon + successful completion. Routines that return pointers return <STRONG>NULL</STRONG> on error. X/Open defines no error conditions. In this implementation <STRONG>delwin</STRONG> - returns an error if the window pointer is null, or if the window + returns an error if the window pointer is null, or if the window is the parent of another window. <STRONG>derwin</STRONG> - returns an error if the parent window pointer is null, or if any - of its ordinates or dimensions is negative, or if the resulting + returns an error if the parent window pointer is null, or if any + of its ordinates or dimensions is negative, or if the resulting window does not fit inside the parent window. <STRONG>dupwin</STRONG> returns an error if the window pointer is null. - This implementation also maintains a list of windows, and checks - that the pointer passed to <STRONG>delwin</STRONG> is one that it created, return- - ing an error if it was not.. + This implementation also maintains a list of windows, and checks + that the pointer passed to <STRONG>delwin</STRONG> is one that it created, + returning an error if it was not.. <STRONG>mvderwin</STRONG> returns an error if the window pointer is null, or if some part of the window would be placed off-screen. <STRONG>mvwin</STRONG> - returns an error if the window pointer is null, or if the window - is really a pad, or if some part of the window would be placed + returns an error if the window pointer is null, or if the window + is really a pad, or if some part of the window would be placed off-screen. <STRONG>newwin</STRONG> - will fail if either of its beginning ordinates is negative, or if + will fail if either of its beginning ordinates is negative, or if either the number of lines or columns is negative. <STRONG>syncok</STRONG> returns an error if the window pointer is null. <STRONG>subwin</STRONG> - returns an error if the parent window pointer is null, or if any - of its ordinates or dimensions is negative, or if the resulting + returns an error if the parent window pointer is null, or if any + of its ordinates or dimensions is negative, or if the resulting window does not fit inside the parent window. - The functions which return a window pointer may also fail if there is - insufficient memory for its data structures. Any of these functions + The functions which return a window pointer may also fail if there is + insufficient memory for its data structures. Any of these functions will fail if the screen has not been initialized, i.e., with <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>. </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - If many small changes are made to the window, the <STRONG>wsyncup</STRONG> option could + If many small changes are made to the window, the <STRONG>wsyncup</STRONG> option could degrade performance. Note that <STRONG>syncok</STRONG> may be a macro. -</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE> - The subwindow functions (<STRONG>subwin</STRONG>, <STRONG>derwin</STRONG>, <STRONG>mvderwin</STRONG>, <STRONG>wsyncup</STRONG>, <STRONG>wsyncdown</STRONG>, - <STRONG>wcursyncup</STRONG>, <STRONG>syncok</STRONG>) are flaky, incompletely implemented, and not well - tested. +</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> + X/Open Curses, Issue 4 describes these functions. - The System V curses documentation is very unclear about what <STRONG>wsyncup</STRONG> - and <STRONG>wsyncdown</STRONG> actually do. It seems to imply that they are only sup- - posed to touch exactly those lines that are affected by ancestor - changes. The language here, and the behavior of the <STRONG>curses</STRONG> implementa- - tion, is patterned on the XPG4 curses standard. The weaker XPG4 spec - may result in slower updates. + X/Open Curses states regarding <STRONG>delwin</STRONG>: + <STRONG>o</STRONG> It must delete subwindows before deleting their parent. -</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - The XSI Curses standard, Issue 4 describes these functions. + <STRONG>o</STRONG> If <STRONG>delwin</STRONG> is asked to delete a parent window, it can only succeed + if the curses library keeps a list of the subwindows. SVr4 curses + kept a count of the number of subwindows rather than a list. It + simply returned <STRONG>ERR</STRONG> when asked to delete a subwindow. Solaris + X/Open curses does not even make that check, and will delete a + parent window which still has subwindows. + + <STRONG>o</STRONG> Since release 4.0 (1996), <EM>ncurses</EM> maintains a list of windows for + each screen, to ensure that a window has no subwindows before + allowing deletion. + + <STRONG>o</STRONG> NetBSD copied this feature of <EM>ncurses</EM> in 2003. + PDCurses follows the scheme used in Solaris X/Open curses. + + +</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE> + The subwindow functions <STRONG>subwin</STRONG>, <STRONG>derwin</STRONG>, <STRONG>mvderwin</STRONG>, <STRONG>wsyncup</STRONG>, <STRONG>wsyncdown</STRONG>, + <STRONG>wcursyncup</STRONG>, and <STRONG>syncok</STRONG> are flaky, incompletely implemented, and not + well tested. + + System V's <EM>curses</EM> documentation is unclear about what <STRONG>wsyncup</STRONG> and + <STRONG>wsyncdown</STRONG> actually do. It seems to imply that they are supposed to + touch only those lines that are affected by changes to a window's + ancestors. The language here, and behavior of <EM>ncurses</EM>, is patterned on + the X/Open Curses standard; this approach may result in slower updates. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>, + <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> - <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -240,6 +269,7 @@ <li><a href="#h3-mvwin">mvwin</a></li> <li><a href="#h3-subwin">subwin</a></li> <li><a href="#h3-derwin">derwin</a></li> +<li><a href="#h3-mvderwin">mvderwin</a></li> <li><a href="#h3-dupwin">dupwin</a></li> <li><a href="#h3-wsyncup">wsyncup</a></li> <li><a href="#h3-wsyncdown">wsyncdown</a></li> @@ -248,8 +278,8 @@ </li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> <li><a href="#h2-NOTES">NOTES</a></li> -<li><a href="#h2-BUGS">BUGS</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-BUGS">BUGS</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> diff --git a/doc/html/man/default_colors.3x.html b/doc/html/man/default_colors.3x.html index bb525b37205e..14a0f8e36507 100644 --- a/doc/html/man/default_colors.3x.html +++ b/doc/html/man/default_colors.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 2000-2011,2016 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,28 +28,28 @@ * authorization. * **************************************************************************** * Author: Thomas E. Dickey 1997,1999,2000,2005 - * @Id: default_colors.3x,v 1.31 2020/12/19 21:38:37 tom Exp @ + * @Id: default_colors.3x,v 1.52 2024/04/13 22:17:22 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>default_colors 3x</TITLE> +<TITLE>default_colors 3x 2024-04-13 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">default_colors 3x</H1> +<H1 class="no-header">default_colors 3x 2024-04-13 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> +<STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> Library calls <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> <STRONG>use_default_colors</STRONG>, <STRONG>assume_default_colors</STRONG> - use terminal's default - colors + colors in <EM>curses</EM> </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -90,15 +90,15 @@ <EM>use</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors();</EM> <EM>assume</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors(-1,-1);</EM> - These are ncurses extensions. For other curses implementations, color - number -1 does not mean anything, just as for ncurses before a + These are <EM>ncurses</EM> extensions. For other curses implementations, color + number -1 does not mean anything, just as for <EM>ncurses</EM> before a successful call of <STRONG>use_default_colors</STRONG> or <STRONG>assume_default_colors</STRONG>. Other curses implementations do not allow an application to modify color pair 0. They assume that the background is COLOR_BLACK, but do not ensure that the color pair 0 is painted to match the assumption. If your application does not use either <STRONG>use_default_colors</STRONG> or - <STRONG>assume_default_colors</STRONG> ncurses will paint a white foreground (text) with + <STRONG>assume_default_colors</STRONG> <EM>ncurses</EM> will paint a white foreground (text) with black background for color pair 0. @@ -113,7 +113,7 @@ Associated with this extension, the <STRONG>init_pair</STRONG> function accepts negative arguments to specify default foreground or background colors. - The <STRONG>use_default_colors</STRONG> function was added to support <EM>ded</EM>. This is a + The <STRONG>use_default_colors</STRONG> function was added to support <STRONG>ded</STRONG>. This is a full-screen application which uses curses to manage only part of the screen. The bottom portion of the screen, which is of adjustable size, is left uncolored to display the results from shell commands. The top @@ -134,22 +134,22 @@ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines are specific to ncurses. They were not supported on + These routines are specific to <EM>ncurses</EM>. They were not supported on Version 7, BSD or System V implementations. It is recommended that any code depending on them be conditioned using NCURSES_VERSION. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG>ded(1)</STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE> +</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE> Thomas Dickey (from an analysis of the requirements for color xterm for XFree86 3.1.2C, February 1996). +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG>ded(1)</STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> + + - <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> +ncurses 6.5 2024-04-13 <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -159,8 +159,8 @@ <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> <li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-AUTHORS">AUTHORS</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-AUTHOR">AUTHOR</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/define_key.3x.html b/doc/html/man/define_key.3x.html index a0f81a5590f4..d135e3109948 100644 --- a/doc/html/man/define_key.3x.html +++ b/doc/html/man/define_key.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,27 +28,27 @@ * authorization. * **************************************************************************** * Author: Thomas E. Dickey 1997 - * @Id: define_key.3x,v 1.18 2020/10/24 09:52:54 tom Exp @ + * @Id: define_key.3x,v 1.42 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>define_key 3x</TITLE> +<TITLE>define_key 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">define_key 3x</H1> +<H1 class="no-header">define_key 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> +<STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> Library calls <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>define_key</STRONG> - define a keycode + <STRONG>define_key</STRONG> - define a <EM>curses</EM> keycode </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -58,39 +58,39 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - This is an extension to the curses library. It permits an application + This is an extension to the <EM>curses</EM> library. It permits an application to define keycodes with their corresponding control strings, so that - the ncurses library will interpret them just as it would the predefined + the <EM>ncurses</EM> library will interpret them just as it would the predefined codes in the terminfo database. - If the given string is null, any existing definition for the keycode is - removed. Similarly, if the given keycode is negative or zero, any - existing string for the given definition is removed. + If <EM>definition</EM> is <STRONG>NULL</STRONG>, any existing one for the keycode is removed. + Similarly, if the given keycode is negative or zero, any existing + string for the given definition is removed. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - The keycode must be greater than zero, and the string non-null, - otherwise <STRONG>ERR</STRONG> is returned. <STRONG>ERR</STRONG> may also be returned if there is + Either <EM>keycode</EM> must be greater than zero, or <EM>definition</EM> must be non- + <STRONG>NULL</STRONG>, otherwise <STRONG>ERR</STRONG> is returned. <STRONG>ERR</STRONG> may also be returned if there is insufficient memory to allocate the data to store the definition. If no error is detected, <STRONG>OK</STRONG> is returned. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines are specific to ncurses. They were not supported on + These routines are specific to <EM>ncurses</EM>. They were not supported on Version 7, BSD or System V implementations. It is recommended that any - code depending on them be conditioned using NCURSES_VERSION. + code depending on them be conditioned using <STRONG>NCURSES_VERSION</STRONG>. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>, <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>. +</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE> + Thomas Dickey -</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE> - Thomas Dickey. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>, <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG> - <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -99,8 +99,8 @@ <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-AUTHORS">AUTHORS</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-AUTHOR">AUTHOR</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/form.3x.html b/doc/html/man/form.3x.html index 8b10dfa52660..fcdb7af1f5a7 100644 --- a/doc/html/man/form.3x.html +++ b/doc/html/man/form.3x.html @@ -1,7 +1,7 @@ -<!-- +<!-- * t **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +28,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: form.3x,v 1.36 2020/12/12 16:34:33 tom Exp @ + * @Id: form.3x,v 1.54 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>form 3x</TITLE> +<TITLE>form 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">form 3x</H1> +<H1 class="no-header">form 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="form.3x.html">form(3x)</A></STRONG> <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG> +<STRONG><A HREF="form.3x.html">form(3x)</A></STRONG> Library calls <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG> @@ -85,8 +85,8 @@ </PRE><H3><a name="h3-Routine-Name-Index">Routine Name Index</a></H3><PRE> The following table lists each <STRONG>form</STRONG> routine and the name of the manual - page on which it is described. Routines flagged with "*" are ncurses- - specific, not present in SVr4. + page on which it is described. Routines flagged with "*" are + <EM>ncurses</EM>-specific, not present in SVr4. <STRONG>curses</STRONG> Routine Name Manual Page Name -------------------------------------------------- @@ -211,48 +211,41 @@ </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><form.h></STRONG> automatically includes the header files - <STRONG><curses.h></STRONG> and <STRONG><eti.h></STRONG>. - - In your library list, libform.a should be before libncurses.a; that is, - you want to say "-lform -lncurses", not the other way around (which - would give you a link error when using static libraries). + The header file <EM>form.h</EM> itself includes <EM>curses.h</EM>. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V forms library. They were not + These routines emulate the System V forms library. They were not supported on Version 7 or BSD versions. - The menu facility was documented in SVr4.2 in <EM>Character</EM> <EM>User</EM> <EM>Interface</EM> - <EM>Programming</EM> <EM>(UNIX</EM> <EM>SVR4.2)</EM>. + A form facility was documented in SVr4.2's <EM>Character</EM> <EM>User</EM> <EM>Interface</EM> + <EM>Programming</EM> document. It is not part of X/Open Curses. - Aside from ncurses, there are few implementations: + Aside from <EM>ncurses</EM>, there are few implementations: <STRONG>o</STRONG> systems based on SVr4 source code, e.g., Solaris. <STRONG>o</STRONG> NetBSD curses. - A few functions in this implementation are extensions added for - ncurses, but not provided by other implementations, e.g., + A few functions in this implementation are extensions added for + <EM>ncurses</EM>, but not provided by other implementations, e.g., <STRONG>form_driver_w</STRONG>, <STRONG>unfocus_current_field</STRONG>. </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE> - Juergen Pfeifer. Manual pages and adaptation for ncurses by Eric S. + Juergen Pfeifer. Manual pages and adaptation for <EM>ncurses</EM> by Eric S. Raymond. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed descriptions of the entry points. - This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109). - - <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG> </PRE> <div class="nav"> <ul> diff --git a/doc/html/man/form_cursor.3x.html b/doc/html/man/form_cursor.3x.html index 622ab149d1b9..5844dd58d9d2 100644 --- a/doc/html/man/form_cursor.3x.html +++ b/doc/html/man/form_cursor.3x.html @@ -1,7 +1,7 @@ -<!-- +<!-- * t **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +28,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: form_cursor.3x,v 1.14 2020/10/18 00:15:29 tom Exp @ + * @Id: form_cursor.3x,v 1.31 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>form_cursor 3x</TITLE> +<TITLE>form_cursor 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">form_cursor 3x</H1> +<H1 class="no-header">form_cursor 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG> <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG> +<STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG> Library calls <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG> @@ -79,17 +79,8 @@ System error occurred (see <STRONG>errno(3)</STRONG>). -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><form.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V forms library. They were not + These routines emulate the System V forms library. They were not supported on Version 7 or BSD versions. @@ -98,8 +89,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG> + + - <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -107,10 +102,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/form_data.3x.html b/doc/html/man/form_data.3x.html index c43be785c944..2f1dc3b9016c 100644 --- a/doc/html/man/form_data.3x.html +++ b/doc/html/man/form_data.3x.html @@ -1,7 +1,7 @@ -<!-- +<!-- * t **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +28,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: form_data.3x,v 1.15 2020/10/18 00:15:00 tom Exp @ + * @Id: form_data.3x,v 1.32 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>form_data 3x</TITLE> +<TITLE>form_data 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">form_data 3x</H1> +<H1 class="no-header">form_data 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG> <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG> +<STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG> Library calls <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG> @@ -66,17 +66,8 @@ in the given form. It returns TRUE (1) or FALSE (0). -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><form.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V forms library. They were not + These routines emulate the System V forms library. They were not supported on Version 7 or BSD versions. @@ -85,18 +76,21 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG> + + - <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG> </PRE> <div class="nav"> <ul> <li><a href="#h2-NAME">NAME</a></li> <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/form_driver.3x.html b/doc/html/man/form_driver.3x.html index 38e9603ca4fa..859c291a77bb 100644 --- a/doc/html/man/form_driver.3x.html +++ b/doc/html/man/form_driver.3x.html @@ -1,6 +1,7 @@ -<!-- +<!-- + * t **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,21 +28,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: form_driver.3x,v 1.35 2020/12/19 21:34:15 tom Exp @ + * @Id: form_driver.3x,v 1.61 2024/04/20 18:55:09 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>form_driver 3x</TITLE> +<TITLE>form_driver 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">form_driver 3x</H1> +<H1 class="no-header">form_driver 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG> <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG> +<STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG> Library calls <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG> @@ -54,7 +55,7 @@ <STRONG>#include</STRONG> <STRONG><form.h></STRONG> <STRONG>int</STRONG> <STRONG>form_driver(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>form_driver_w(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <EM>wch</EM><STRONG>);</STRONG> + <STRONG>int</STRONG> <STRONG>form_driver_w(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <EM>wc</EM><STRONG>);</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> @@ -83,77 +84,77 @@ character or a request. -</PRE><H3><a name="h3-Form-driver-requests">Form-driver requests</a></H3><PRE> +</PRE><H3><a name="h3-Form-Driver-Requests">Form Driver Requests</a></H3><PRE> The form driver requests are as follows: - <EM>Name</EM> <EM>Description</EM> - --------------------------------------------------------------------- - REQ_BEG_FIELD Move to the beginning of the field. - REQ_BEG_LINE Move to the beginning of the line. - REQ_CLR_EOF Clear to end of field from cursor. - REQ_CLR_EOL Clear to end of line from cursor. - REQ_CLR_FIELD Clear the entire field. - REQ_DEL_CHAR Delete character at the cursor. - REQ_DEL_LINE Delete line at the cursor. - REQ_DEL_PREV Delete character before the cursor. - REQ_DEL_WORD Delete blank-delimited word at the cursor. - REQ_DOWN_CHAR Move down in the field. - REQ_DOWN_FIELD Move down to a field. - REQ_END_FIELD Move to the end of the field. - REQ_END_LINE Move to the end of the line. - REQ_FIRST_FIELD Move to the first field. - REQ_FIRST_PAGE Move to the first page. - REQ_INS_CHAR Insert a blank at the cursor. - REQ_INS_LINE Insert a blank line at the cursor. - REQ_INS_MODE Enter insert mode. - REQ_LAST_FIELD Move to the last field. - REQ_LAST_PAGE Move to the last field. - REQ_LEFT_CHAR Move left in the field. - REQ_LEFT_FIELD Move left to a field. - REQ_NEW_LINE Insert or overlay a new line. - REQ_NEXT_CHAR Move to the next char. - - REQ_NEXT_CHOICE Display next field choice. - REQ_NEXT_FIELD Move to the next field. - REQ_NEXT_LINE Move to the next line. - REQ_NEXT_PAGE Move to the next page. - REQ_NEXT_PAGE Move to the next page. - REQ_NEXT_WORD Move to the next word. - REQ_OVL_MODE Enter overlay mode. - REQ_PREV_CHAR Move to the previous char. - REQ_PREV_CHOICE Display previous field choice. - REQ_PREV_FIELD Move to the previous field. - REQ_PREV_LINE Move to the previous line. - REQ_PREV_PAGE Move to the previous page. - REQ_PREV_WORD Move to the previous word. - REQ_RIGHT_CHAR Move right in the field. - REQ_RIGHT_FIELD Move right to a field. - REQ_SCR_BCHAR Scroll the field backward a character. - REQ_SCR_BHPAGE Scroll the field backward half a page. - REQ_SCR_BLINE Scroll the field backward a line. - REQ_SCR_BPAGE Scroll the field backward a page. - REQ_SCR_FCHAR Scroll the field forward a character. - REQ_SCR_FHPAGE Scroll the field forward half a page. - REQ_SCR_FLINE Scroll the field forward a line. - REQ_SCR_FPAGE Scroll the field forward a page. - REQ_SCR_HBHALF Horizontal scroll the field backward half a line. - REQ_SCR_HBLINE Horizontal scroll the field backward a line. - REQ_SCR_HFHALF Horizontal scroll the field forward half a line. - REQ_SCR_HFLINE Horizontal scroll the field forward a line. - REQ_SFIRST_FIELD Move to the sorted first field. - REQ_SLAST_FIELD Move to the sorted last field. - REQ_SNEXT_FIELD Move to the sorted next field. - REQ_SPREV_FIELD Move to the sorted previous field. - REQ_UP_CHAR Move up in the field. - REQ_UP_FIELD Move up to a field. - REQ_VALIDATION Validate field. + <STRONG>Name</STRONG> <STRONG>Description</STRONG> + ------------------------------------------------------------------------ + <STRONG>REQ_BEG_FIELD</STRONG> Move to beginning of field. + <STRONG>REQ_BEG_LINE</STRONG> Move to beginning of the line. + <STRONG>REQ_CLR_EOF</STRONG> Clear to end of field from cursor. + <STRONG>REQ_CLR_EOL</STRONG> Clear to end of line from cursor. + <STRONG>REQ_CLR_FIELD</STRONG> Clear the entire field. + <STRONG>REQ_DEL_CHAR</STRONG> Delete character at the cursor. + <STRONG>REQ_DEL_LINE</STRONG> Delete line at the cursor. + <STRONG>REQ_DEL_PREV</STRONG> Delete character before the cursor. + <STRONG>REQ_DEL_WORD</STRONG> Delete blank-delimited word at cursor. + <STRONG>REQ_DOWN_CHAR</STRONG> Move down in field. + <STRONG>REQ_DOWN_FIELD</STRONG> Move down to a field. + <STRONG>REQ_END_FIELD</STRONG> Move to the end of field. + <STRONG>REQ_END_LINE</STRONG> Move to the end of the line. + <STRONG>REQ_FIRST_FIELD</STRONG> Move to the first field. + <STRONG>REQ_FIRST_PAGE</STRONG> Move to the first page. + <STRONG>REQ_INS_CHAR</STRONG> Insert a blank at the cursor. + <STRONG>REQ_INS_LINE</STRONG> Insert a blank line at the cursor. + <STRONG>REQ_INS_MODE</STRONG> Enter insert mode. + <STRONG>REQ_LAST_FIELD</STRONG> Move to the last field. + <STRONG>REQ_LAST_PAGE</STRONG> Move to the last field. + <STRONG>REQ_LEFT_CHAR</STRONG> Move left in field. + <STRONG>REQ_LEFT_FIELD</STRONG> Move left to a field. + <STRONG>REQ_NEW_LINE</STRONG> Insert or overlay a new line. + <STRONG>REQ_NEXT_CHAR</STRONG> Move to the next char. + + <STRONG>REQ_NEXT_CHOICE</STRONG> Display next field choice. + <STRONG>REQ_NEXT_FIELD</STRONG> Move to the next field. + <STRONG>REQ_NEXT_LINE</STRONG> Move to the next line. + <STRONG>REQ_NEXT_PAGE</STRONG> Move to the next page. + <STRONG>REQ_NEXT_PAGE</STRONG> Move to the next page. + <STRONG>REQ_NEXT_WORD</STRONG> Move to the next word. + <STRONG>REQ_OVL_MODE</STRONG> Enter overlay mode. + <STRONG>REQ_PREV_CHAR</STRONG> Move to the previous char. + <STRONG>REQ_PREV_CHOICE</STRONG> Display previous field choice. + <STRONG>REQ_PREV_FIELD</STRONG> Move to the previous field. + <STRONG>REQ_PREV_LINE</STRONG> Move to the previous line. + <STRONG>REQ_PREV_PAGE</STRONG> Move to the previous page. + <STRONG>REQ_PREV_WORD</STRONG> Move to the previous word. + <STRONG>REQ_RIGHT_CHAR</STRONG> Move right in field. + <STRONG>REQ_RIGHT_FIELD</STRONG> Move right to a field. + <STRONG>REQ_SCR_BCHAR</STRONG> Scroll field backward 1 character. + <STRONG>REQ_SCR_BHPAGE</STRONG> Scroll field backward 1/2 page. + <STRONG>REQ_SCR_BLINE</STRONG> Scroll field backward 1 line. + <STRONG>REQ_SCR_BPAGE</STRONG> Scroll field backward 1 page. + <STRONG>REQ_SCR_FCHAR</STRONG> Scroll field forward 1 character. + <STRONG>REQ_SCR_FHPAGE</STRONG> Scroll field forward 1/2 page. + <STRONG>REQ_SCR_FLINE</STRONG> Scroll field forward 1 line. + <STRONG>REQ_SCR_FPAGE</STRONG> Scroll field forward 1 page. + <STRONG>REQ_SCR_HBHALF</STRONG> Horizontal scroll field backward 1/2 line. + <STRONG>REQ_SCR_HBLINE</STRONG> Horizontal scroll field backward 1 line. + <STRONG>REQ_SCR_HFHALF</STRONG> Horizontal scroll field forward 1/2 line. + <STRONG>REQ_SCR_HFLINE</STRONG> Horizontal scroll field forward 1 line. + <STRONG>REQ_SFIRST_FIELD</STRONG> Move to the sorted first field. + <STRONG>REQ_SLAST_FIELD</STRONG> Move to the sorted last field. + <STRONG>REQ_SNEXT_FIELD</STRONG> Move to the sorted next field. + <STRONG>REQ_SPREV_FIELD</STRONG> Move to the sorted previous field. + <STRONG>REQ_UP_CHAR</STRONG> Move up in field. + <STRONG>REQ_UP_FIELD</STRONG> Move up to a field. + <STRONG>REQ_VALIDATION</STRONG> Validate field. If the second argument is a printable character, the driver places it in the current position in the current field. If it is one of the forms requests listed above, that request is executed. -</PRE><H3><a name="h3-Field-validation">Field validation</a></H3><PRE> +</PRE><H3><a name="h3-Field-Validation">Field Validation</a></H3><PRE> The form library makes updates to the window associated with form fields rather than directly to the field buffers. @@ -180,7 +181,7 @@ data from the window associated with the field to the field buffer. -</PRE><H3><a name="h3-Mouse-handling">Mouse handling</a></H3><PRE> +</PRE><H3><a name="h3-Mouse-Handling">Mouse Handling</a></H3><PRE> If the second argument is the KEY_MOUSE special key, the associated mouse event is translated into one of the above pre-defined requests. Currently only clicks in the user window (e.g., inside the form display @@ -220,7 +221,7 @@ translated into a form request an <STRONG>E_REQUEST_DENIED</STRONG> is returned. -</PRE><H3><a name="h3-Application-defined-commands">Application-defined commands</a></H3><PRE> +</PRE><H3><a name="h3-Application-defined-Commands">Application-defined Commands</a></H3><PRE> If the second argument is neither printable nor one of the above pre- defined form requests, the driver assumes it is an application-specific command and returns <STRONG>E_UNKNOWN_COMMAND</STRONG>. Application-defined commands @@ -258,16 +259,6 @@ The form driver code saw an unknown request code. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>, <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>, - <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>, <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><form.h></STRONG> automatically includes the header files - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> These routines emulate the System V forms library. They were not supported on Version 7 or BSD versions. @@ -278,8 +269,13 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>, <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>, + <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>, <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG> + - <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG> + +ncurses 6.5 2024-04-20 <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -289,17 +285,16 @@ <ul> <li><a href="#h3-form_driver">form_driver</a></li> <li><a href="#h3-form_driver_w">form_driver_w</a></li> -<li><a href="#h3-Form-driver-requests">Form-driver requests</a></li> -<li><a href="#h3-Field-validation">Field validation</a></li> -<li><a href="#h3-Mouse-handling">Mouse handling</a></li> -<li><a href="#h3-Application-defined-commands">Application-defined commands</a></li> +<li><a href="#h3-Form-Driver-Requests">Form Driver Requests</a></li> +<li><a href="#h3-Field-Validation">Field Validation</a></li> +<li><a href="#h3-Mouse-Handling">Mouse Handling</a></li> +<li><a href="#h3-Application-defined-Commands">Application-defined Commands</a></li> </ul> </li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/form_field.3x.html b/doc/html/man/form_field.3x.html index 40ac7f2799b5..8eb58d4c62a2 100644 --- a/doc/html/man/form_field.3x.html +++ b/doc/html/man/form_field.3x.html @@ -1,7 +1,7 @@ -<!-- +<!-- * t **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2012 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +28,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: form_field.3x,v 1.17 2020/10/24 09:10:45 tom Exp @ + * @Id: form_field.3x,v 1.34 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>form_field 3x</TITLE> +<TITLE>form_field 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">form_field 3x</H1> +<H1 class="no-header">form_field 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG> <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG> +<STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG> @@ -96,20 +96,11 @@ System error occurred (see <STRONG>errno(3)</STRONG>). -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><form.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V forms library. They were not + These routines emulate the System V forms library. They were not supported on Version 7 or BSD versions. - The SVr4 forms library documentation specifies the <STRONG>field_count</STRONG> error + The SVr4 forms library documentation specifies the <STRONG>field_count</STRONG> error value as -1 (which is the value of <STRONG>ERR</STRONG>). @@ -118,8 +109,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG> + + - <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -127,10 +122,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/form_field_attributes.3x.html b/doc/html/man/form_field_attributes.3x.html index 6239181d9628..22afdc67971d 100644 --- a/doc/html/man/form_field_attributes.3x.html +++ b/doc/html/man/form_field_attributes.3x.html @@ -1,7 +1,7 @@ -<!-- +<!-- * t **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2006,2010 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +28,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: form_field_attributes.3x,v 1.18 2020/10/18 00:14:20 tom Exp @ + * @Id: form_field_attributes.3x,v 1.35 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>form_field_attributes 3x</TITLE> +<TITLE>form_field_attributes 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">form_field_attributes 3x</H1> +<H1 class="no-header">form_field_attributes 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG> <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG> +<STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG> @@ -92,16 +92,6 @@ System error occurred (see <STRONG>errno(3)</STRONG>). -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed - descriptions of the entry points. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><form.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> These routines emulate the System V forms library. They were not supported on Version 7 or BSD versions. @@ -112,8 +102,13 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed + descriptions of the entry points. + - <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG> + +ncurses 6.5 2024-03-16 <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -121,10 +116,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/form_field_buffer.3x.html b/doc/html/man/form_field_buffer.3x.html index 31fb08b95bf0..47d6c8b3e421 100644 --- a/doc/html/man/form_field_buffer.3x.html +++ b/doc/html/man/form_field_buffer.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: form_field_buffer.3x,v 1.27 2020/10/24 09:27:17 tom Exp @ + * @Id: form_field_buffer.3x,v 1.45 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>form_field_buffer 3x</TITLE> +<TITLE>form_field_buffer 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">form_field_buffer 3x</H1> +<H1 class="no-header">form_field_buffer 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG> <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG> +<STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG> @@ -126,26 +125,19 @@ Routine detected an incorrect or out-of-range argument. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed - descriptions of the entry points. - - </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><form.h></STRONG> automatically includes the header file - - When configured for wide characters, <STRONG>field_buffer</STRONG> returns a pointer to - temporary storage (allocated and freed by the library). The + When configured for wide characters, <STRONG>field_buffer</STRONG> returns a pointer to + temporary storage (allocated and freed by the library). The application should not attempt to modify the data. It will be freed on - the next call to <STRONG>field_buffer</STRONG> to return the same buffer. <STRONG><curses.h></STRONG>. + the next call to <STRONG>field_buffer</STRONG> to return the same buffer. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V forms library. They were not + These routines emulate the System V forms library. They were not supported on Version 7 or BSD versions. - The <STRONG>set_max_field</STRONG> function checks for an ncurses extension - <STRONG>O_INPUT_FIELD</STRONG> which allows a dynamic field to shrink if the new limit + The <STRONG>set_max_field</STRONG> function checks for an <EM>ncurses</EM> extension + <STRONG>O_INPUT_FIELD</STRONG> which allows a dynamic field to shrink if the new limit is smaller than the current field size. @@ -154,8 +146,13 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed + descriptions of the entry points. + - <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG> + +ncurses 6.5 2024-03-16 <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -163,10 +160,10 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> <li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/form_field_info.3x.html b/doc/html/man/form_field_info.3x.html index f967ff71dedc..2090ab669ced 100644 --- a/doc/html/man/form_field_info.3x.html +++ b/doc/html/man/form_field_info.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: form_field_info.3x,v 1.18 2020/10/17 23:35:05 tom Exp @ + * @Id: form_field_info.3x,v 1.32 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>form_field_info 3x</TITLE> +<TITLE>form_field_info 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">form_field_info 3x</H1> +<H1 class="no-header">form_field_info 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG> <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG> +<STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG> @@ -87,16 +86,6 @@ Routine detected an incorrect or out-of-range argument. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed - descriptions of the entry points. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><form.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> These routines emulate the System V forms library. They were not supported on Version 7 or BSD versions. @@ -111,8 +100,13 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed + descriptions of the entry points. + - <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG> + +ncurses 6.5 2024-03-16 <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -120,10 +114,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/form_field_just.3x.html b/doc/html/man/form_field_just.3x.html index 036da6dbabe2..f0bc457faf24 100644 --- a/doc/html/man/form_field_just.3x.html +++ b/doc/html/man/form_field_just.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: form_field_just.3x,v 1.18 2020/10/18 00:12:55 tom Exp @ + * @Id: form_field_just.3x,v 1.35 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>form_field_just 3x</TITLE> +<TITLE>form_field_just 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">form_field_just 3x</H1> +<H1 class="no-header">form_field_just 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG> <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG> +<STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG> @@ -80,16 +79,6 @@ Routine detected an incorrect or out-of-range argument. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed - descriptions of the entry points. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><form.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> These routines emulate the System V forms library. They were not supported on Version 7 or BSD versions. @@ -100,8 +89,13 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed + descriptions of the entry points. + - <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG> + +ncurses 6.5 2024-03-16 <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -109,10 +103,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/form_field_new.3x.html b/doc/html/man/form_field_new.3x.html index 7f4a0e4f95ab..c7bedd9a214c 100644 --- a/doc/html/man/form_field_new.3x.html +++ b/doc/html/man/form_field_new.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: form_field_new.3x,v 1.24 2020/10/24 09:09:18 tom Exp @ + * @Id: form_field_new.3x,v 1.41 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>form_field_new 3x</TITLE> +<TITLE>form_field_new 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">form_field_new 3x</H1> +<H1 class="no-header">form_field_new 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG> <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG> +<STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG> @@ -104,21 +103,12 @@ field is connected. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><form.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V forms library. They were not + These routines emulate the System V forms library. They were not supported on Version 7 or BSD versions. - It may be unwise to count on the set of attributes copied by <STRONG>dup_field</STRONG> - being portable; the System V forms library documents are not very + It may be unwise to count on the set of attributes copied by <STRONG>dup_field</STRONG> + being portable; the System V forms library documents are not very explicit about what gets copied and what does not. @@ -127,8 +117,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG> + + - <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -136,10 +130,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/form_field_opts.3x.html b/doc/html/man/form_field_opts.3x.html index a0470050baca..52fca0a5a333 100644 --- a/doc/html/man/form_field_opts.3x.html +++ b/doc/html/man/form_field_opts.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2014,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: form_field_opts.3x,v 1.27 2020/10/18 00:11:45 tom Exp @ + * @Id: form_field_opts.3x,v 1.44 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>form_field_opts 3x</TITLE> +<TITLE>form_field_opts 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">form_field_opts 3x</H1> +<H1 class="no-header">form_field_opts 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG> <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG> +<STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG> @@ -150,17 +149,8 @@ System error occurred (see <STRONG>errno(3)</STRONG>). -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>. <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><form.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V forms library. They were not + These routines emulate the System V forms library. They were not supported on Version 7 or BSD versions. @@ -169,8 +159,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG> + + - <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -178,10 +172,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/form_field_userptr.3x.html b/doc/html/man/form_field_userptr.3x.html index 2c32b99e122b..128698edb249 100644 --- a/doc/html/man/form_field_userptr.3x.html +++ b/doc/html/man/form_field_userptr.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: form_field_userptr.3x,v 1.16 2020/10/24 09:06:33 tom Exp @ + * @Id: form_field_userptr.3x,v 1.30 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>form_field_userptr 3x</TITLE> +<TITLE>form_field_userptr 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">form_field_userptr 3x</H1> +<H1 class="no-header">form_field_userptr 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG> <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG> +<STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG> @@ -72,17 +71,8 @@ The function <STRONG>set_field_userptr</STRONG> returns <STRONG>E_OK</STRONG> (success). -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><form.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V forms library. They were not + These routines emulate the System V forms library. They were not supported on Version 7 or BSD versions. The user pointer is a void pointer. We chose not to leave it as a char @@ -94,8 +84,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG> + + - <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -103,10 +97,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/form_field_validation.3x.html b/doc/html/man/form_field_validation.3x.html index 695b2ed37b50..e66d71c26462 100644 --- a/doc/html/man/form_field_validation.3x.html +++ b/doc/html/man/form_field_validation.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: form_field_validation.3x,v 1.33 2020/12/12 19:57:55 tom Exp @ + * @Id: form_field_validation.3x,v 1.53 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>form_field_validation 3x</TITLE> +<TITLE>form_field_validation 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">form_field_validation 3x</H1> +<H1 class="no-header">form_field_validation 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG> <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG> +<STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG> @@ -57,7 +57,7 @@ <STRONG>FIELDTYPE</STRONG> <STRONG>*field_type(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>set_field_type(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG><EM>type</EM><STRONG>,</STRONG> <STRONG>...);</STRONG> - /* predefined field types */ + <EM>/*</EM> <EM>predefined</EM> <EM>field</EM> <EM>types</EM> <EM>*/</EM> <STRONG>FIELDTYPE</STRONG> <STRONG>*TYPE_ALNUM;</STRONG> <STRONG>FIELDTYPE</STRONG> <STRONG>*TYPE_ALPHA;</STRONG> <STRONG>FIELDTYPE</STRONG> <STRONG>*TYPE_ENUM;</STRONG> @@ -92,7 +92,7 @@ Several field types are predefined by the form library. -</PRE><H3><a name="h3-Predefined-types">Predefined types</a></H3><PRE> +</PRE><H2><a name="h2-PREDEFINED-TYPES">PREDEFINED TYPES</a></H2><PRE> It is possible to set up new programmer-defined field types. Field types are implemented via the <STRONG>FIELDTYPE</STRONG> data structure, which contains several pointers to functions. @@ -102,100 +102,102 @@ The predefined types are as follows: - TYPE_ALNUM - Alphanumeric data. Required parameter: - <STRONG>o</STRONG> a third <STRONG>int</STRONG> argument, a minimum field width. +</PRE><H3><a name="h3-TYPE_ALNUM">TYPE_ALNUM</a></H3><PRE> + Alphanumeric data. Required parameter: + + <STRONG>o</STRONG> a third <STRONG>int</STRONG> argument, a minimum field width. + + +</PRE><H3><a name="h3-TYPE_ALPHA">TYPE_ALPHA</a></H3><PRE> + Character data. Required parameter: + + <STRONG>o</STRONG> a third <STRONG>int</STRONG> argument, a minimum field width. + - TYPE_ALPHA - Character data. Required parameter: +</PRE><H3><a name="h3-TYPE_ENUM">TYPE_ENUM</a></H3><PRE> + Accept one of a specified set of strings. Required parameters: - <STRONG>o</STRONG> a third <STRONG>int</STRONG> argument, a minimum field width. + <STRONG>o</STRONG> a third <STRONG>(char</STRONG> <STRONG>**)</STRONG> argument pointing to a string list; - TYPE_ENUM - Accept one of a specified set of strings. Required parameters: + <STRONG>o</STRONG> a fourth <STRONG>int</STRONG> flag argument to enable case-sensitivity; - <STRONG>o</STRONG> a third <STRONG>(char</STRONG> <STRONG>**)</STRONG> argument pointing to a string list; + <STRONG>o</STRONG> a fifth <STRONG>int</STRONG> flag argument specifying whether a partial match must + be a unique one. If this flag is off, a prefix matches the first + of any set of more than one list elements with that prefix. - <STRONG>o</STRONG> a fourth <STRONG>int</STRONG> flag argument to enable case-sensitivity; + The library copies the string list, so you may use a list that lives in + automatic variables on the stack. - <STRONG>o</STRONG> a fifth <STRONG>int</STRONG> flag argument specifying whether a partial match - must be a unique one. If this flag is off, a prefix matches - the first of any set of more than one list elements with that - prefix. - The library copies the string list, so you may use a list that - lives in automatic variables on the stack. +</PRE><H3><a name="h3-TYPE_INTEGER">TYPE_INTEGER</a></H3><PRE> + Integer data, parsable to an integer by <STRONG>atoi(3)</STRONG>. Required parameters: - TYPE_INTEGER - Integer data, parsable to an integer by <STRONG>atoi(3)</STRONG>. Required - parameters: + <STRONG>o</STRONG> a third <STRONG>int</STRONG> argument controlling the precision, - <STRONG>o</STRONG> a third <STRONG>int</STRONG> argument controlling the precision, + <STRONG>o</STRONG> a fourth <STRONG>long</STRONG> argument constraining minimum value, - <STRONG>o</STRONG> a fourth <STRONG>long</STRONG> argument constraining minimum value, + <STRONG>o</STRONG> a fifth <STRONG>long</STRONG> constraining maximum value. If the maximum value is + less than or equal to the minimum value, the range is simply + ignored. - <STRONG>o</STRONG> a fifth <STRONG>long</STRONG> constraining maximum value. If the maximum value - is less than or equal to the minimum value, the range is - simply ignored. + On return, the field buffer is formatted according to the <STRONG>printf</STRONG> format + specification ".*ld", where the "*" is replaced by the precision + argument. - On return, the field buffer is formatted according to the <STRONG>printf</STRONG> - format specification ".*ld", where the "*" is replaced by the - precision argument. + For details of the precision handling see <STRONG>printf(3)</STRONG>. - For details of the precision handling see <STRONG>printf(3)</STRONG>. - TYPE_NUMERIC - Numeric data (may have a decimal-point part). Required - parameters: +</PRE><H3><a name="h3-TYPE_NUMERIC">TYPE_NUMERIC</a></H3><PRE> + Numeric data (may have a decimal-point part). Required parameters: - <STRONG>o</STRONG> a third <STRONG>int</STRONG> argument controlling the precision, + <STRONG>o</STRONG> a third <STRONG>int</STRONG> argument controlling the precision, - <STRONG>o</STRONG> a fourth <STRONG>double</STRONG> argument constraining minimum value, + <STRONG>o</STRONG> a fourth <STRONG>double</STRONG> argument constraining minimum value, - <STRONG>o</STRONG> and a fifth <STRONG>double</STRONG> constraining maximum value. If your system - supports locales, the decimal point character must be the one - specified by your locale. If the maximum value is less than - or equal to the minimum value, the range is simply ignored. + <STRONG>o</STRONG> and a fifth <STRONG>double</STRONG> constraining maximum value. If your system + supports locales, the decimal point character must be the one + specified by your locale. If the maximum value is less than or + equal to the minimum value, the range is simply ignored. - On return, the field buffer is formatted according to the <STRONG>printf</STRONG> - format specification ".*f", where the "*" is replaced by the - precision argument. + On return, the field buffer is formatted according to the <STRONG>printf</STRONG> format + specification ".*f", where the "*" is replaced by the precision + argument. - For details of the precision handling see <STRONG>printf(3)</STRONG>. + For details of the precision handling see <STRONG>printf(3)</STRONG>. - TYPE_REGEXP - Regular expression data. Required parameter: - <STRONG>o</STRONG> a third argument, a regular expression <STRONG>(char</STRONG> <STRONG>*)</STRONG> string. The - data is valid if the regular expression matches it. +</PRE><H3><a name="h3-TYPE_REGEXP">TYPE_REGEXP</a></H3><PRE> + Regular expression data. Required parameter: - Regular expressions are in the format of <STRONG>regcomp</STRONG> and <STRONG>regexec</STRONG>. + <STRONG>o</STRONG> a third argument, a regular expression <STRONG>(char</STRONG> <STRONG>*)</STRONG> string. The data + is valid if the regular expression matches it. - The regular expression must match the whole field. If you have - for example, an eight character wide field, a regular expression - "^[0-9]*$" always means that you have to fill all eight positions - with digits. If you want to allow fewer digits, you may use for - example "^[0-9]* *$" which is good for trailing spaces (up to an - empty field), or "^ *[0-9]* *$" which is good for leading and - trailing spaces around the digits. + Regular expressions are in the format of <STRONG>regcomp</STRONG> and <STRONG>regexec</STRONG>. - TYPE_IPV4 - An Internet Protocol Version 4 address. Required parameter: + The regular expression must match the whole field. If you have for + example, an eight character wide field, a regular expression "^[0-9]*$" + always means that you have to fill all eight positions with digits. If + you want to allow fewer digits, you may use for example "^[0-9]* *$" + which is good for trailing spaces (up to an empty field), or "^ *[0-9]* + *$" which is good for leading and trailing spaces around the digits. - <STRONG>o</STRONG> none - The form library checks whether or not the buffer has the form - <EM>a.b.c.d</EM>, where <EM>a</EM>, <EM>b</EM>, <EM>c</EM>, and <EM>d</EM> are numbers in the range 0 to 255. - Trailing blanks in the buffer are ignored. The address itself is - not validated. +</PRE><H3><a name="h3-TYPE_IPV4">TYPE_IPV4</a></H3><PRE> + An Internet Protocol Version 4 address. Required parameter: - This is an ncurses extension; this field type may not be available - in other curses implementations. + <STRONG>o</STRONG> none + + The form library checks whether or not the buffer has the form <EM>a.b.c.d</EM>, + where <EM>a</EM>, <EM>b</EM>, <EM>c</EM>, and <EM>d</EM> are numbers in the range 0 to 255. Trailing + blanks in the buffer are ignored. The address itself is not validated. + + This is an <EM>ncurses</EM> extension; this field type may not be available in + other curses implementations. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - The functions <STRONG>field_type</STRONG> and <STRONG>field_arg</STRONG> return <STRONG>NULL</STRONG> on error. The + The functions <STRONG>field_type</STRONG> and <STRONG>field_arg</STRONG> return <STRONG>NULL</STRONG> on error. The function <STRONG>set_field_type</STRONG> returns one of the following: <STRONG>E_OK</STRONG> The routine succeeded. @@ -204,15 +206,6 @@ System error occurred (see <STRONG>errno(3)</STRONG>). -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>, <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><form.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> These routines emulate the System V forms library. They were not supported on Version 7 or BSD versions. @@ -223,8 +216,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>, <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG> + + - <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -235,14 +232,23 @@ <li><a href="#h3-field_arg">field_arg</a></li> <li><a href="#h3-field_type">field_type</a></li> <li><a href="#h3-set_field_type">set_field_type</a></li> -<li><a href="#h3-Predefined-types">Predefined types</a></li> +</ul> +</li> +<li><a href="#h2-PREDEFINED-TYPES">PREDEFINED TYPES</a> +<ul> +<li><a href="#h3-TYPE_ALNUM">TYPE_ALNUM</a></li> +<li><a href="#h3-TYPE_ALPHA">TYPE_ALPHA</a></li> +<li><a href="#h3-TYPE_ENUM">TYPE_ENUM</a></li> +<li><a href="#h3-TYPE_INTEGER">TYPE_INTEGER</a></li> +<li><a href="#h3-TYPE_NUMERIC">TYPE_NUMERIC</a></li> +<li><a href="#h3-TYPE_REGEXP">TYPE_REGEXP</a></li> +<li><a href="#h3-TYPE_IPV4">TYPE_IPV4</a></li> </ul> </li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/form_fieldtype.3x.html b/doc/html/man/form_fieldtype.3x.html index c236a2682f02..369f25c5fc11 100644 --- a/doc/html/man/form_fieldtype.3x.html +++ b/doc/html/man/form_fieldtype.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2006,2010 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: form_fieldtype.3x,v 1.28 2020/12/12 17:11:21 tom Exp @ + * @Id: form_fieldtype.3x,v 1.46 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>form_fieldtype 3x</TITLE> +<TITLE>form_fieldtype 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">form_fieldtype 3x</H1> +<H1 class="no-header">form_fieldtype 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> +<STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> Library calls <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> @@ -169,17 +168,8 @@ System error occurred (see <STRONG>errno(3)</STRONG>). -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><form.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V forms library. They were not + These routines emulate the System V forms library. They were not supported on Version 7 or BSD versions. @@ -188,8 +178,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG> + + - <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -205,10 +199,9 @@ </ul> </li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/form_hook.3x.html b/doc/html/man/form_hook.3x.html index 28284c7a3feb..4845771f8112 100644 --- a/doc/html/man/form_hook.3x.html +++ b/doc/html/man/form_hook.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2007,2010 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: form_hook.3x,v 1.16 2020/10/18 00:06:29 tom Exp @ + * @Id: form_hook.3x,v 1.37 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>form_hook 3x</TITLE> +<TITLE>form_hook 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">form_hook 3x</H1> +<H1 class="no-header">form_hook 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG> <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG> +<STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG> Library calls <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG> @@ -72,23 +71,45 @@ various points in the automatic processing of input event codes by <STRONG>form_driver</STRONG>. - The function <STRONG>set_field_init</STRONG> sets a hook to be called at form-post time - and each time the selected field changes (after the change). - <STRONG>field_init</STRONG> returns the current field init hook, if any (<STRONG>NULL</STRONG> if there - is no such hook). - The function <STRONG>set_field_term</STRONG> sets a hook to be called at form-unpost - time and each time the selected field changes (before the change). - <STRONG>field_term</STRONG> returns the current field term hook, if any (<STRONG>NULL</STRONG> if there - is no such hook). +</PRE><H3><a name="h3-set_field_init">set_field_init</a></H3><PRE> + sets a hook to be called at form-post time and each time the selected + field changes (after the change). + + +</PRE><H3><a name="h3-field_init">field_init</a></H3><PRE> + returns the current field init hook, if any (<STRONG>NULL</STRONG> if there is no such + hook). + + +</PRE><H3><a name="h3-set_field_term">set_field_term</a></H3><PRE> + sets a hook to be called at form-unpost time and each time the selected + field changes (before the change). + + +</PRE><H3><a name="h3-field_term">field_term</a></H3><PRE> + returns the current field term hook, if any (<STRONG>NULL</STRONG> if there is no such + hook). + + +</PRE><H3><a name="h3-set_form_init">set_form_init</a></H3><PRE> + sets a hook to be called at form-post time and just after a page change + once it is posted. + + +</PRE><H3><a name="h3-form_init">form_init</a></H3><PRE> + returns the current form init hook, if any (<STRONG>NULL</STRONG> if there is no such + hook). + + +</PRE><H3><a name="h3-set_form_term">set_form_term</a></H3><PRE> + sets a hook to be called at form-unpost time and just before a page + change once it is posted. - The function <STRONG>set_form_init</STRONG> sets a hook to be called at form-post time - and just after a page change once it is posted. <STRONG>form_init</STRONG> returns the - current form init hook, if any (<STRONG>NULL</STRONG> if there is no such hook). - The function <STRONG>set_form_term</STRONG> sets a hook to be called at form-unpost time - and just before a page change once it is posted. <STRONG>form_init</STRONG> returns the - current form term hook, if any (<STRONG>NULL</STRONG> if there is no such hook). +</PRE><H3><a name="h3-form_term">form_term</a></H3><PRE> + returns the current form term hook, if any (<STRONG>NULL</STRONG> if there is no such + hook). </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> @@ -101,17 +122,8 @@ System error occurred (see <STRONG>errno(3)</STRONG>). -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><form.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V forms library. They were not + These routines emulate the System V forms library. They were not supported on Version 7 or BSD versions. @@ -120,19 +132,33 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG> + + - <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG> </PRE> <div class="nav"> <ul> <li><a href="#h2-NAME">NAME</a></li> <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> -<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> +<li><a href="#h2-DESCRIPTION">DESCRIPTION</a> +<ul> +<li><a href="#h3-set_field_init">set_field_init</a></li> +<li><a href="#h3-field_init">field_init</a></li> +<li><a href="#h3-set_field_term">set_field_term</a></li> +<li><a href="#h3-field_term">field_term</a></li> +<li><a href="#h3-set_form_init">set_form_init</a></li> +<li><a href="#h3-form_init">form_init</a></li> +<li><a href="#h3-set_form_term">set_form_term</a></li> +<li><a href="#h3-form_term">form_term</a></li> +</ul> +</li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/form_new.3x.html b/doc/html/man/form_new.3x.html index 10d4bb024212..7a1877cad84d 100644 --- a/doc/html/man/form_new.3x.html +++ b/doc/html/man/form_new.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: form_new.3x,v 1.15 2020/10/24 09:02:26 tom Exp @ + * @Id: form_new.3x,v 1.32 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>form_new 3x</TITLE> +<TITLE>form_new 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">form_new 3x</H1> +<H1 class="no-header">form_new 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG> <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG> +<STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG> Library calls <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG> @@ -92,17 +91,8 @@ The form has already been posted. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><form.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V forms library. They were not + These routines emulate the System V forms library. They were not supported on Version 7 or BSD versions. @@ -111,8 +101,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG> + + - <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -120,10 +114,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/form_new_page.3x.html b/doc/html/man/form_new_page.3x.html index c1a840636208..e8a18df4ff0f 100644 --- a/doc/html/man/form_new_page.3x.html +++ b/doc/html/man/form_new_page.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: form_new_page.3x,v 1.17 2020/10/18 00:04:36 tom Exp @ + * @Id: form_new_page.3x,v 1.34 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>form_new_page 3x</TITLE> +<TITLE>form_new_page 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">form_new_page 3x</H1> +<H1 class="no-header">form_new_page 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG> <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG> +<STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG> Library calls <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG> @@ -77,16 +76,6 @@ The given field is already connected to a form. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed - descriptions of the entry points. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><form.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> These routines emulate the System V forms library. They were not supported on Version 7 or BSD versions. @@ -97,8 +86,13 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed + descriptions of the entry points. + - <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG> + +ncurses 6.5 2024-03-16 <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -106,10 +100,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/form_opts.3x.html b/doc/html/man/form_opts.3x.html index e30a321ab85a..63a9437fc873 100644 --- a/doc/html/man/form_opts.3x.html +++ b/doc/html/man/form_opts.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: form_opts.3x,v 1.17 2020/10/18 00:03:49 tom Exp @ + * @Id: form_opts.3x,v 1.34 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>form_opts 3x</TITLE> +<TITLE>form_opts 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">form_opts 3x</H1> +<H1 class="no-header">form_opts 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG> <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG> +<STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG> Library calls <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG> @@ -94,17 +93,8 @@ System error occurred (see <STRONG>errno(3)</STRONG>). -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><form.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V forms library. They were not + These routines emulate the System V forms library. They were not supported on Version 7 or BSD versions. @@ -113,8 +103,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG> + + - <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -122,10 +116,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/form_page.3x.html b/doc/html/man/form_page.3x.html index 3c67fccc6674..b882db2beb49 100644 --- a/doc/html/man/form_page.3x.html +++ b/doc/html/man/form_page.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2016 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: form_page.3x,v 1.19 2020/10/18 00:02:44 tom Exp @ + * @Id: form_page.3x,v 1.37 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>form_page 3x</TITLE> +<TITLE>form_page 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">form_page 3x</H1> +<H1 class="no-header">form_page 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG> <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG> +<STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG> Library calls <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG> @@ -104,20 +103,11 @@ System error occurred (see <STRONG>errno(3)</STRONG>). -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><form.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V forms library. They were not + These routines emulate the System V forms library. They were not supported on Version 7 or BSD versions. - The <STRONG>unfocus_current_field</STRONG> function is an ncurses extension. + The <STRONG>unfocus_current_field</STRONG> function is an <EM>ncurses</EM> extension. </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE> @@ -125,8 +115,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG> + + - <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -134,10 +128,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/form_post.3x.html b/doc/html/man/form_post.3x.html index f42e72cf8add..9f97d3e5e8da 100644 --- a/doc/html/man/form_post.3x.html +++ b/doc/html/man/form_post.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2015,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: form_post.3x,v 1.16 2020/10/18 00:01:05 tom Exp @ + * @Id: form_post.3x,v 1.33 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>form_post 3x</TITLE> +<TITLE>form_post 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">form_post 3x</H1> +<H1 class="no-header">form_post 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG> <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG> +<STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG> Library calls <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG> @@ -95,17 +94,8 @@ System error occurred (see <STRONG>errno(3)</STRONG>). -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><form.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V forms library. They were not + These routines emulate the System V forms library. They were not supported on Version 7 or BSD versions. @@ -114,8 +104,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG> + + - <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -123,10 +117,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/form_requestname.3x.html b/doc/html/man/form_requestname.3x.html index b8c23062e0ca..ecb5992d428a 100644 --- a/doc/html/man/form_requestname.3x.html +++ b/doc/html/man/form_requestname.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: form_requestname.3x,v 1.16 2020/12/12 16:37:14 tom Exp @ + * @Id: form_requestname.3x,v 1.35 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>form_requestname 3x</TITLE> +<TITLE>form_requestname 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">form_requestname 3x</H1> +<H1 class="no-header">form_requestname 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG> <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG> +<STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG> Library calls <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG> @@ -60,16 +59,10 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - -</PRE><H3><a name="h3-form_request_name">form_request_name</a></H3><PRE> The function <STRONG>form_request_name</STRONG> returns the printable name of a form - request code. - - -</PRE><H3><a name="h3-form_request_name_by_name">form_request_name_by_name</a></H3><PRE> - The function <STRONG>form_request_by_name</STRONG> searches in the name-table for a - request with the given name and returns its request code. Otherwise - E_NO_MATCH is returned. + request code. The function <STRONG>form_request_by_name</STRONG> searches in the name- + table for a request with the given name and returns its request code. + Otherwise E_NO_MATCH is returned. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> @@ -80,17 +73,8 @@ <STRONG>errno</STRONG>. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><form.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines are specific to ncurses. They were not supported on + These routines are specific to <EM>ncurses</EM>. They were not supported on Version 7, BSD or System V implementations. It is recommended that any code depending on them be conditioned using NCURSES_VERSION. @@ -100,24 +84,22 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG> + + - <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG> </PRE> <div class="nav"> <ul> <li><a href="#h2-NAME">NAME</a></li> <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> -<li><a href="#h2-DESCRIPTION">DESCRIPTION</a> -<ul> -<li><a href="#h3-form_request_name">form_request_name</a></li> -<li><a href="#h3-form_request_name_by_name">form_request_name_by_name</a></li> -</ul> -</li> +<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/form_userptr.3x.html b/doc/html/man/form_userptr.3x.html index 91b07352ee49..db79de2022cb 100644 --- a/doc/html/man/form_userptr.3x.html +++ b/doc/html/man/form_userptr.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: form_userptr.3x,v 1.19 2020/10/24 09:00:52 tom Exp @ + * @Id: form_userptr.3x,v 1.36 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>form_userptr 3x</TITLE> +<TITLE>form_userptr 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">form_userptr 3x</H1> +<H1 class="no-header">form_userptr 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG> <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG> +<STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG> Library calls <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG> @@ -72,17 +71,8 @@ The function <STRONG>set_form_userptr</STRONG> returns <STRONG>E_OK</STRONG> (success). -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><form.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V forms library. They were not + These routines emulate the System V forms library. They were not supported on Version 7 or BSD versions. The user pointer is a void pointer. We chose not to leave it as a char @@ -94,8 +84,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG> + + - <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -103,10 +97,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/form_variables.3x.html b/doc/html/man/form_variables.3x.html index 48a7d8716848..68c8e5635c55 100644 --- a/doc/html/man/form_variables.3x.html +++ b/doc/html/man/form_variables.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2020 Thomas E. Dickey * + * Copyright 2020-2023,2024 Thomas E. Dickey * * Copyright 2010-2013,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,27 +27,27 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: form_variables.3x,v 1.7 2020/12/12 14:45:16 tom Exp @ + * @Id: form_variables.3x,v 1.18 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>form_variables 3x</TITLE> +<TITLE>form_variables 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">form_variables 3x</H1> +<H1 class="no-header">form_variables 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG> <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG> +<STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG> Library calls <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>TYPE_ALNUM</STRONG>, <STRONG>TYPE_ALPHA</STRONG>, <STRONG>TYPE_ENUM</STRONG>, <STRONG>TYPE_INTEGER</STRONG>, <STRONG>TYPE_IPV4</STRONG>, + <STRONG>TYPE_ALNUM</STRONG>, <STRONG>TYPE_ALPHA</STRONG>, <STRONG>TYPE_ENUM</STRONG>, <STRONG>TYPE_INTEGER</STRONG>, <STRONG>TYPE_IPV4</STRONG>, <STRONG>TYPE_NUMERIC</STRONG>, <STRONG>TYPE_REGEXP</STRONG> - form system global variables @@ -99,16 +99,16 @@ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - The <STRONG>TYPE_IPV4</STRONG> variable is an extension not provided by older implemen- - tations of the form library. + The <STRONG>TYPE_IPV4</STRONG> variable is an extension not provided by older + implementations of the form library. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>. + <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG> - <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG> </PRE> <div class="nav"> <ul> diff --git a/doc/html/man/form_win.3x.html b/doc/html/man/form_win.3x.html index 9b18e3d2fbd9..976ef2714ed0 100644 --- a/doc/html/man/form_win.3x.html +++ b/doc/html/man/form_win.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2006,2010 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: form_win.3x,v 1.18 2020/10/18 00:00:32 tom Exp @ + * @Id: form_win.3x,v 1.35 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>form_win 3x</TITLE> +<TITLE>form_win 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">form_win 3x</H1> +<H1 class="no-header">form_win 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG> <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG> +<STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG> Library calls <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG> @@ -100,17 +99,8 @@ No items are connected to the form. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><form.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V forms library. They were not + These routines emulate the System V forms library. They were not supported on Version 7 or BSD versions. @@ -119,8 +109,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG> + + - <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -128,10 +122,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/infocmp.1m.html b/doc/html/man/infocmp.1m.html index c0ab7629e1b7..44cb12fb7122 100644 --- a/doc/html/man/infocmp.1m.html +++ b/doc/html/man/infocmp.1m.html @@ -1,7 +1,7 @@ -<!-- +<!-- * t **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2017,2018 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +28,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: infocmp.1m,v 1.77 2020/07/25 20:37:39 tom Exp @ + * @Id: infocmp.1m,v 1.109 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>infocmp 1m</TITLE> +<TITLE>infocmp 1m 2024-03-16 ncurses 6.5 User commands</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">infocmp 1m</H1> +<H1 class="no-header">infocmp 1m 2024-03-16 ncurses 6.5 User commands</H1> <PRE> -<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> +<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> User commands <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> @@ -52,35 +52,35 @@ </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> - <STRONG>infocmp</STRONG> [<STRONG>-1CDEFGIKLTUVWcdegilnpqrtux</STRONG>] + <STRONG>infocmp</STRONG> [<STRONG>-1cCdDeEFgGiIKlLnpqrtTuUVWx</STRONG>] [<STRONG>-v</STRONG> <EM>n</EM>] [<STRONG>-s</STRONG> <STRONG>d</STRONG>| <STRONG>i</STRONG>| <STRONG>l</STRONG>| <STRONG>c</STRONG>] [<STRONG>-Q</STRONG> <EM>n</EM>] [<STRONG>-R</STRONG> <STRONG>subset</STRONG>] [<STRONG>-w</STRONG> <EM>width</EM>] [<STRONG>-A</STRONG> <EM>directory</EM>] [<STRONG>-B</STRONG> <EM>directory</EM>] - [<EM>termname</EM>...] + [<EM>terminal-type</EM> ...] </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> <STRONG>infocmp</STRONG> can be used to compare a binary <STRONG>terminfo</STRONG> entry with other terminfo entries, rewrite a <STRONG>terminfo</STRONG> description to take advantage of the <STRONG>use=</STRONG> terminfo field, or print out a <STRONG>terminfo</STRONG> description from the - binary file (<STRONG>term</STRONG>) in a variety of formats. In all cases, the boolean + binary file (<STRONG>term</STRONG>) in a variety of formats. In all cases, the Boolean fields will be printed first, followed by the numeric fields, followed by the string fields. </PRE><H3><a name="h3-Default-Options">Default Options</a></H3><PRE> - If no options are specified and zero or one <EM>termnames</EM> are specified, - the <STRONG>-I</STRONG> option will be assumed. If more than one <EM>termname</EM> is specified, - the <STRONG>-d</STRONG> option will be assumed. + If no options are specified and zero or one <EM>terminal-types</EM> are + specified, the <STRONG>-I</STRONG> option will be assumed. If more than one <EM>terminal-</EM> + <EM>type</EM> is specified, the <STRONG>-d</STRONG> option will be assumed. -</PRE><H3><a name="h3-Comparison-Options-_-d_-_-c_-_-n_">Comparison Options [-d] [-c] [-n]</a></H3><PRE> +</PRE><H3><a name="h3-Comparison-Options_d_c_n_">Comparison Options [-d] [-c] [-n]</a></H3><PRE> <STRONG>infocmp</STRONG> compares the <STRONG>terminfo</STRONG> description of the first terminal - <EM>termname</EM> with each of the descriptions given by the entries for the - other terminal's <EM>termnames</EM>. If a capability is defined for only one of - the terminals, the value returned depends on the type of the - capability: + <EM>terminal-type</EM> with each of the descriptions given by the entries for + the other terminal's <EM>terminal-types</EM>. If a capability is defined for + only one of the terminals, the value returned depends on the type of + the capability: - <STRONG>o</STRONG> <STRONG>F</STRONG> for missing boolean variables + <STRONG>o</STRONG> <STRONG>F</STRONG> for missing Boolean variables <STRONG>o</STRONG> <STRONG>NULL</STRONG> for missing integer or string variables @@ -111,22 +111,22 @@ option to add the BSD-compatibility capabilities (names prefixed with "OT"). - If no <EM>termnames</EM> are given, <STRONG>infocmp</STRONG> uses the environment variable - <STRONG>TERM</STRONG> for each of the <EM>termnames</EM>. + If no <EM>terminal-types</EM> are given, <STRONG>infocmp</STRONG> uses the environment + variable <EM>TERM</EM> for each of the <EM>terminal-types</EM>. -</PRE><H3><a name="h3-Source-Listing-Options-_-I_-_-L_-_-C_-_-r_">Source Listing Options [-I] [-L] [-C] [-r]</a></H3><PRE> +</PRE><H3><a name="h3-Source-Listing-Options_I_L_C_r_">Source Listing Options [-I] [-L] [-C] [-r]</a></H3><PRE> The <STRONG>-I</STRONG>, <STRONG>-L</STRONG>, and <STRONG>-C</STRONG> options will produce a source listing for each terminal named. - <STRONG>-I</STRONG> use the <STRONG>terminfo</STRONG> names - <STRONG>-L</STRONG> use the long C variable name listed in <<STRONG>term.h</STRONG>> - <STRONG>-C</STRONG> use the <STRONG>termcap</STRONG> names - <STRONG>-r</STRONG> when using <STRONG>-C</STRONG>, put out all capabilities in <STRONG>termcap</STRONG> form - <STRONG>-K</STRONG> modifies the <STRONG>-C</STRONG> option, improving BSD-compatibility. + <STRONG>-I</STRONG> use <EM>terminfo</EM> capability codes + <STRONG>-L</STRONG> use "long" capability names + <STRONG>-C</STRONG> use <EM>termcap</EM> capability codes + <STRONG>-r</STRONG> with <STRONG>-C</STRONG>, include nonstandard capabilities + <STRONG>-K</STRONG> with <STRONG>-C</STRONG>, improve BSD compatibility - If no <EM>termnames</EM> are given, the environment variable <STRONG>TERM</STRONG> will be used - for the terminal name. + If no <EM>terminal-types</EM> are given, the environment variable <EM>TERM</EM> will be + used for the terminal name. The source produced by the <STRONG>-C</STRONG> option may be used directly as a <STRONG>termcap</STRONG> entry, but not all parameterized strings can be changed to the <STRONG>termcap</STRONG> @@ -168,41 +168,43 @@ Some common <STRONG>terminfo</STRONG> parameter sequences, their <STRONG>termcap</STRONG> equivalents, and some terminal types which commonly have such sequences, are: - <STRONG>terminfo</STRONG> <STRONG>termcap</STRONG> Representative Terminals - --------------------------------------------------------------- - <STRONG>%p1%c</STRONG> <STRONG>%.</STRONG> adm - <STRONG>%p1%d</STRONG> <STRONG>%d</STRONG> hp, ANSI standard, vt100 - <STRONG>%p1%'x'%+%c</STRONG> <STRONG>%+x</STRONG> concept - <STRONG>%i</STRONG> <STRONG>%i</STRONG>q ANSI standard, vt100 - <STRONG>%p1%?%'x'%>%t%p1%'y'%+%;</STRONG> <STRONG>%>xy</STRONG> concept - <STRONG>%p2</STRONG> is printed before <STRONG>%p1</STRONG> <STRONG>%r</STRONG> hp + <STRONG><EM>terminfo</EM></STRONG> <STRONG><EM>termcap</EM></STRONG> Terminal Types + ---------------------------------------------------- + <STRONG>%p1%c</STRONG> <STRONG>%.</STRONG> ansi-m + <STRONG>%p1%d</STRONG> <STRONG>%d</STRONG> ansi, vt100 + <STRONG>%p1%'</STRONG> <STRONG>'%+%c</STRONG> <STRONG>%+x</STRONG> vt52 + <STRONG>%i</STRONG> <STRONG>%iq</STRONG> ansi, vt100 + <STRONG>%p1%?%'x'%>%t%p1%'y'%+%;</STRONG> <STRONG>%>xy</STRONG> annarbor4080 + <STRONG>%p2</STRONG>...<STRONG>%p1</STRONG> <STRONG>%r</STRONG> hpgeneric -</PRE><H3><a name="h3-Use_-Option-_-u_">Use= Option [-u]</a></H3><PRE> +</PRE><H3><a name="h3-Use_Option_u_">Use= Option [-u]</a></H3><PRE> The <STRONG>-u</STRONG> option produces a <STRONG>terminfo</STRONG> source description of the first - terminal <EM>termname</EM> which is relative to the sum of the descriptions - given by the entries for the other terminals <EM>termnames</EM>. It does this - by analyzing the differences between the first <EM>termname</EM> and the other - <EM>termnames</EM> and producing a description with <STRONG>use=</STRONG> fields for the other - terminals. In this manner, it is possible to retrofit generic terminfo - entries into a terminal's description. Or, if two similar terminals - exist, but were coded at different times or by different people so that - each description is a full description, using <STRONG>infocmp</STRONG> will show what - can be done to change one description to be relative to the other. + terminal <EM>terminal-type</EM> which is relative to the sum of the descriptions + given by the entries for the other <EM>terminal-types</EM>. It does this by + analyzing the differences between the first <EM>terminal-types</EM> and the + other <EM>terminal-types</EM> and producing a description with <STRONG>use=</STRONG> fields for + the other terminals. In this manner, it is possible to retrofit + generic terminfo entries into a terminal's description. Or, if two + similar terminals exist, but were coded at different times or by + different people so that each description is a full description, using + <STRONG>infocmp</STRONG> will show what can be done to change one description to be + relative to the other. A capability will be printed with an at-sign (@) if it no longer exists - in the first <EM>termname</EM>, but one of the other <EM>termname</EM> entries contains a - value for it. A capability's value will be printed if the value in the - first <EM>termname</EM> is not found in any of the other <EM>termname</EM> entries, or if - the first of the other <EM>termname</EM> entries that has this capability gives - a different value for the capability than that in the first <EM>termname</EM>. - - The order of the other <EM>termname</EM> entries is significant. Since the + in the first <EM>terminal-type</EM>, but one of the other <EM>terminal-type</EM> entries + contains a value for it. A capability's value will be printed if the + value in the first <EM>terminal-type</EM> is not found in any of the other + <EM>terminal-type</EM> entries, or if the first of the other <EM>terminal-type</EM> + entries that has this capability gives a different value for the + capability than that in the first <EM>terminal-type</EM>. + + The order of the other <EM>terminal-type</EM> entries is significant. Since the terminfo compiler <STRONG>tic</STRONG> does a left-to-right scan of the capabilities, specifying two <STRONG>use=</STRONG> entries that contain differing entries for the same capabilities will produce different results depending on the order that the entries are given in. <STRONG>infocmp</STRONG> will flag any such inconsistencies - between the other <EM>termname</EM> entries as they are found. + between the other <EM>terminal-type</EM> entries as they are found. Alternatively, specifying a capability <EM>after</EM> a <STRONG>use=</STRONG> entry that contains that capability will cause the second specification to be ignored. @@ -212,25 +214,26 @@ Another error that does not cause incorrect compiled files, but will slow down the compilation time, is specifying extra <STRONG>use=</STRONG> fields that - are superfluous. <STRONG>infocmp</STRONG> will flag any other <EM>termname</EM> <EM>use=</EM> fields that - were not needed. + are superfluous. <STRONG>infocmp</STRONG> will flag any other <EM>terminal-type</EM> <EM>use=</EM> fields + that were not needed. <STRONG>Changing</STRONG> <STRONG>Databases</STRONG> <STRONG>[-A</STRONG> <EM>directory</EM>] [-B <EM>directory</EM>] - Like other <STRONG>ncurses</STRONG> utilities, <STRONG>infocmp</STRONG> looks for the terminal - descriptions in several places. You can use the <STRONG>TERMINFO</STRONG> and - <STRONG>TERMINFO_DIRS</STRONG> environment variables to override the compiled-in default - list of places to search (see <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> for details). + Like other <EM>ncurses</EM> utilities, <STRONG>infocmp</STRONG> looks for the terminal + descriptions in several places. You can use the <EM>TERMINFO</EM> and + <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> environment variables to override the compiled-in default + list of places to search. See <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, as well as the <EM>Fetching</EM> + <EM>Compiled</EM> <EM>Descriptions</EM> section in <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. - You can also use the options <STRONG>-A</STRONG> and <STRONG>-B</STRONG> to override the list of places + You can also use the options <STRONG>-A</STRONG> and <STRONG>-B</STRONG> to override the list of places to search when comparing terminal descriptions: - <STRONG>o</STRONG> The <STRONG>-A</STRONG> option sets the location for the first <EM>termname</EM> + <STRONG>o</STRONG> The <STRONG>-A</STRONG> option sets the location for the first <EM>terminal-type</EM> - <STRONG>o</STRONG> The <STRONG>-B</STRONG> option sets the location for the other <EM>termnames</EM>. + <STRONG>o</STRONG> The <STRONG>-B</STRONG> option sets the location for the other <EM>terminal-types</EM>. - Using these options, it is possible to compare descriptions for a - terminal with the same name located in two different databases. For - instance, you can use this feature for comparing descriptions for the + Using these options, it is possible to compare descriptions for a + terminal with the same name located in two different databases. For + instance, you can use this feature for comparing descriptions for the same terminal created by different people. @@ -238,118 +241,117 @@ <STRONG>-0</STRONG> causes the fields to be printed on one line, without wrapping. <STRONG>-1</STRONG> causes the fields to be printed out one to a line. Otherwise, the - fields will be printed several to a line to a maximum width of 60 + fields will be printed several to a line to a maximum width of 60 characters. - <STRONG>-a</STRONG> tells <STRONG>infocmp</STRONG> to retain commented-out capabilities rather than - discarding them. Capabilities are commented by prefixing them + <STRONG>-a</STRONG> tells <STRONG>infocmp</STRONG> to retain commented-out capabilities rather than + discarding them. Capabilities are commented by prefixing them with a period. <STRONG>-D</STRONG> tells <STRONG>infocmp</STRONG> to print the database locations that it knows about, and exit. - <STRONG>-E</STRONG> Dump the capabilities of the given terminal as tables, needed in - the C initializer for a TERMTYPE structure (the terminal - capability structure in the <STRONG><term.h></STRONG>). This option is useful for - preparing versions of the curses library hardwired for a given - terminal type. The tables are all declared static, and are named - according to the type and the name of the corresponding terminal + <STRONG>-E</STRONG> Dump the capabilities of the given terminal as tables, needed in + the C initializer for a TERMTYPE structure (the terminal + capability structure in the <STRONG><term.h></STRONG>). This option is useful for + preparing versions of the curses library hardwired for a given + terminal type. The tables are all declared static, and are named + according to the type and the name of the corresponding terminal entry. - Before ncurses 5.0, the split between the <STRONG>-e</STRONG> and <STRONG>-E</STRONG> options was - not needed; but support for extended names required making the - arrays of terminal capabilities separate from the TERMTYPE + Before <EM>ncurses</EM> 5.0, the split between the <STRONG>-e</STRONG> and <STRONG>-E</STRONG> options was + not needed; but support for extended names required making the + arrays of terminal capabilities separate from the TERMTYPE structure. <STRONG>-e</STRONG> Dump the capabilities of the given terminal as a C initializer for - a TERMTYPE structure (the terminal capability structure in the - <STRONG><term.h></STRONG>). This option is useful for preparing versions of the + a TERMTYPE structure (the terminal capability structure in the + <STRONG><term.h></STRONG>). This option is useful for preparing versions of the curses library hardwired for a given terminal type. <STRONG>-F</STRONG> compare terminfo files. This assumes that two following arguments - are filenames. The files are searched for pairwise matches - between entries, with two entries considered to match if any of - their names do. The report printed to standard output lists - entries with no matches in the other file, and entries with more - than one match. For entries with exactly one match it includes a - difference report. Normally, to reduce the volume of the report, - use references are not resolved before looking for differences, + are filenames. The files are searched for pairwise matches + between entries, with two entries considered to match if any of + their names do. The report printed to standard output lists + entries with no matches in the other file, and entries with more + than one match. For entries with exactly one match it includes a + difference report. Normally, to reduce the volume of the report, + use references are not resolved before looking for differences, but resolution can be forced by also specifying <STRONG>-r</STRONG>. - <STRONG>-f</STRONG> Display complex terminfo strings which contain if/then/else/endif + <STRONG>-f</STRONG> Display complex terminfo strings which contain if/then/else/endif expressions indented for readability. - <STRONG>-G</STRONG> Display constant literals in decimal form rather than their + <STRONG>-G</STRONG> Display constant literals in decimal form rather than their character equivalents. - <STRONG>-g</STRONG> Display constant character literals in quoted form rather than + <STRONG>-g</STRONG> Display constant character literals in quoted form rather than their decimal equivalents. - <STRONG>-i</STRONG> Analyze the initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, - <STRONG>rs3</STRONG>), strings in the entry, as well as those used for - starting/stopping cursor-positioning mode (<STRONG>smcup</STRONG>, <STRONG>rmcup</STRONG>) as well + <STRONG>-i</STRONG> Analyze the initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, + <STRONG>rs3</STRONG>), strings in the entry, as well as those used for + starting/stopping cursor-positioning mode (<STRONG>smcup</STRONG>, <STRONG>rmcup</STRONG>) as well as starting/stopping keymap mode (<STRONG>smkx</STRONG>, <STRONG>rmkx</STRONG>). - For each string, the code tries to analyze it into actions in - terms of the other capabilities in the entry, certain X3.64/ISO + For each string, the code tries to analyze it into actions in + terms of the other capabilities in the entry, certain X3.64/ISO 6429/ECMA-48 capabilities, and certain DEC VT-series private modes - (the set of recognized special sequences has been selected for - completeness over the existing terminfo database). Each report - line consists of the capability name, followed by a colon and - space, followed by a printable expansion of the capability string - with sections matching recognized actions translated into + (the set of recognized special sequences has been selected for + completeness over the existing terminfo database). Each report + line consists of the capability name, followed by a colon and + space, followed by a printable expansion of the capability string + with sections matching recognized actions translated into {}-bracketed descriptions. Here is a list of the DEC/ANSI special sequences recognized: - Action Meaning - ----------------------------------------- - RIS full reset - SC save cursor - RC restore cursor - LL home-down - RSR reset scroll region - ----------------------------------------- - DECSTR soft reset (VT320) - S7C1T 7-bit controls (VT220) - ----------------------------------------- - - ISO DEC G0 enable DEC graphics for G0 - ISO UK G0 enable UK chars for G0 - ISO US G0 enable US chars for G0 - ISO DEC G1 enable DEC graphics for G1 - ISO UK G1 enable UK chars for G1 - ISO US G1 enable US chars for G1 - ----------------------------------------- - DECPAM application keypad mode - DECPNM normal keypad mode - DECANSI enter ANSI mode - ----------------------------------------- - ECMA[+-]AM keyboard action mode - ECMA[+-]IRM insert replace mode - ECMA[+-]SRM send receive mode - ECMA[+-]LNM linefeed mode - ----------------------------------------- - DEC[+-]CKM application cursor keys - DEC[+-]ANM set VT52 mode - DEC[+-]COLM 132-column mode - DEC[+-]SCLM smooth scroll - DEC[+-]SCNM reverse video mode - DEC[+-]OM origin mode - DEC[+-]AWM wraparound mode - DEC[+-]ARM auto-repeat mode - - It also recognizes a SGR action corresponding to ANSI/ISO - 6429/ECMA Set Graphics Rendition, with the values NORMAL, BOLD, - UNDERLINE, BLINK, and REVERSE. All but NORMAL may be prefixed - with - - <STRONG>o</STRONG> "+" (turn on) or - - <STRONG>o</STRONG> "-" (turn off). - - An SGR0 designates an empty highlight sequence (equivalent to - {SGR:NORMAL}). + Action Meaning + ----------------------------------------- + RIS full reset + SC save cursor + RC restore cursor + LL home-down + RSR reset scroll region + ----------------------------------------- + + DECSTR soft reset (VT320) + S7C1T 7-bit controls (VT220) + ----------------------------------------- + ISO DEC G0 enable DEC graphics for G0 + ISO UK G0 enable UK chars for G0 + ISO US G0 enable US chars for G0 + ISO DEC G1 enable DEC graphics for G1 + ISO UK G1 enable UK chars for G1 + ISO US G1 enable US chars for G1 + ----------------------------------------- + DECPAM application keypad mode + DECPNM normal keypad mode + DECANSI enter ANSI mode + ----------------------------------------- + ECMA[+-]AM keyboard action mode + ECMA[+-]IRM insert replace mode + ECMA[+-]SRM send receive mode + ECMA[+-]LNM linefeed mode + ----------------------------------------- + DEC[+-]CKM application cursor keys + DEC[+-]ANM set VT52 mode + DEC[+-]COLM 132-column mode + DEC[+-]SCLM smooth scroll + DEC[+-]SCNM reverse video mode + DEC[+-]OM origin mode + DEC[+-]AWM wraparound mode + DEC[+-]ARM auto-repeat mode + + It also recognizes a SGR action corresponding to ANSI/ISO 6429/ECMA Set + Graphics Rendition, with the values NORMAL, BOLD, UNDERLINE, BLINK, and + REVERSE. All but NORMAL may be prefixed with + + <STRONG>o</STRONG> "+" (turn on) or + + <STRONG>o</STRONG> "-" (turn off). + + An SGR0 designates an empty highlight sequence (equivalent to + {SGR:NORMAL}). <STRONG>-l</STRONG> Set output format to terminfo. @@ -366,7 +368,7 @@ 3 hexadecimal and base64 For example, this prints the compiled terminfo value as a string - which could be assigned to the <STRONG>TERMINFO</STRONG> environment variable: + which could be assigned to the <EM>TERMINFO</EM> environment variable: infocmp -0 -q -Q2 @@ -383,7 +385,7 @@ <STRONG>-R</STRONG><EM>subset</EM> Restrict output to a given subset. This option is for use with - archaic versions of terminfo like those on SVr1, Ultrix, or HP/UX + archaic versions of terminfo like those on SVr1, Ultrix, or HP-UX that do not support the full set of SVR4/XSI Curses terminfo; and variants such as AIX that have their own extensions incompatible with SVr4/XSI. @@ -392,18 +394,25 @@ "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details. <STRONG>o</STRONG> You can also choose the subset "BSD" which selects only - capabilities with termcap equivalents recognized by 4.4BSD. - The <STRONG>-C</STRONG> option sets the "BSD" subset as a side-effect. + capabilities with termcap equivalents recognized by 4.4BSD. + + <STRONG>o</STRONG> If you select any other value for <STRONG>-R</STRONG>, it is the same as no + subset, i.e., all capabilities are used. + + A few options override the subset selected with <STRONG>-R</STRONG>, if they are + processed later in the command parameters: - <STRONG>o</STRONG> If you select any other value for <STRONG>-R</STRONG>, it is the same as no - subset, i.e., all capabilities are used. The <STRONG>-I</STRONG> option - likewise selects no subset as a side-effect. + <STRONG>-C</STRONG> sets the "BSD" subset as a side-effect. + + <STRONG>-I</STRONG> sets the subset to all capabilities. + + <STRONG>-r</STRONG> sets the subset to all capabilities. <STRONG>-s</STRONG> <EM>[d|i|l|c]</EM> - The <STRONG>-s</STRONG> option sorts the fields within each type according to the + The <STRONG>-s</STRONG> option sorts the fields within each type according to the argument below: - <STRONG>d</STRONG> leave fields in the order that they are stored in the + <STRONG>d</STRONG> leave fields in the order that they are stored in the <EM>terminfo</EM> database. <STRONG>i</STRONG> sort by <EM>terminfo</EM> name. @@ -412,118 +421,117 @@ <STRONG>c</STRONG> sort by the <EM>termcap</EM> name. - If the <STRONG>-s</STRONG> option is not given, the fields printed out will be - sorted alphabetically by the <STRONG>terminfo</STRONG> name within each type, - except in the case of the <STRONG>-C</STRONG> or the <STRONG>-L</STRONG> options, which cause the - sorting to be done by the <STRONG>termcap</STRONG> name or the long C variable + If the <STRONG>-s</STRONG> option is not given, the fields printed out will be + sorted alphabetically by the <STRONG>terminfo</STRONG> name within each type, + except in the case of the <STRONG>-C</STRONG> or the <STRONG>-L</STRONG> options, which cause the + sorting to be done by the <STRONG>termcap</STRONG> name or the long C variable name, respectively. - <STRONG>-T</STRONG> eliminates size-restrictions on the generated text. This is + <STRONG>-T</STRONG> eliminates size-restrictions on the generated text. This is mainly useful for testing and analysis, since the compiled descriptions are limited (e.g., 1023 for termcap, 4096 for terminfo). - <STRONG>-t</STRONG> tells <STRONG>tic</STRONG> to discard commented-out capabilities. Normally when - translating from terminfo to termcap, untranslatable capabilities + <STRONG>-t</STRONG> tells <STRONG>tic</STRONG> to discard commented-out capabilities. Normally when + translating from terminfo to termcap, untranslatable capabilities are commented-out. - <STRONG>-U</STRONG> tells <STRONG>infocmp</STRONG> to not post-process the data after parsing the + <STRONG>-U</STRONG> tells <STRONG>infocmp</STRONG> to not post-process the data after parsing the source file. This feature helps when comparing the actual - contents of two source files, since it excludes the inferences + contents of two source files, since it excludes the inferences that <STRONG>infocmp</STRONG> makes to fill in missing data. - <STRONG>-V</STRONG> reports the version of ncurses which was used in this program, and + <STRONG>-V</STRONG> reports the version of <EM>ncurses</EM> which was used in this program, and exits. - <STRONG>-v</STRONG> <EM>n</EM> prints out tracing information on standard error as the program + <STRONG>-v</STRONG> <EM>n</EM> prints out tracing information on standard error as the program runs. - The optional parameter <EM>n</EM> is a number from 1 to 10, inclusive, - indicating the desired level of detail of information. If ncurses - is built without tracing support, the optional parameter is + The optional parameter <EM>n</EM> is a number from 1 to 10, inclusive, + indicating the desired level of detail of information. If <EM>ncurses</EM> + is built without tracing support, the optional parameter is ignored. - <STRONG>-W</STRONG> By itself, the <STRONG>-w</STRONG> option will not force long strings to be + <STRONG>-W</STRONG> By itself, the <STRONG>-w</STRONG> option will not force long strings to be wrapped. Use the <STRONG>-W</STRONG> option to do this. <STRONG>-w</STRONG> <EM>width</EM> changes the output to <EM>width</EM> characters. - <STRONG>-x</STRONG> print information for user-defined capabilities (see <STRONG>user_caps(5)</STRONG>. - These are extensions to the terminfo repertoire which can be + <STRONG>-x</STRONG> print information for user-defined capabilities (see <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>. + These are extensions to the terminfo repertoire which can be loaded using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>. </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE> - /usr/share/terminfo Compiled terminal description database. + <EM>/usr/share/terminfo</EM> + compiled terminal description database + + +</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE> + The <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <STRONG>-E</STRONG>, <STRONG>-F</STRONG>, <STRONG>-G</STRONG>, <STRONG>-Q</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>, <STRONG>-i</STRONG>, <STRONG>-l</STRONG>, <STRONG>-p</STRONG>, <STRONG>-q</STRONG> + and <STRONG>-t</STRONG> options are not supported in SVr4 curses. + + SVr4 infocmp does not distinguish between absent and cancelled + capabilities. Also, it shows missing integer capabilities as <STRONG>-1</STRONG> (the + internal value used to represent missing integers). This + implementation shows those as "NULL", for consistency with missing + strings. + + The <STRONG>-r</STRONG> option's notion of "termcap" capabilities is System V Release + 4's. Actual BSD curses versions will have a more restricted set. To + see only the 4.4BSD set, use <STRONG>-r</STRONG> <STRONG>-RBSD</STRONG>. + + +</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> + X/Open Curses, Issue 7 (2009) provides a description of <STRONG>infocmp</STRONG>. It + does not mention the options used for converting to termcap format. </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE> - Although System V Release 2 provided a terminfo library, it had no + Although System V Release 2 provided a terminfo library, it had no documented tool for decompiling the terminal descriptions. Tony Hansen (AT&T) wrote the first <STRONG>infocmp</STRONG> in early 1984, for System V Release 3. - Eric Raymond used the AT&T documentation in 1995 to provide an - equivalent <STRONG>infocmp</STRONG> for ncurses. In addition, he added a few new + Eric Raymond used the AT&T documentation in 1995 to provide an + equivalent <STRONG>infocmp</STRONG> for <EM>ncurses</EM>. In addition, he added a few new features such as: - <STRONG>o</STRONG> the <STRONG>-e</STRONG> option, to support <EM>fallback</EM> (compiled-in) terminal + <STRONG>o</STRONG> the <STRONG>-e</STRONG> option, to support <EM>fallback</EM> (compiled-in) terminal descriptions <STRONG>o</STRONG> the <STRONG>-i</STRONG> option, to help with analysis - Later, Thomas Dickey added the <STRONG>-x</STRONG> (user-defined capabilities) option, - and the <STRONG>-E</STRONG> option to support fallback entries with user-defined + Later, Thomas Dickey added the <STRONG>-x</STRONG> (user-defined capabilities) option, + and the <STRONG>-E</STRONG> option to support fallback entries with user-defined capabilities. For a complete list, see the <EM>EXTENSIONS</EM> section. - In 2010, Roy Marples provided an <STRONG>infocmp</STRONG> program for NetBSD. It is - less capable than the SVr4 or ncurses versions (e.g., it lacks the - sorting options documented in X/Open), but does include the <STRONG>-x</STRONG> option - adapted from ncurses. - - -</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - X/Open Curses, Issue 7 (2009) provides a description of <STRONG>infocmp</STRONG>. It - does not mention the options used for converting to termcap format. - - -</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE> - The <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <STRONG>-E</STRONG>, <STRONG>-F</STRONG>, <STRONG>-G</STRONG>, <STRONG>-Q</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>, <STRONG>-i</STRONG>, <STRONG>-l</STRONG>, <STRONG>-p</STRONG>, <STRONG>-q</STRONG> - and <STRONG>-t</STRONG> options are not supported in SVr4 curses. - - SVr4 infocmp does not distinguish between absent and cancelled - capabilities. Also, it shows missing integer capabilities as <STRONG>-1</STRONG> (the - internal value used to represent missing integers). This - implementation shows those as "NULL", for consistency with missing - strings. - - The <STRONG>-r</STRONG> option's notion of "termcap" capabilities is System V Release - 4's. Actual BSD curses versions will have a more restricted set. To - see only the 4.4BSD set, use <STRONG>-r</STRONG> <STRONG>-RBSD</STRONG>. + In 2010, Roy Marples provided an <STRONG>infocmp</STRONG> program for NetBSD. It is + less capable than the SVr4 or <EM>ncurses</EM> versions (e.g., it lacks the + sorting options documented in X/Open), but does include the <STRONG>-x</STRONG> option + adapted from <EM>ncurses</EM>. </PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE> The <STRONG>-F</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> should be a <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> mode. +</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE> + Eric S. Raymond <esr@snark.thyrsus.com> and + Thomas E. Dickey <dickey@invisible-island.net> + + </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, - <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>. + <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> https://invisible-island.net/ncurses/tctest.html - This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109). - - -</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE> - Eric S. Raymond <esr@snark.thyrsus.com> and - Thomas E. Dickey <dickey@invisible-island.net> - - <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -532,19 +540,19 @@ <li><a href="#h2-DESCRIPTION">DESCRIPTION</a> <ul> <li><a href="#h3-Default-Options">Default Options</a></li> -<li><a href="#h3-Comparison-Options-_-d_-_-c_-_-n_">Comparison Options [-d] [-c] [-n]</a></li> -<li><a href="#h3-Source-Listing-Options-_-I_-_-L_-_-C_-_-r_">Source Listing Options [-I] [-L] [-C] [-r]</a></li> -<li><a href="#h3-Use_-Option-_-u_">Use= Option [-u]</a></li> +<li><a href="#h3-Comparison-Options_d_c_n_">Comparison Options [-d] [-c] [-n]</a></li> +<li><a href="#h3-Source-Listing-Options_I_L_C_r_">Source Listing Options [-I] [-L] [-C] [-r]</a></li> +<li><a href="#h3-Use_Option_u_">Use= Option [-u]</a></li> <li><a href="#h3-Other-Options">Other Options</a></li> </ul> </li> <li><a href="#h2-FILES">FILES</a></li> -<li><a href="#h2-HISTORY">HISTORY</a></li> -<li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li> +<li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-HISTORY">HISTORY</a></li> <li><a href="#h2-BUGS">BUGS</a></li> +<li><a href="#h2-AUTHORS">AUTHORS</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-AUTHOR">AUTHOR</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/infotocap.1m.html b/doc/html/man/infotocap.1m.html index 2af6ac13821b..4213f69428fe 100644 --- a/doc/html/man/infotocap.1m.html +++ b/doc/html/man/infotocap.1m.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1999-2010,2016 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: infotocap.1m,v 1.17 2020/12/19 21:49:52 tom Exp @ + * @Id: infotocap.1m,v 1.41 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>infotocap 1m</TITLE> +<TITLE>infotocap 1m 2024-03-16 ncurses 6.5 User commands</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">infotocap 1m</H1> +<H1 class="no-header">infotocap 1m 2024-03-16 ncurses 6.5 User commands</H1> <PRE> -<STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG> <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG> +<STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG> User commands <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG> @@ -52,55 +51,46 @@ </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> - <STRONG>infotocap</STRONG> [<STRONG>-v</STRONG><EM>n</EM> <EM>width</EM>] [<STRONG>-V</STRONG>] [<STRONG>-1</STRONG>] [<STRONG>-w</STRONG> <EM>width</EM>] <EM>file</EM> ... - - -</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - <STRONG>infotocap</STRONG> looks in each given text <EM>file</EM> for <STRONG>terminfo</STRONG> descriptions. For - each terminfo description found, an equivalent <STRONG>termcap</STRONG> description is - written to standard output. Terminfo <STRONG>use</STRONG> capabilities are translated - directly to termcap <STRONG>tc</STRONG> capabilities. + <STRONG>infotocap</STRONG> [<EM>tic-option</EM>] <EM>file</EM> ... - <STRONG>-v</STRONG> print out tracing information on standard error as the program - runs. + <STRONG>infotocap</STRONG> <STRONG>-V</STRONG> - <STRONG>-V</STRONG> print out the version of the program in use on standard error and - exit. - <STRONG>-1</STRONG> cause the fields to print out one to a line. Otherwise, the - fields will be printed several to a line to a maximum width of 60 - characters. +</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> + <STRONG>infotocap</STRONG> translates terminal descriptions. It looks in each given + text <EM>file</EM> for <EM>terminfo</EM> entries and, For each one found, it writes an + analogous <EM>termcap</EM> description to the standard output stream. <EM>terminfo</EM> + "<STRONG>use</STRONG>" capabilities translate to <EM>termcap</EM> <STRONG>tc</STRONG> capabilities. Because + <EM>termcap</EM> is a less expressive format than <EM>terminfo</EM>, some capabilities + cannot be translated. - <STRONG>-w</STRONG> change the output to <EM>width</EM> characters. + This utility is implemented as a link to <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, with the latter's <STRONG>-C</STRONG> + option implied. You can use other <STRONG>tic</STRONG> options such as <STRONG>-1</STRONG>, <STRONG>-f</STRONG>, <STRONG>-v</STRONG>, <STRONG>-w</STRONG>, + and <STRONG>-x</STRONG>. The <STRONG>-V</STRONG> option reports the version of <EM>ncurses</EM> associated with + this program and exits with a successful status. </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE> - /usr/share/terminfo Compiled terminal description database. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - This utility is actually a link to <STRONG>tic</STRONG>, running in <EM>-C</EM> mode. You can - use other <STRONG>tic</STRONG> options such as <STRONG>-f</STRONG> and <STRONG>-x</STRONG>. + <EM>/usr/share/terminfo</EM> + compiled terminal description database </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - None of X/Open Curses, Issue 7 (2009), SVr4 or NetBSD document this + None of X/Open Curses, Issue 7 (2009), SVr4, or NetBSD document this application. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> - - This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109). - - -</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE> +</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE> Eric S. Raymond <esr@snark.thyrsus.com> and Thomas E. Dickey <dickey@invisible-island.net> +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> + + - <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -108,10 +98,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-FILES">FILES</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-AUTHORS">AUTHORS</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-AUTHOR">AUTHOR</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/key_defined.3x.html b/doc/html/man/key_defined.3x.html index 87278cacefce..453decfdb758 100644 --- a/doc/html/man/key_defined.3x.html +++ b/doc/html/man/key_defined.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 2003-2006,2010 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,27 +28,27 @@ * authorization. * **************************************************************************** * Author: Thomas E. Dickey 2003 - * @Id: key_defined.3x,v 1.10 2020/10/17 23:39:03 tom Exp @ + * @Id: key_defined.3x,v 1.34 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>key_defined 3x</TITLE> +<TITLE>key_defined 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">key_defined 3x</H1> +<H1 class="no-header">key_defined 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG> <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG> +<STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG> Library calls <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>key_defined</STRONG> - check if a keycode is defined + <STRONG>key_defined</STRONG> - test whether a <EM>curses</EM> keycode is defined </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -58,7 +58,7 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - This is an extension to the curses library. It permits an application + This is an extension to the <EM>curses</EM> library. It permits an application to determine if a string is currently bound to any keycode. @@ -69,21 +69,21 @@ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines are specific to ncurses. They were not supported on - Version 7, BSD or System V implementations. It is recommended that any - code depending on them be conditioned using NCURSES_VERSION. + This routine is specific to <EM>ncurses</EM>. It was not supported on Version + 7, BSD or System V implementations. It is recommended that any code + depending on them be conditioned using <STRONG>NCURSES_VERSION</STRONG>. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>. +</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE> + Thomas Dickey -</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE> - Thomas Dickey. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> - <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -92,8 +92,8 @@ <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-AUTHORS">AUTHORS</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-AUTHOR">AUTHOR</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/keybound.3x.html b/doc/html/man/keybound.3x.html index 551376227b24..e926e77c6acb 100644 --- a/doc/html/man/keybound.3x.html +++ b/doc/html/man/keybound.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1999-2008,2010 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,65 +28,65 @@ * authorization. * **************************************************************************** * Author: Thomas E. Dickey 1999 - * @Id: keybound.3x,v 1.11 2020/10/17 23:39:30 tom Exp @ + * @Id: keybound.3x,v 1.36 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>keybound 3x</TITLE> +<TITLE>keybound 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">keybound 3x</H1> +<H1 class="no-header">keybound 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG> <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG> +<STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG> Library calls <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>keybound</STRONG> - return definition of keycode + <STRONG>keybound</STRONG> - get definition of <EM>curses</EM> keycode </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> - <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>keybound(int</STRONG> <EM>keycode</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>count);</EM> + <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>keybound(int</STRONG> <EM>keycode</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>count</EM><STRONG>);</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - This is an extension to the curses library. It permits an application + This is an extension to the <EM>curses</EM> library. It permits an application to determine the string which is defined in the terminfo for specific keycodes. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - The <EM>keycode</EM> parameter must be greater than zero, else NULL is returned. - If it does not correspond to a defined key, then NULL is returned. The + The <EM>keycode</EM> parameter must be greater than zero, else <STRONG>NULL</STRONG> is returned. + If it does not correspond to a defined key, then <STRONG>NULL</STRONG> is returned. The <EM>count</EM> parameter is used to allow the application to iterate through multiple definitions, counting from zero. When successful, the function returns a string which must be freed by the caller. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines are specific to ncurses. They were not supported on - Version 7, BSD or System V implementations. It is recommended that any - code depending on them be conditioned using NCURSES_VERSION. + This routine is specific to <EM>ncurses</EM>. It was not supported on Version + 7, BSD or System V implementations. It is recommended that any code + depending on them be conditioned using <STRONG>NCURSES_VERSION</STRONG>. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>. +</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE> + Thomas Dickey -</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE> - Thomas Dickey. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> - <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -95,8 +95,8 @@ <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-AUTHORS">AUTHORS</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-AUTHOR">AUTHOR</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/keyok.3x.html b/doc/html/man/keyok.3x.html index 3d255b476438..f94f82f49db1 100644 --- a/doc/html/man/keyok.3x.html +++ b/doc/html/man/keyok.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,27 +28,27 @@ * authorization. * **************************************************************************** * Author: Thomas E. Dickey 1997 - * @Id: keyok.3x,v 1.15 2020/10/17 23:39:59 tom Exp @ + * @Id: keyok.3x,v 1.40 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>keyok 3x</TITLE> +<TITLE>keyok 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">keyok 3x</H1> +<H1 class="no-header">keyok 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> +<STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> Library calls <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>keyok</STRONG> - enable or disable a keycode + <STRONG>keyok</STRONG> - enable or disable a <EM>curses</EM> keycode </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -58,8 +58,8 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - This is an extension to the curses library. It permits an application - to disable specific keycodes, rather than use the <EM>keypad</EM> function to + This is an extension to the <EM>curses</EM> library. It permits an application + to disable specific keycodes, rather than use the <STRONG>keypad</STRONG> function to disable all keycodes. Keys that have been disabled can be re-enabled. @@ -71,21 +71,21 @@ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines are specific to ncurses. They were not supported on - Version 7, BSD or System V implementations. It is recommended that any - code depending on them be conditioned using NCURSES_VERSION. + This routine is specific to <EM>ncurses</EM>. It was not supported on Version + 7, BSD or System V implementations. It is recommended that any code + depending on them be conditioned using <STRONG>NCURSES_VERSION</STRONG>. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>. +</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE> + Thomas Dickey -</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE> - Thomas Dickey. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> - <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -94,8 +94,8 @@ <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-AUTHORS">AUTHORS</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-AUTHOR">AUTHOR</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/legacy_coding.3x.html b/doc/html/man/legacy_coding.3x.html index a7f3026ae29f..f7b41ba9996b 100644 --- a/doc/html/man/legacy_coding.3x.html +++ b/doc/html/man/legacy_coding.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2020 Thomas E. Dickey * + * Copyright 2020-2023,2024 Thomas E. Dickey * * Copyright 2005-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,27 +28,27 @@ * authorization. * **************************************************************************** * Author: Thomas E. Dickey - * @Id: legacy_coding.3x,v 1.8 2020/10/17 23:40:23 tom Exp @ + * @Id: legacy_coding.3x,v 1.28 2024/04/20 19:13:50 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>legacy_coding 3x</TITLE> +<TITLE>legacy_coding 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">legacy_coding 3x</H1> +<H1 class="no-header">legacy_coding 3x 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG> <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG> +<STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG> Library calls <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>use_legacy_coding</STRONG> - override locale-encoding checks + <STRONG>use_legacy_coding</STRONG> - override <EM>curses</EM> locale encoding checks </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -58,47 +58,47 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - The <STRONG>use_legacy_coding</STRONG> function is an extension to the curses library. - It allows the caller to change the result of <STRONG>unctrl</STRONG>, and suppress - related checks within the library that would normally cause nonprinting - characters to be rendered in visible form. This affects only 8-bit - characters. + <STRONG>use_legacy_coding</STRONG> is an extension to the <EM>curses</EM> library. It allows the + caller to change the result of <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>, suppressing <STRONG>isprint(3)</STRONG>-based + checks within the library that would normally cause nonprinting + characters to be rendered in visible form. The alteration affects only + eight-bit characters. - The <EM>level</EM> parameter controls the result: + The <EM>level</EM> parameter controls the result. - 0 the library functions normally, rendering nonprinting - characters as described in <STRONG>unctrl</STRONG>. + <STRONG>0</STRONG> The library functions normally, rendering nonprinting + characters as described in <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>, - 1 the library ignores <STRONG>isprintf</STRONG> for codes in the range - 160-255. + <STRONG>1</STRONG> the library ignores <EM>isprint</EM> for codes in the range 160-255. - 2 the library ignores <STRONG>isprintf</STRONG> for codes in the range - 128-255. It also modifies the output of <STRONG>unctrl</STRONG>, showing - codes in the range 128-159 as is. + <STRONG>2</STRONG> the library ignores <EM>isprint</EM> for codes in the range 128-255. + It also modifies the output of <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>, showing codes in + the range 128-159 as is. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - If the screen has not been initialized, or the <EM>level</EM> parameter is out - of range, the function returns <STRONG>ERR</STRONG>. Otherwise, it returns the previous - level: <STRONG>0</STRONG>, <STRONG>1</STRONG> or <STRONG>2</STRONG>. + If the screen has not been initialized, or the <EM>level</EM> parameter is out + of range, <STRONG>use_legacy_coding</STRONG> returns <STRONG>ERR</STRONG>. Otherwise, it returns the + previous level: <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG>. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - This routine is specific to ncurses. It was not supported on Version - 7, BSD or System V implementations. It is recommended that any code - depending on ncurses extensions be conditioned using NCURSES_VERSION. + <STRONG>use_legacy_coding</STRONG> is specific to <EM>ncurses</EM>. It was not supported on + Version 7, BSD or System V implementations. Applications employing + <EM>ncurses</EM> extensions should condition their use on the visibility of the + <STRONG>NCURSES_VERSION</STRONG> preprocessor macro. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG>unctrl</STRONG>. +</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE> + Thomas Dickey (to support <STRONG>lynx(1)</STRONG>'s font-switching feature). -</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE> - Thomas Dickey (to support lynx's font-switching feature). +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG> - <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -107,8 +107,8 @@ <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-AUTHORS">AUTHORS</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-AUTHOR">AUTHOR</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/menu.3x.html b/doc/html/man/menu.3x.html index 6961b2b19314..a499cf1adbd7 100644 --- a/doc/html/man/menu.3x.html +++ b/doc/html/man/menu.3x.html @@ -1,7 +1,7 @@ -<!-- +<!-- * t **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2014,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +28,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: menu.3x,v 1.27 2020/02/02 23:34:34 tom Exp @ + * @Id: menu.3x,v 1.45 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>menu 3x</TITLE> +<TITLE>menu 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">menu 3x</H1> +<H1 class="no-header">menu 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> +<STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> Library calls <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> @@ -190,24 +190,19 @@ </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><menu.h></STRONG> automatically includes the header files - <STRONG><curses.h></STRONG> and <STRONG><eti.h></STRONG>. - - In your library list, libmenu.a should be before libncurses.a; that is, - you should say "-lmenu -lncurses", not the other way around (which - would give a link-error when using static libraries). + The header file <EM>menu.h</EM> itself includes the header file <EM>curses.h</EM>. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V menu library. They were not + These routines emulate the System V menu library. They were not supported on Version 7 or BSD versions. - The menu facility was documented in SVr4.2 in <EM>Character</EM> <EM>User</EM> <EM>Interface</EM> - <EM>Programming</EM> <EM>(UNIX</EM> <EM>SVR4.2)</EM>. + A menu facility was documented in SVr4.2's <EM>Character</EM> <EM>User</EM> <EM>Interface</EM> + <EM>Programming</EM> document. It is not part of X/Open Curses. - Aside from ncurses, there are few implementations: + Aside from <EM>ncurses</EM>, there are few implementations: <STRONG>o</STRONG> systems based on SVr4 source code, e.g., Solaris. @@ -215,19 +210,17 @@ </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE> - Juergen Pfeifer. Manual pages and adaptation for ncurses by Eric S. + Juergen Pfeifer. Manual pages and adaptation for <EM>ncurses</EM> by Eric S. Raymond. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for detailed + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for detailed descriptions of the entry points. - This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109). - - <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> </PRE> <div class="nav"> <ul> diff --git a/doc/html/man/menu_attributes.3x.html b/doc/html/man/menu_attributes.3x.html index ec9db2ed2e32..3b3f6ea5e2e8 100644 --- a/doc/html/man/menu_attributes.3x.html +++ b/doc/html/man/menu_attributes.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: menu_attributes.3x,v 1.19 2020/10/17 23:58:58 tom Exp @ + * @Id: menu_attributes.3x,v 1.36 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>menu_attributes 3x</TITLE> +<TITLE>menu_attributes 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">menu_attributes 3x</H1> +<H1 class="no-header">menu_attributes 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG> <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG> +<STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG> @@ -101,16 +100,6 @@ Routine detected an incorrect or out-of-range argument. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for detailed - descriptions of the entry points. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><menu.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> These routines emulate the System V menu library. They were not supported on Version 7 or BSD versions. @@ -121,8 +110,13 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for detailed + descriptions of the entry points. + - <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG> + +ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -130,10 +124,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/menu_cursor.3x.html b/doc/html/man/menu_cursor.3x.html index 0957a9ad5666..0003bcdbd4b4 100644 --- a/doc/html/man/menu_cursor.3x.html +++ b/doc/html/man/menu_cursor.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: menu_cursor.3x,v 1.13 2020/10/17 23:41:31 tom Exp @ + * @Id: menu_cursor.3x,v 1.30 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>menu_cursor 3x</TITLE> +<TITLE>menu_cursor 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">menu_cursor 3x</H1> +<H1 class="no-header">menu_cursor 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG> <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG> +<STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG> @@ -79,17 +78,8 @@ The menu has not been posted. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><menu.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V menu library. They were not + These routines emulate the System V menu library. They were not supported on Version 7 or BSD versions. @@ -98,8 +88,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> + + - <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -107,10 +101,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/menu_driver.3x.html b/doc/html/man/menu_driver.3x.html index 8a3b348260cc..d82a7f5cedee 100644 --- a/doc/html/man/menu_driver.3x.html +++ b/doc/html/man/menu_driver.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: menu_driver.3x,v 1.28 2020/12/19 21:33:37 tom Exp @ + * @Id: menu_driver.3x,v 1.47 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>menu_driver 3x</TITLE> +<TITLE>menu_driver 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">menu_driver 3x</H1> +<H1 class="no-header">menu_driver 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG> <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG> +<STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG> @@ -133,7 +133,7 @@ corresponding action is performed. -</PRE><H3><a name="h3-MOUSE-HANDLING">MOUSE HANDLING</a></H3><PRE> +</PRE><H3><a name="h3-Mouse-Handling">Mouse Handling</a></H3><PRE> If the second argument is the KEY_MOUSE special key, the associated mouse event is translated into one of the above pre-defined requests. Currently only clicks in the user window (e.g., inside the menu display @@ -172,7 +172,7 @@ translated into a menu request an <STRONG>E_REQUEST_DENIED</STRONG> is returned. -</PRE><H3><a name="h3-APPLICATION-DEFINED-COMMANDS">APPLICATION-DEFINED COMMANDS</a></H3><PRE> +</PRE><H3><a name="h3-Application-defined-Commands">Application-defined Commands</a></H3><PRE> If the second argument is neither printable nor one of the above pre- defined menu requests or KEY_MOUSE, the drive assumes it is an application-specific command and returns <STRONG>E_UNKNOWN_COMMAND</STRONG>. @@ -207,19 +207,10 @@ The menu driver could not process the request. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><menu.h></STRONG> automatically includes the header files - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V menu library. They were not - supported on Version 7 or BSD versions. The support for mouse events - is ncurses specific. + These routines emulate the System V menu library. They were not + supported on Version 7 or BSD versions. The support for mouse events + is <EM>ncurses</EM> specific. </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE> @@ -227,8 +218,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> + + - <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -236,15 +231,14 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a> <ul> -<li><a href="#h3-MOUSE-HANDLING">MOUSE HANDLING</a></li> -<li><a href="#h3-APPLICATION-DEFINED-COMMANDS">APPLICATION-DEFINED COMMANDS</a></li> +<li><a href="#h3-Mouse-Handling">Mouse Handling</a></li> +<li><a href="#h3-Application-defined-Commands">Application-defined Commands</a></li> </ul> </li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/menu_format.3x.html b/doc/html/man/menu_format.3x.html index bafbee3dd46a..ddd934cfbfbd 100644 --- a/doc/html/man/menu_format.3x.html +++ b/doc/html/man/menu_format.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2015,2016 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: menu_format.3x,v 1.18 2020/10/17 23:43:11 tom Exp @ + * @Id: menu_format.3x,v 1.35 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>menu_format 3x</TITLE> +<TITLE>menu_format 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">menu_format 3x</H1> +<H1 class="no-header">menu_format 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG> <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG> +<STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG> @@ -92,17 +91,8 @@ No items are connected to the menu. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><menu.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V menu library. They were not + These routines emulate the System V menu library. They were not supported on Version 7 or BSD versions. @@ -111,8 +101,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> + + - <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -120,10 +114,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/menu_hook.3x.html b/doc/html/man/menu_hook.3x.html index 3ece961190f2..ca1810c27ea9 100644 --- a/doc/html/man/menu_hook.3x.html +++ b/doc/html/man/menu_hook.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2007,2010 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: menu_hook.3x,v 1.15 2020/10/17 23:44:57 tom Exp @ + * @Id: menu_hook.3x,v 1.32 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>menu_hook 3x</TITLE> +<TITLE>menu_hook 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">menu_hook 3x</H1> +<H1 class="no-header">menu_hook 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG> <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG> +<STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG> @@ -54,17 +53,17 @@ </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> <STRONG>#include</STRONG> <STRONG><menu.h></STRONG> - <STRONG>int</STRONG> <STRONG>set_item_init(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Hook</STRONG> <EM>func);</EM> - <STRONG>Menu_Hook</STRONG> <STRONG>item_init(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu);</EM> + <STRONG>int</STRONG> <STRONG>set_item_init(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Hook</STRONG> <EM>func</EM><STRONG>);</STRONG> + <STRONG>Menu_Hook</STRONG> <STRONG>item_init(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>set_item_term(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Hook</STRONG> <EM>func);</EM> - <STRONG>Menu_Hook</STRONG> <STRONG>item_term(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu);</EM> + <STRONG>int</STRONG> <STRONG>set_item_term(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Hook</STRONG> <EM>func</EM><STRONG>);</STRONG> + <STRONG>Menu_Hook</STRONG> <STRONG>item_term(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>set_menu_init(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Hook</STRONG> <EM>func);</EM> - <STRONG>Menu_Hook</STRONG> <STRONG>menu_init(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu);</EM> + <STRONG>int</STRONG> <STRONG>set_menu_init(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Hook</STRONG> <EM>func</EM><STRONG>);</STRONG> + <STRONG>Menu_Hook</STRONG> <STRONG>menu_init(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>set_menu_term(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Hook</STRONG> <EM>func);</EM> - <STRONG>Menu_Hook</STRONG> <STRONG>menu_term(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu);</EM> + <STRONG>int</STRONG> <STRONG>set_menu_term(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Hook</STRONG> <EM>func</EM><STRONG>);</STRONG> + <STRONG>Menu_Hook</STRONG> <STRONG>menu_term(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> @@ -103,17 +102,8 @@ System error occurred (see <STRONG>errno(3)</STRONG>). -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><menu.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V menu library. They were not + These routines emulate the System V menu library. They were not supported on Version 7 or BSD versions. @@ -122,8 +112,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> + + - <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -131,10 +125,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/menu_items.3x.html b/doc/html/man/menu_items.3x.html index 1b010521d094..7f1c08249cce 100644 --- a/doc/html/man/menu_items.3x.html +++ b/doc/html/man/menu_items.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2012,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: menu_items.3x,v 1.17 2020/10/24 09:00:06 tom Exp @ + * @Id: menu_items.3x,v 1.34 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>menu_items 3x</TITLE> +<TITLE>menu_items 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">menu_items 3x</H1> +<H1 class="no-header">menu_items 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG> <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG> +<STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG> @@ -94,20 +93,11 @@ System error occurred (see <STRONG>errno(3)</STRONG>). -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><menu.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V menu library. They were not + These routines emulate the System V menu library. They were not supported on Version 7 or BSD versions. - The SVr4 menu library documentation specifies the <STRONG>item_count</STRONG> error + The SVr4 menu library documentation specifies the <STRONG>item_count</STRONG> error value as -1 (which is the value of <STRONG>ERR</STRONG>). @@ -116,8 +106,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> + + - <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -125,10 +119,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/menu_mark.3x.html b/doc/html/man/menu_mark.3x.html index bc9b0df02d17..1cdb2b051b10 100644 --- a/doc/html/man/menu_mark.3x.html +++ b/doc/html/man/menu_mark.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: menu_mark.3x,v 1.18 2020/10/24 08:59:04 tom Exp @ + * @Id: menu_mark.3x,v 1.35 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>menu_mark 3x</TITLE> +<TITLE>menu_mark 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">menu_mark 3x</H1> +<H1 class="no-header">menu_mark 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG> <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG> +<STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG> @@ -90,17 +89,8 @@ System error occurred (see <STRONG>errno(3)</STRONG>). -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><menu.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V menu library. They were not + These routines emulate the System V menu library. They were not supported on Version 7 or BSD versions. @@ -109,8 +99,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> + + - <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -118,10 +112,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/menu_new.3x.html b/doc/html/man/menu_new.3x.html index 165764abb672..e53eacb65c44 100644 --- a/doc/html/man/menu_new.3x.html +++ b/doc/html/man/menu_new.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: menu_new.3x,v 1.18 2020/10/24 08:57:51 tom Exp @ + * @Id: menu_new.3x,v 1.35 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>menu_new 3x</TITLE> +<TITLE>menu_new 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">menu_new 3x</H1> +<H1 class="no-header">menu_new 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG> <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG> +<STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG> @@ -90,17 +89,8 @@ The menu has already been posted. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><menu.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V menu library. They were not + These routines emulate the System V menu library. They were not supported on Version 7 or BSD versions. @@ -109,8 +99,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> + + - <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -118,10 +112,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/menu_opts.3x.html b/doc/html/man/menu_opts.3x.html index 125d70fd3d0b..453526ab206b 100644 --- a/doc/html/man/menu_opts.3x.html +++ b/doc/html/man/menu_opts.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2015,2016 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: menu_opts.3x,v 1.18 2020/10/17 23:46:35 tom Exp @ + * @Id: menu_opts.3x,v 1.35 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>menu_opts 3x</TITLE> +<TITLE>menu_opts 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">menu_opts 3x</H1> +<H1 class="no-header">menu_opts 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG> <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG> +<STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG> @@ -114,17 +113,8 @@ The menu is already posted. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><menu.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V menu library. They were not + These routines emulate the System V menu library. They were not supported on Version 7 or BSD versions. @@ -133,8 +123,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> + + - <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -142,10 +136,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/menu_pattern.3x.html b/doc/html/man/menu_pattern.3x.html index 401ad4ae3be9..34d6f98d2cb8 100644 --- a/doc/html/man/menu_pattern.3x.html +++ b/doc/html/man/menu_pattern.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: menu_pattern.3x,v 1.21 2020/10/18 00:41:14 tom Exp @ + * @Id: menu_pattern.3x,v 1.38 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>menu_pattern 3x</TITLE> +<TITLE>menu_pattern 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">menu_pattern 3x</H1> +<H1 class="no-header">menu_pattern 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG> <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG> +<STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG> @@ -94,17 +94,8 @@ System error occurred (see <STRONG>errno(3)</STRONG>). -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><menu.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V menu library. They were not + These routines emulate the System V menu library. They were not supported on Version 7 or BSD versions. @@ -113,8 +104,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> + + - <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -122,10 +117,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/menu_post.3x.html b/doc/html/man/menu_post.3x.html index 5b5598c94b53..6d48f77b05a7 100644 --- a/doc/html/man/menu_post.3x.html +++ b/doc/html/man/menu_post.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: menu_post.3x,v 1.19 2020/10/17 23:47:21 tom Exp @ + * @Id: menu_post.3x,v 1.36 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>menu_post 3x</TITLE> +<TITLE>menu_post 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">menu_post 3x</H1> +<H1 class="no-header">menu_post 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG> <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG> +<STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG> @@ -97,17 +96,8 @@ No items are connected to the menu. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><menu.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V menu library. They were not + These routines emulate the System V menu library. They were not supported on Version 7 or BSD versions. @@ -116,8 +106,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> + + - <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -125,10 +119,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/menu_requestname.3x.html b/doc/html/man/menu_requestname.3x.html index 518955d77964..0a06ada495bd 100644 --- a/doc/html/man/menu_requestname.3x.html +++ b/doc/html/man/menu_requestname.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: menu_requestname.3x,v 1.15 2020/10/18 00:40:34 tom Exp @ + * @Id: menu_requestname.3x,v 1.33 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>menu_requestname 3x</TITLE> +<TITLE>menu_requestname 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">menu_requestname 3x</H1> +<H1 class="no-header">menu_requestname 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG> <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG> +<STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG> @@ -74,17 +73,8 @@ <STRONG>errno</STRONG>. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><menu.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines are specific to ncurses. They were not supported on + These routines are specific to <EM>ncurses</EM>. They were not supported on Version 7, BSD or System V implementations. It is recommended that any code depending on them be conditioned using NCURSES_VERSION. @@ -94,8 +84,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> + + - <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -103,10 +97,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/menu_spacing.3x.html b/doc/html/man/menu_spacing.3x.html index aff22830bc5b..5526b4dea54f 100644 --- a/doc/html/man/menu_spacing.3x.html +++ b/doc/html/man/menu_spacing.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: menu_spacing.3x,v 1.17 2020/10/17 23:48:53 tom Exp @ + * @Id: menu_spacing.3x,v 1.37 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>menu_spacing 3x</TITLE> +<TITLE>menu_spacing 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">menu_spacing 3x</H1> +<H1 class="no-header">menu_spacing 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG> <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG> +<STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG> @@ -67,38 +66,39 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> The function <STRONG>set_menu_spacing</STRONG> sets the spacing information for the - menu. Its parameter <STRONG>spc_description</STRONG> controls the number of spaces - between an item name and an item description. It must not be larger - than <STRONG>TABSIZE</STRONG>. The menu system puts in the middle of this spacing area - the pad character. The remaining parts are filled with spaces. The - <STRONG>spc_rows</STRONG> parameter controls the number of rows that are used for an - item. It must not be larger than 3. The menu system inserts the blank - lines between item rows, these lines will contain the pad character in - the appropriate positions. The <STRONG>spc_columns</STRONG> parameter controls the - number of blanks between columns of items. It must not be larger than - <STRONG>TABSIZE</STRONG>. A value of 0 for all the spacing values resets them to the - default, which is 1 for all of them. - The function <STRONG>menu_spacing</STRONG> passes back the spacing info for the menu. - If a pointer is NULL, this specific info is simply not returned. + menu. Its parameters provide the description and the size (in rows and + columns). + <EM>spc</EM><STRONG>_</STRONG><EM>description</EM> + controls the number of spaces between an item name and an item + description. It must not be larger than <STRONG>TABSIZE</STRONG>. The menu + system puts in the middle of this spacing area the pad + character. The remaining parts are filled with spaces. -</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - Both routines return <STRONG>E_OK</STRONG> on success. <STRONG>set_menu_spacing</STRONG> may return - <STRONG>E_POSTED</STRONG> if the menu is posted, or <STRONG>E_BAD_ARGUMENT</STRONG> if one of the spacing - values is out of range. + <EM>spc</EM><STRONG>_</STRONG><EM>rows</EM> + controls the number of rows that are used for an item. It must + not be larger than 3. The menu system inserts the blank lines + between item rows, these lines will contain the pad character in + the appropriate positions. + <EM>spc</EM><STRONG>_</STRONG><EM>columns</EM> + controls the number of blanks between columns of items. It must + not be larger than <STRONG>TABSIZE</STRONG>. A value of 0 for all the spacing + values resets them to the default, which is 1 for all of them. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>. + The function <STRONG>menu_spacing</STRONG> returns the spacing information for the menu. + If a pointer is NULL, the corresponding information is simply not + returned. -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><menu.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. +</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> + Both routines return <STRONG>E_OK</STRONG> on success. <STRONG>set_menu_spacing</STRONG> may return + <STRONG>E_POSTED</STRONG> if the menu is posted, or <STRONG>E_BAD_ARGUMENT</STRONG> if one of the spacing + values is out of range. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines are specific to ncurses. They were not supported on + These routines are specific to <EM>ncurses</EM>. They were not supported on Version 7, BSD or System V implementations. It is recommended that any code depending on them be conditioned using NCURSES_VERSION. @@ -108,8 +108,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> + - <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG> + +ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -117,10 +121,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/menu_userptr.3x.html b/doc/html/man/menu_userptr.3x.html index bcd22a2fb9d1..d2b52f1df4ed 100644 --- a/doc/html/man/menu_userptr.3x.html +++ b/doc/html/man/menu_userptr.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: menu_userptr.3x,v 1.16 2020/10/18 00:39:49 tom Exp @ + * @Id: menu_userptr.3x,v 1.33 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>menu_userptr 3x</TITLE> +<TITLE>menu_userptr 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">menu_userptr 3x</H1> +<H1 class="no-header">menu_userptr 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG> <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG> +<STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG> @@ -72,17 +71,8 @@ <STRONG>set_menu_userptr</STRONG> returns <STRONG>E_OK</STRONG> (success). -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><menu.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V menu library. They were not + These routines emulate the System V menu library. They were not supported on Version 7 or BSD versions. The user pointer is a void pointer. We chose not to leave it as a char @@ -94,8 +84,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> + + - <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -103,10 +97,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/menu_win.3x.html b/doc/html/man/menu_win.3x.html index 2ad5ada45b26..9688e0f506ce 100644 --- a/doc/html/man/menu_win.3x.html +++ b/doc/html/man/menu_win.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2006,2010 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: menu_win.3x,v 1.15 2020/10/17 23:50:51 tom Exp @ + * @Id: menu_win.3x,v 1.32 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>menu_win 3x</TITLE> +<TITLE>menu_win 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">menu_win 3x</H1> +<H1 class="no-header">menu_win 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG> <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG> +<STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG> @@ -60,7 +59,7 @@ <STRONG>int</STRONG> <STRONG>set_menu_sub(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>sub</EM><STRONG>);</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*menu_sub(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG> - <STRONG>int</STRONG> <STRONG>scale_menu(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu,</EM> <EM>int</EM> <EM>*rows</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>columns);</EM> + <STRONG>int</STRONG> <STRONG>scale_menu(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>rows</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>columns</EM><STRONG>);</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> @@ -100,17 +99,8 @@ No items are connected to the menu. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><menu.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V menu library. They were not + These routines emulate the System V menu library. They were not supported on Version 7 or BSD versions. @@ -119,8 +109,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> + + - <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -128,10 +122,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/mitem_current.3x.html b/doc/html/man/mitem_current.3x.html index 016b6609854b..ea8a33f7ddc9 100644 --- a/doc/html/man/mitem_current.3x.html +++ b/doc/html/man/mitem_current.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2006,2010 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: mitem_current.3x,v 1.20 2020/10/18 00:39:06 tom Exp @ + * @Id: mitem_current.3x,v 1.37 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>mitem_current 3x</TITLE> +<TITLE>mitem_current 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">mitem_current 3x</H1> +<H1 class="no-header">mitem_current 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG> <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG> +<STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG> Library calls <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG> @@ -102,20 +101,11 @@ System error occurred (see <STRONG>errno(3)</STRONG>). -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><menu.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V menu library. They were not + These routines emulate the System V menu library. They were not supported on Version 7 or BSD versions. - The SVr4 menu library documentation specifies the <STRONG>top_row</STRONG> and + The SVr4 menu library documentation specifies the <STRONG>top_row</STRONG> and <STRONG>index_item</STRONG> error value as -1 (which is the value of <STRONG>ERR</STRONG>). @@ -124,8 +114,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> + + - <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -133,10 +127,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/mitem_name.3x.html b/doc/html/man/mitem_name.3x.html index b757dd4765d9..1ff53c8a9437 100644 --- a/doc/html/man/mitem_name.3x.html +++ b/doc/html/man/mitem_name.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: mitem_name.3x,v 1.14 2020/10/18 00:37:48 tom Exp @ + * @Id: mitem_name.3x,v 1.31 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>mitem_name 3x</TITLE> +<TITLE>mitem_name 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">mitem_name 3x</H1> +<H1 class="no-header">mitem_name 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG> <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG> +<STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG> Library calls <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG> @@ -69,17 +68,8 @@ <STRONG>errno</STRONG>. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><menu.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V menu library. They were not + These routines emulate the System V menu library. They were not supported on Version 7 or BSD versions. @@ -88,8 +78,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> + + - <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -97,10 +91,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/mitem_new.3x.html b/doc/html/man/mitem_new.3x.html index 25ef46f5d5c5..b4ed66765bb7 100644 --- a/doc/html/man/mitem_new.3x.html +++ b/doc/html/man/mitem_new.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: mitem_new.3x,v 1.19 2020/10/18 00:37:03 tom Exp @ + * @Id: mitem_new.3x,v 1.36 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>mitem_new 3x</TITLE> +<TITLE>mitem_new 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">mitem_new 3x</H1> +<H1 class="no-header">mitem_new 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG> <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG> +<STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG> Library calls <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG> @@ -93,17 +92,8 @@ System error occurred (see <STRONG>errno(3)</STRONG>). -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><menu.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V menu library. They were not + These routines emulate the System V menu library. They were not supported on Version 7 or BSD versions. @@ -112,8 +102,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> + + - <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -121,10 +115,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/mitem_opts.3x.html b/doc/html/man/mitem_opts.3x.html index 26137c7dd6fe..537a91301e0f 100644 --- a/doc/html/man/mitem_opts.3x.html +++ b/doc/html/man/mitem_opts.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: mitem_opts.3x,v 1.16 2020/10/17 23:52:26 tom Exp @ + * @Id: mitem_opts.3x,v 1.33 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>mitem_opts 3x</TITLE> +<TITLE>mitem_opts 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">mitem_opts 3x</H1> +<H1 class="no-header">mitem_opts 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG> <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG> +<STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG> Library calls <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG> @@ -88,17 +87,8 @@ System error occurred (see <STRONG>errno(3)</STRONG>). -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><menu.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V menu library. They were not + These routines emulate the System V menu library. They were not supported on Version 7 or BSD versions. @@ -107,8 +97,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> + + - <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -116,10 +110,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/mitem_userptr.3x.html b/doc/html/man/mitem_userptr.3x.html index fe58bd4f48c5..afb442d81c63 100644 --- a/doc/html/man/mitem_userptr.3x.html +++ b/doc/html/man/mitem_userptr.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: mitem_userptr.3x,v 1.17 2020/10/18 00:36:16 tom Exp @ + * @Id: mitem_userptr.3x,v 1.34 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>mitem_userptr 3x</TITLE> +<TITLE>mitem_userptr 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">mitem_userptr 3x</H1> +<H1 class="no-header">mitem_userptr 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG> <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG> +<STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG> Library calls <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG> @@ -72,17 +71,8 @@ The <STRONG>set_item_userptr</STRONG> always returns <STRONG>E_OK</STRONG> (success). -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><menu.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V menu library. They were not + These routines emulate the System V menu library. They were not supported on Version 7 or BSD versions. The user pointer is a void pointer. We chose not to leave it as a char @@ -94,8 +84,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> + + - <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -103,10 +97,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/mitem_value.3x.html b/doc/html/man/mitem_value.3x.html index 8ddf93432caa..01ce5d506a21 100644 --- a/doc/html/man/mitem_value.3x.html +++ b/doc/html/man/mitem_value.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: mitem_value.3x,v 1.15 2020/10/17 23:53:24 tom Exp @ + * @Id: mitem_value.3x,v 1.32 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>mitem_value 3x</TITLE> +<TITLE>mitem_value 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">mitem_value 3x</H1> +<H1 class="no-header">mitem_value 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG> <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG> +<STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG> Library calls <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG> @@ -79,17 +79,8 @@ The menu driver could not process the request. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><menu.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V menu library. They were not + These routines emulate the System V menu library. They were not supported on Version 7 or BSD versions. @@ -98,8 +89,12 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> + + - <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -107,10 +102,9 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/mitem_visible.3x.html b/doc/html/man/mitem_visible.3x.html index 7a63ad3c8504..8224323f3282 100644 --- a/doc/html/man/mitem_visible.3x.html +++ b/doc/html/man/mitem_visible.3x.html @@ -1,7 +1,6 @@ -<!-- - * t +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998,2010 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,27 +27,27 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: mitem_visible.3x,v 1.10 2020/10/17 23:53:55 tom Exp @ + * @Id: mitem_visible.3x,v 1.27 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>mitem_visible 3x</TITLE> +<TITLE>mitem_visible 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">mitem_visible 3x</H1> +<H1 class="no-header">mitem_visible 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG> <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG> +<STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG> Library calls <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>mitem_visible</STRONG> - check visibility of a menu item + <STRONG>item_visible</STRONG> - check visibility of a menu item </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -63,17 +62,8 @@ this portion will be smaller than the whole menu). -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>. - - -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - The header file <STRONG><menu.h></STRONG> automatically includes the header file - <STRONG><curses.h></STRONG>. - - </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines emulate the System V menu library. They were not + These routines emulate the System V menu library. They were not supported on Version 7 or BSD versions. @@ -82,18 +72,21 @@ Raymond. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> + + - <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG> </PRE> <div class="nav"> <ul> <li><a href="#h2-NAME">NAME</a></li> <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/ncurses.3x.html b/doc/html/man/ncurses.3x.html index 64cc934b441d..9b061acba0e0 100644 --- a/doc/html/man/ncurses.3x.html +++ b/doc/html/man/ncurses.3x.html @@ -1,7 +1,7 @@ -<!-- +<!-- * t **************************************************************************** - * Copyright 2018-2020,2021 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2015,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,27 +28,27 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: ncurses.3x,v 1.152 2021/01/09 11:07:55 tom Exp @ + * @Id: ncurses.3x,v 1.214 2024/04/27 17:55:43 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>ncurses 3x</TITLE> +<TITLE>ncurses 3x 2024-04-27 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">ncurses 3x</H1> +<H1 class="no-header">ncurses 3x 2024-04-27 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> +<STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> Library calls <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>ncurses</STRONG> - CRT screen handling and optimization package + <STRONG>ncurses</STRONG> - character-cell terminal interface with optimized output </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -56,237 +56,275 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - The <STRONG>ncurses</STRONG> library routines give the user a terminal-independent - method of updating character screens with reasonable optimization. - This implementation is "new curses" (ncurses) and is the approved - replacement for 4.4BSD classic curses, which has been discontinued. - This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109). - - The <STRONG>ncurses</STRONG> library emulates the curses library of System V Release 4 - UNIX, and XPG4 (X/Open Portability Guide) curses (also known as XSI - curses). XSI stands for X/Open System Interfaces Extension. The - <STRONG>ncurses</STRONG> library is freely redistributable in source form. Differences - from the SVr4 curses are summarized under the <STRONG>EXTENSIONS</STRONG> and - <STRONG>PORTABILITY</STRONG> sections below and described in detail in the respective - <STRONG>EXTENSIONS</STRONG>, <STRONG>PORTABILITY</STRONG> and <STRONG>BUGS</STRONG> sections of individual man pages. - - The <STRONG>ncurses</STRONG> library also provides many useful extensions, i.e., - features which cannot be implemented by a simple add-on library but - which require access to the internals of the library. - - A program using these routines must be linked with the <STRONG>-lncurses</STRONG> - option, or (if it has been generated) with the debugging library - <STRONG>-lncurses_g</STRONG>. (Your system integrator may also have installed these - libraries under the names <STRONG>-lcurses</STRONG> and <STRONG>-lcurses_g</STRONG>.) The ncurses_g - library generates trace logs (in a file called 'trace' in the current - directory) that describe curses actions. See also the section on - <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>. - - The <STRONG>ncurses</STRONG> package supports: overall screen, window and pad - manipulation; output to windows and pads; reading terminal input; - control over terminal and <STRONG>curses</STRONG> input and output options; environment - query routines; color manipulation; use of soft label keys; terminfo - capabilities; and access to low-level terminal-manipulation routines. - - -</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE> - The library uses the locale which the calling program has initialized. - That is normally done with <STRONG>setlocale</STRONG>: - - <STRONG>setlocale(LC_ALL,</STRONG> <STRONG>"");</STRONG> - - If the locale is not initialized, the library assumes that characters - are printable as in ISO-8859-1, to work with certain legacy programs. - You should initialize the locale and not rely on specific details of - the library when the locale has not been setup. - - The function <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> must be called to initialize the - library before any of the other routines that deal with windows and - screens are used. The routine <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> must be called before - exiting. - - To get character-at-a-time input without echoing (most interactive, - screen oriented programs want this), the following sequence should be - used: - - <STRONG>initscr();</STRONG> <STRONG>cbreak();</STRONG> <STRONG>noecho();</STRONG> - - Most programs would additionally use the sequence: - - <STRONG>intrflush(stdscr,</STRONG> <STRONG>FALSE);</STRONG> - <STRONG>keypad(stdscr,</STRONG> <STRONG>TRUE);</STRONG> - - Before a <STRONG>curses</STRONG> program is run, the tab stops of the terminal should be - set and its initialization strings, if defined, must be output. This - can be done by executing the <STRONG>tput</STRONG> <STRONG>init</STRONG> command after the shell - environment variable <STRONG>TERM</STRONG> has been exported. <STRONG>tset(1)</STRONG> is usually - responsible for doing this. [See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for further details.] - - -</PRE><H3><a name="h3-Datatypes">Datatypes</a></H3><PRE> - The <STRONG>ncurses</STRONG> library permits manipulation of data structures, called - <EM>windows</EM>, which can be thought of as two-dimensional arrays of - characters representing all or part of a CRT screen. A default window - called <STRONG>stdscr</STRONG>, which is the size of the terminal screen, is supplied. - Others may be created with <STRONG>newwin</STRONG>. - - Note that <STRONG>curses</STRONG> does not handle overlapping windows, that's done by - the <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> library. This means that you can either use <STRONG>stdscr</STRONG> or - divide the screen into tiled windows and not using <STRONG>stdscr</STRONG> at all. - Mixing the two will result in unpredictable, and undesired, effects. - - Windows are referred to by variables declared as <STRONG>WINDOW</STRONG> <STRONG>*</STRONG>. These data - structures are manipulated with routines described here and elsewhere - in the <STRONG>ncurses</STRONG> manual pages. Among those, the most basic routines are - <STRONG>move</STRONG> and <STRONG>addch</STRONG>. More general versions of these routines are included - with names beginning with <STRONG>w</STRONG>, allowing the user to specify a window. - The routines not beginning with <STRONG>w</STRONG> affect <STRONG>stdscr</STRONG>. - - After using routines to manipulate a window, <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> is called, - telling <STRONG>curses</STRONG> to make the user's CRT screen look like <STRONG>stdscr</STRONG>. The - characters in a window are actually of type <STRONG>chtype</STRONG>, (character and - attribute data) so that other information about the character may also - be stored with each character. + The "new curses" library offers the programmer a terminal-independent + means of reading keyboard and mouse input and updating character-cell + terminals with output optimized to minimize screen updates. <EM>ncurses</EM> + replaces the <EM>curses</EM> libraries from System V Release 4 Unix ("SVr4") and + 4.4BSD Unix, the development of which ceased in the 1990s. This + document describes <EM>ncurses</EM> version 6.5 (patch 20240427). + + <EM>ncurses</EM> permits control of the terminal screen's contents; abstraction + and subdivision thereof with <EM>windows</EM> and <EM>pads</EM>; the reading of terminal + input; control of terminal input and output options; environment query + routines; color manipulation; the definition and use of <EM>soft</EM> <EM>label</EM> + keys; <EM>terminfo</EM> capability access; a <EM>termcap</EM> compatibility interface; + and an abstraction of the system's API for manipulating the terminal + (such as <STRONG>termios(3)</STRONG>). + + <EM>ncurses</EM> implements the standard interface described by X/Open Curses + Issue 7. In many behavioral details not standardized by X/Open, + <EM>ncurses</EM> emulates the <EM>curses</EM> library of SVr4 and provides numerous + useful extensions. + + <EM>ncurses</EM> man pages employ several sections to clarify matters of usage + and interoperability with other <EM>curses</EM> implementations. + + <STRONG>o</STRONG> "NOTES" describes issues and caveats of which any user of the + <EM>ncurses</EM> API should be aware, such as limitations on the size of an + underlying integral type or the availability of a preprocessor + macro exclusive of a function definition (which prevents its + address from being taken). This section also describes + implementation details that will be significant to the programmer + but which are not standardized. + + <STRONG>o</STRONG> "EXTENSIONS" presents <EM>ncurses</EM> innovations beyond the X/Open Curses + standard and/or the SVr4 <EM>curses</EM> implementation. They are termed + <EM>extensions</EM> to indicate that they cannot be implemented solely by + using the library API, but require access to the library's internal + state. + + <STRONG>o</STRONG> "PORTABILITY" discusses matters (beyond the exercise of extensions) + that should be considered when writing to a <EM>curses</EM> standard, or for + multiple implementations. + + <STRONG>o</STRONG> "HISTORY" examines points of detail in <EM>ncurses</EM> and other <EM>curses</EM> + implementations over the decades of their development, particularly + where precedent or inertia have frustrated better design (and, in a + few cases, where such inertia has been overcome). + + A <EM>curses</EM> application must be linked with the library; use the <STRONG>-lncurses</STRONG> + option to your compiler or linker. A debugging version of the library + may be available; if so, link with it using <STRONG>-lncurses_g</STRONG>. (Your system + integrator may have installed these libraries such that you can use the + options <STRONG>-lcurses</STRONG> and <STRONG>-lcurses_g</STRONG>, respectively.) The <EM>ncurses</EM><STRONG>_</STRONG><EM>g</EM> library + generates trace logs (in a file called <EM>trace</EM> in the current directory) + that describe <EM>ncurses</EM> actions. See section "ALTERNATE CONFIGURATIONS" + below. + + +</PRE><H3><a name="h3-Application-Structure">Application Structure</a></H3><PRE> + A <EM>curses</EM> application uses information from the system locale; + <STRONG>setlocale(3)</STRONG> prepares it for <EM>curses</EM> library calls. + + setlocale(LC_ALL, ""); + + If the locale is not thus initialized, the library assumes that + characters are printable as in ISO 8859-1, to work with certain legacy + programs. You should initialize the locale; do not expect consistent + behavior from the library when the locale has not been set up. + + <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG> or <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG> must be called to initialize <EM>curses</EM> before + use of any functions that deal with windows and screens. + + To get character-at-a-time input without echoing--most interactive, + screen-oriented programs want this--use the following sequence. + + initscr(); cbreak(); noecho(); + + Most applications perform further setup as follows. + + intrflush(stdscr, FALSE); + keypad(stdscr, TRUE); + + A <EM>curses</EM> program then often enters an event loop of some sort. Call + <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> before exiting. + + +</PRE><H3><a name="h3-Overview">Overview</a></H3><PRE> + A <EM>curses</EM> library abstracts the terminal screen by representing all or + part of it as a <EM>WINDOW</EM> data structure. A <EM>window</EM> is a rectangular grid + of character cells, addressed by row and column coordinates (<EM>y</EM>, <EM>x</EM>), + with the upper left corner as (0, 0). A window called <STRONG>stdscr</STRONG>, the same + size as the terminal screen, is always available. Create others with + <STRONG><A HREF="curs_window.3x.html">newwin(3x)</A></STRONG>. + + A <EM>curses</EM> library does not manage overlapping windows (but see below). + You can either use <STRONG>stdscr</STRONG> to manage one screen-filling window, or tile + the screen into non-overlapping windows and not use <STRONG>stdscr</STRONG> at all. + Mixing the two approaches will result in unpredictable and undesired + effects. + + Functions permit manipulation of a window and the <EM>cursor</EM> identifying + the cell within it at which the next output operation will occur. + Among those, the most basic are <STRONG><A HREF="curs_move.3x.html">move(3x)</A></STRONG> and <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>: these place the + cursor and write a character to <STRONG>stdscr</STRONG>, respectively. + + Frequent changes to the terminal screen can cause unpleasant flicker or + inefficient use of the communication channel to the device, so the + library does not generally update it automatically. Therefore, after + using <EM>curses</EM> functions to accumulate a set of desired updates that make + sense to present together, call <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> to tell the library to make + the user's screen look like <STRONG>stdscr</STRONG>. The library <EM>optimizes</EM> its output + by computing a minimal number of operations to mutate the screen from + its state at the previous refresh to the new one. Effective + optimization demands accurate information about the terminal device: + the management of such information is the province of the <STRONG><A HREF="curs_terminfo.3x.html">terminfo(3x)</A></STRONG> + API, a feature of every standard <EM>curses</EM> implementation. Special windows called <EM>pads</EM> may also be manipulated. These are windows - which are not constrained to the size of the screen and whose contents - need not be completely displayed. See <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> for more - information. + that are not constrained to the size of the terminal screen and whose + contents need not be completely displayed. See <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>. - In addition to drawing characters on the screen, video attributes and - colors may be supported, causing the characters to show up in such + In addition to drawing characters on the screen, rendering attributes + and colors may be supported, causing the characters to show up in such modes as underlined, in reverse video, or in color on terminals that - support such display enhancements. Line drawing characters may be - specified to be output. On input, <STRONG>curses</STRONG> is also able to translate - arrow and function keys that transmit escape sequences into single - values. The video attributes, line drawing characters, and input - values use names, defined in <STRONG><curses.h></STRONG>, such as <STRONG>A_REVERSE</STRONG>, <STRONG>ACS_HLINE</STRONG>, - and <STRONG>KEY_LEFT</STRONG>. - - -</PRE><H3><a name="h3-Environment-variables">Environment variables</a></H3><PRE> - If the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> are set, or if the - program is executing in a window environment, line and column - information in the environment will override information read by - <EM>terminfo</EM>. This would affect a program running in an AT&T 630 layer, - for example, where the size of a screen is changeable (see - <STRONG>ENVIRONMENT</STRONG>). - - If the environment variable <STRONG>TERMINFO</STRONG> is defined, any program using - <STRONG>curses</STRONG> checks for a local terminal definition before checking in the - standard place. For example, if <STRONG>TERM</STRONG> is set to <STRONG>att4424</STRONG>, then the - compiled terminal definition is found in - - <STRONG>/usr/share/terminfo/a/att4424</STRONG>. - - (The <STRONG>a</STRONG> is copied from the first letter of <STRONG>att4424</STRONG> to avoid creation of - huge directories.) However, if <STRONG>TERMINFO</STRONG> is set to <STRONG>$HOME/myterms</STRONG>, - <STRONG>curses</STRONG> first checks - - <STRONG>$HOME/myterms/a/att4424</STRONG>, - - and if that fails, it then checks - - <STRONG>/usr/share/terminfo/a/att4424</STRONG>. - - This is useful for developing experimental definitions or when write - permission in <STRONG>/usr/share/terminfo</STRONG> is not available. - - The integer variables <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> are defined in <STRONG><curses.h></STRONG> and will - be filled in by <STRONG>initscr</STRONG> with the size of the screen. The constants - <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG> have the values <STRONG>1</STRONG> and <STRONG>0</STRONG>, respectively. - - The <STRONG>curses</STRONG> routines also define the <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> variable <STRONG>curscr</STRONG> which is - used for certain low-level operations like clearing and redrawing a - screen containing garbage. The <STRONG>curscr</STRONG> can be used in only a few - routines. - - -</PRE><H3><a name="h3-Routine-and-Argument-Names">Routine and Argument Names</a></H3><PRE> - Many <STRONG>curses</STRONG> routines have two or more versions. The routines prefixed - with <STRONG>w</STRONG> require a window argument. The routines prefixed with <STRONG>p</STRONG> require - a pad argument. Those without a prefix generally use <STRONG>stdscr</STRONG>. - - The routines prefixed with <STRONG>mv</STRONG> require a <EM>y</EM> and <EM>x</EM> coordinate to move to - before performing the appropriate action. The <STRONG>mv</STRONG> routines imply a call - to <STRONG>move</STRONG> before the call to the other routine. The coordinate <EM>y</EM> always - refers to the row (of the window), and <EM>x</EM> always refers to the column. - The upper left-hand corner is always (0,0), not (1,1). - - The routines prefixed with <STRONG>mvw</STRONG> take both a window argument and <EM>x</EM> and <EM>y</EM> - coordinates. The window argument is always specified before the - coordinates. - - In each case, <EM>win</EM> is the window affected, and <EM>pad</EM> is the pad affected; - <EM>win</EM> and <EM>pad</EM> are always pointers to type <STRONG>WINDOW</STRONG>. - - Option setting routines require a Boolean flag <EM>bf</EM> with the value <STRONG>TRUE</STRONG> - or <STRONG>FALSE</STRONG>; <EM>bf</EM> is always of type <STRONG>bool</STRONG>. Most of the data types used in - the library routines, such as <STRONG>WINDOW</STRONG>, <STRONG>SCREEN</STRONG>, <STRONG>bool</STRONG>, and <STRONG>chtype</STRONG> are - defined in <STRONG><curses.h></STRONG>. Types used for the terminfo routines such as - <STRONG>TERMINAL</STRONG> are defined in <STRONG><term.h></STRONG>. - - This manual page describes functions which may appear in any - configuration of the library. There are two common configurations of - the library: - - <EM>ncurses</EM> - the "normal" library, which handles 8-bit characters. The - normal (8-bit) library stores characters combined with - attributes in <STRONG>chtype</STRONG> data. - - Attributes alone (no corresponding character) may be stored in - <STRONG>chtype</STRONG> or the equivalent <STRONG>attr_t</STRONG> data. In either case, the data - is stored in something like an integer. - - Each cell (row and column) in a <STRONG>WINDOW</STRONG> is stored as a <STRONG>chtype</STRONG>. - - <EM>ncursesw</EM> - the so-called "wide" library, which handles multibyte - characters (see the section on <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>). The - "wide" library includes all of the calls from the "normal" - library. It adds about one third more calls using data types - which store multibyte characters: - - <STRONG>cchar_t</STRONG> - corresponds to <STRONG>chtype</STRONG>. However it is a structure, because - more data is stored than can fit into an integer. The - characters are large enough to require a full integer - value - and there may be more than one character per cell. - The video attributes and color are stored in separate - fields of the structure. - - Each cell (row and column) in a <STRONG>WINDOW</STRONG> is stored as a - <STRONG>cchar_t</STRONG>. - - The <STRONG><A HREF="curs_getcchar.3x.html">setcchar(3x)</A></STRONG> and <STRONG><A HREF="curs_getcchar.3x.html">getcchar(3x)</A></STRONG> functions store and - retrieve the data from a <STRONG>cchar_t</STRONG> structure. + support such display enhancements. See <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>. - <STRONG>wchar_t</STRONG> - stores a "wide" character. Like <STRONG>chtype</STRONG>, this may be an - integer. + <EM>curses</EM> predefines constants for a small set of forms-drawing graphics + corresponding to the DEC Alternate Character Set (ACS), a feature of + VT100 and other terminals. See <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG>. - <STRONG>wint_t</STRONG> - stores a <STRONG>wchar_t</STRONG> or <STRONG>WEOF</STRONG> - not the same, though both may - have the same size. + <EM>curses</EM> is implemented using the operating system's terminal driver; + keystroke events are received not as scan codes but as byte sequences. + Graphical keycaps (alphanumeric and punctuation keys, and the space) + appear as-is. Everything else, including the tab, enter/return, + keypad, arrow, and function keys, appears as a control character or a + multibyte <EM>escape</EM> <EM>sequence.</EM> <EM>curses</EM> translates these into unique <EM>key</EM> + <EM>codes.</EM> See <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>. - The "wide" library provides new functions which are analogous - to functions in the "normal" library. There is a naming - convention which relates many of the normal/wide variants: a - "_w" is inserted into the name. For example, <STRONG>waddch</STRONG> becomes - <STRONG>wadd_wch</STRONG>. + <EM>ncurses</EM> provides reimplementations of the SVr4 <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, and + <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> libraries to ease construction of user interfaces with <EM>curses</EM>. -</PRE><H3><a name="h3-Routine-Name-Index">Routine Name Index</a></H3><PRE> - The following table lists the <STRONG>curses</STRONG> routines provided in the "normal" - and "wide" libraries and the names of the manual pages on which they - are described. Routines flagged with "*" are ncurses-specific, not - described by XPG4 or present in SVr4. - - <STRONG>curses</STRONG> Routine Name Manual Page Name +</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE> + The selection of an appropriate value of <EM>TERM</EM> in the process + environment is essential to correct <EM>curses</EM> and <EM>terminfo</EM> library + operation. A well-configured system selects a correct <EM>TERM</EM> value + automatically; <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> may assist with troubleshooting exotic + situations. + + If you change the terminal type, export the <EM>TERM</EM> environment variable + in the shell, then run <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> or the "<STRONG>tput</STRONG> <STRONG>init</STRONG>" command. See + subsection "Tabs and Initialization" of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. + + If the environment variables <EM>LINES</EM> and <EM>COLUMNS</EM> are set, or if the + <EM>curses</EM> program is executing in a graphical windowing environment, the + information obtained thence overrides that obtained by <EM>terminfo</EM>. An + <EM>ncurses</EM> extension supports resizable terminals; see <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>. + + If the environment variable <EM>TERMINFO</EM> is defined, a <EM>curses</EM> program + checks first for a terminal type description in the location it + identifies. <EM>TERMINFO</EM> is useful for developing experimental type + descriptions or when write permission to <EM>/usr/share/terminfo</EM> is not + available. + + See section "ENVIRONMENT" below. + + +</PRE><H3><a name="h3-Naming-Conventions">Naming Conventions</a></H3><PRE> + <EM>curses</EM> offers many functions in variant forms using a regular set of + alternatives to the name of an elemental one. Those prefixed with "w" + require a <EM>WINDOW</EM> pointer argument; those with a "mv" prefix first + perform cursor movement using <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG>; a "mvw" prefix indicates both. + The "w" function is typically the elemental one; the removal of this + prefix usually indicates operation on <STRONG>stdscr</STRONG>. + + Four functions prefixed with "p" require a pad argument. + + In function synopses, <EM>ncurses</EM> man pages apply the following names to + parameters. + + <EM>bf</EM> <EM>bool</EM> (<STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>) + <EM>c</EM> a <EM>char</EM> or <EM>int</EM> + <EM>ch</EM> a <EM>chtype</EM> + <EM>wc</EM> a <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> or <EM>wint</EM><STRONG>_</STRONG><EM>t</EM> + <EM>wch</EM> a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> + <EM>win</EM> pointer to a <EM>WINDOW</EM> + <EM>pad</EM> pointer to a <EM>WINDOW</EM> that is a pad + + +</PRE><H3><a name="h3-Wide-and-Non-wide-Character-Configurations">Wide and Non-wide Character Configurations</a></H3><PRE> + This manual page describes functions that appear in any configuration + of the library. There are two common configurations; see section + "ALTERNATE CONFIGURATIONS" below. + + <EM>ncurses</EM> is the library in its "non-wide" configuration, handling only + eight-bit characters. It stores a character combined with + attributes in a <EM>chtype</EM> datum, which is often an alias of <EM>int</EM>. + + Attributes alone (with no corresponding character) can be + stored in variables of <EM>chtype</EM> or <EM>attr</EM><STRONG>_</STRONG><EM>t</EM> type. In either + case, they are represented as an integral bit mask. + + Each cell of a <EM>WINDOW</EM> is stored as a <EM>chtype</EM>. + + <EM>ncursesw</EM> is the library in its "wide" configuration, which handles + character encodings requiring a larger data type than <EM>char</EM> (a + byte-sized type) can represent. It adds about one third more + calls using additional data types that can store such + <EM>multibyte</EM> characters. + + <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> corresponds to the non-wide configuration's <EM>chtype</EM>. + It always a structure type, because it stores more + data than fit into a standard scalar type. A + character code may not be representable as a <EM>char</EM>, + and moreover more than one character may occupy a + cell (as with accent marks and other diacritics). + Each character is of type <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>; a complex + character contains one spacing character and zero or + more non-spacing characters (see below). Attributes + and color data are stored in separate fields of the + structure, not combined as in <EM>chtype</EM>. + + Each cell of a <EM>WINDOW</EM> is stored as a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>. + + <STRONG><A HREF="curs_getcchar.3x.html">setcchar(3x)</A></STRONG> and <STRONG><A HREF="curs_getcchar.3x.html">getcchar(3x)</A></STRONG> store and retrieve <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> + data. The wide library API of <EM>ncurses</EM> depends on two data + types standardized by ISO C95. + + <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> stores a wide character. Like <EM>chtype</EM>, it may be an + alias of <EM>int</EM>. Depending on the character encoding, + a wide character may be <EM>spacing</EM>, meaning that it + occupies a character cell by itself and typically + accompanies cursor advancement, or <EM>non-spacing</EM>, + meaning that it occupies the same cell as a spacing + character, is often regarded as a "modifier" of the + base glyph with which it combines, and typically + does not advance the cursor. + + <EM>wint</EM><STRONG>_</STRONG><EM>t</EM> can store a <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> or the constant <STRONG>WEOF</STRONG>, + analogously to the <EM>int</EM>-sized character manipulation + functions of ISO C and its constant <STRONG>EOF</STRONG>. + + The wide library provides additional functions that + complement those in the non-wide library where the size of + the underlying character type is significant. A somewhat + regular naming convention relates many of the wide variants + to their non-wide counterparts; where a non-wide function + name contains "ch" or "str", prefix it with "_w" to obtain + the wide counterpart. For example, <STRONG>waddch</STRONG> becomes <STRONG>wadd_wch</STRONG>. + (Exceptions that add only "w" comprise <STRONG>addwstr</STRONG>, <STRONG>inwstr</STRONG>, and + their variants.) + + This convention is inapplicable to some non-wide function + names, so other transformations are used for the wide + configuration: the window background management function + "bkgd" becomes "bkgrnd"; the window border-drawing and + -clearing functions are suffixed with "_set"; and character + attribute manipulation functions like "attron" become + "attr_on". + + +</PRE><H3><a name="h3-Function-Name-Index">Function Name Index</a></H3><PRE> + The following table lists the <EM>curses</EM> functions provided in the non-wide + and wide APIs and the corresponding man pages that describe them. + Those flagged with "*" are <EM>ncurses</EM>-specific, neither described by + X/Open Curses nor present in SVr4. + + <STRONG><EM>curses</EM></STRONG> Function Name Man Page --------------------------------------------- COLOR_PAIR <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> - PAIR_NUMBER <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> + PAIR_NUMBER <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> add_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> add_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> add_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> @@ -313,7 +351,6 @@ bkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> bkgrndset <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> border <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> - border_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> box <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> box_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> @@ -343,6 +380,7 @@ doupdate <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> dupwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> echo <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> + echo_wchar <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> echochar <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> endwin <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> @@ -359,6 +397,7 @@ flash <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG> flushinp <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> free_pair <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>* + get_escdelay <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>* get_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> get_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> getattrs <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> @@ -379,7 +418,6 @@ getnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> getparx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>* getpary <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>* - getparyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG> getstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> getsyx <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> @@ -408,6 +446,7 @@ init_pair <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> initscr <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> innstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG> + innwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> ins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> ins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG> @@ -420,16 +459,20 @@ instr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG> intrflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> inwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> + is_cbreak <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>* is_cleared <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>* + is_echo <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>* is_idcok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>* is_idlok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>* is_immedok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>* is_keypad <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>* is_leaveok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>* is_linetouched <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG> + is_nl <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>* is_nodelay <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>* is_notimeout <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>* is_pad <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>* + is_raw <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>* is_scrollok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>* is_subwin <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>* is_syncok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>* @@ -445,7 +488,6 @@ killchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> killwchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> leaveok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> - longname <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> mcprint <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>* meta <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> @@ -470,6 +512,7 @@ mvget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> mvget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> mvgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> + mvgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> mvgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> mvgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> @@ -511,7 +554,6 @@ mvwget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> mvwgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> mvwgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> - mvwgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> mvwgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> mvwhline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> @@ -536,6 +578,7 @@ mvwprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG> mvwscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG> mvwvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> + mvwvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> napms <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> newpad <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> @@ -553,7 +596,7 @@ overlay <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG> overwrite <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG> pair_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> - pecho_wchar <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>* + pecho_wchar <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> pechochar <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> pnoutrefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> prefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> @@ -577,12 +620,13 @@ scr_dump <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG> scr_init <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG> scr_restore <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG> - scr_set <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG> scrl <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG> scroll <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG> scrollok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> set_curterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> + set_escdelay <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>* + set_tabsize <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>* set_term <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> setcchar <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG> setscrreg <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> @@ -600,11 +644,12 @@ slk_init <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> slk_label <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> slk_noutrefresh <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> + slk_refresh <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> slk_restore <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> slk_set <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> slk_touch <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> - slk_wset <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>* + slk_wset <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> standend <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> standout <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> start_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> @@ -623,7 +668,9 @@ tigetnum <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> tigetstr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> timeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> - tiparm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>* + tiparm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> + tiparm_s <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>* + tiscan_s <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>* touchline <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG> touchwin <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG> tparm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> @@ -640,10 +687,11 @@ use_env <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> use_extended_names <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>* use_legacy_coding <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>* + use_screen <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>* use_tioctl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>* + use_window <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>* vid_attr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> vid_puts <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> - vidattr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> vidputs <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> vline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> @@ -662,6 +710,7 @@ waddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> waddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> waddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> + wattr_get <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> wattr_off <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> wattr_on <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> @@ -709,7 +758,6 @@ winnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> wins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> wins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG> - wins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> winsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG> winsdelln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG> @@ -728,6 +776,7 @@ wscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG> wscrl <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG> wsetscrreg <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> + wstandend <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> wstandout <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> wsyncdown <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> @@ -738,259 +787,237 @@ wvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> wvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> - Depending on the configuration, additional sets of functions may be - available: - - <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG> - curses memory-leak checking - - <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> - curses screen-pointer extension + <EM>ncurses</EM>'s <EM>screen-pointer</EM> <EM>extension</EM> adds additional functions + corresponding to many of the above, each with an "_sp" suffix; see + <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>. - <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> - curses thread support - - <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> - curses debugging routines + The availability of some extensions is configurable when <EM>ncurses</EM> is + compiled; see sections "ALTERNATE CONFIGURATIONS" and "EXTENSIONS" + below. </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - Routines that return an integer return <STRONG>ERR</STRONG> upon failure and an integer - value other than <STRONG>ERR</STRONG> upon successful completion, unless otherwise noted - in the routine descriptions. - - As a general rule, routines check for null pointers passed as - parameters, and handle this as an error. - - All macros return the value of the <STRONG>w</STRONG> version, except <STRONG>setscrreg</STRONG>, - <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>, and <STRONG>getmaxyx</STRONG>. The return values of - <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>, and <STRONG>getmaxyx</STRONG> are undefined - (i.e., these should not be used as the right-hand side of assignment - statements). + Unless otherwise noted, functions that return an integer return <STRONG>OK</STRONG> on + success and <STRONG>ERR</STRONG> on failure. Functions that return pointers return <STRONG>NULL</STRONG> + on failure. Typically, <EM>ncurses</EM> treats a null pointer passed as a + function parameter as a failure. Functions prefixed with "mv" first + perform cursor movement and fail if the position (<EM>y</EM>, <EM>x</EM>) is outside the + window boundaries. - Functions with a "mv" prefix first perform a cursor movement using - <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if - the window pointer is null. Most "mv"-prefixed functions (except - variadic functions such as <STRONG>mvprintw</STRONG>) are provided both as macros and - functions. - Routines that return pointers return <STRONG>NULL</STRONG> on error. +</PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE> + The following symbols from the process environment customize the + runtime behavior of <EM>ncurses</EM> applications. The library may be + configured to disregard the variables <EM>TERMINFO</EM>, <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM>, + <EM>TERMPATH</EM>, and <EM>HOME</EM>, if the user is the superuser (root), or the + application uses <STRONG>setuid(2)</STRONG> or <STRONG>setgid(2)</STRONG>. -</PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE> - The following environment symbols are useful for customizing the - runtime behavior of the <STRONG>ncurses</STRONG> library. The most important ones have - been already discussed in detail. +</PRE><H3><a name="h3-BAUDRATE"><EM>BAUDRATE</EM></a></H3><PRE> + The debugging library checks this variable when the application has + redirected output to a file. Its integral value is used for the baud + rate. If that value is absent or invalid, <EM>ncurses</EM> uses 9600. This + feature allows testers to construct repeatable test cases that take + into account optimization decisions that depend on baud rate. -</PRE><H3><a name="h3-CC-command-character">CC command-character</a></H3><PRE> - When set, change occurrences of the command_character (i.e., the <STRONG>cmdch</STRONG> - capability) of the loaded terminfo entries to the value of this - variable. Very few terminfo entries provide this feature. +</PRE><H3><a name="h3-CC-_command-character_"><EM>CC</EM> (command character)</a></H3><PRE> + When set, the <STRONG>command_character</STRONG> (<STRONG>cmdch</STRONG>) capability value of loaded + <EM>terminfo</EM> entries changes to the value of this variable. Very few <EM>term-</EM> + <EM>info</EM> entries provide this feature. Because this name is also used in development environments to represent - the C compiler's name, <STRONG>ncurses</STRONG> ignores it if it does not happen to be a - single character. - - -</PRE><H3><a name="h3-BAUDRATE">BAUDRATE</a></H3><PRE> - The debugging library checks this environment variable when the - application has redirected output to a file. The variable's numeric - value is used for the baudrate. If no value is found, <STRONG>ncurses</STRONG> uses - 9600. This allows testers to construct repeatable test-cases that take - into account costs that depend on baudrate. - - -</PRE><H3><a name="h3-COLUMNS">COLUMNS</a></H3><PRE> - Specify the width of the screen in characters. Applications running in - a windowing environment usually are able to obtain the width of the - window in which they are executing. If neither the <STRONG>COLUMNS</STRONG> value nor - the terminal's screen size is available, <STRONG>ncurses</STRONG> uses the size which - may be specified in the terminfo database (i.e., the <STRONG>cols</STRONG> capability). - - It is important that your application use a correct size for the - screen. This is not always possible because your application may be - running on a host which does not honor NAWS (Negotiations About Window - Size), or because you are temporarily running as another user. - However, setting <STRONG>COLUMNS</STRONG> and/or <STRONG>LINES</STRONG> overrides the library's use of - the screen size obtained from the operating system. - - Either <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> symbols may be specified independently. This - is mainly useful to circumvent legacy misfeatures of terminal - descriptions, e.g., xterm which commonly specifies a 65 line screen. - For best results, <STRONG>lines</STRONG> and <STRONG>cols</STRONG> should not be specified in a terminal - description for terminals which are run as emulations. - - Use the <STRONG>use_env</STRONG> function to disable all use of external environment - (but not including system calls) to determine the screen size. Use the - <STRONG>use_tioctl</STRONG> function to update <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> to match the screen size - obtained from system calls or the terminal database. - - -</PRE><H3><a name="h3-ESCDELAY">ESCDELAY</a></H3><PRE> - Specifies the total time, in milliseconds, for which ncurses will await - a character sequence, e.g., a function key. The default value, 1000 - milliseconds, is enough for most uses. However, it is made a variable - to accommodate unusual applications. + the C compiler's name, <EM>ncurses</EM> ignores its value if it is not one + character in length. + + +</PRE><H3><a name="h3-COLUMNS"><EM>COLUMNS</EM></a></H3><PRE> + This variable specifies the width of the screen in characters. + Applications running in a windowing environment usually are able to + obtain the width of the window in which they are executing. If <EM>COLUMNS</EM> + is not defined and the terminal's screen size is not available from the + terminal driver, <EM>ncurses</EM> uses the size specified by the <STRONG>columns</STRONG> (<STRONG>cols</STRONG>) + capability of the terminal type's entry in the <EM>terminfo</EM> database, if + any. + + It is important that your application use the correct screen size. + Automatic detection thereof is not always possible because an + application may be running on a host that does not honor NAWS + (Negotiations About Window Size) or as a different user ID than the + owner of the terminal device file. Setting <EM>COLUMNS</EM> and/or <EM>LINES</EM> + overrides the library's use of the screen size obtained from the + operating system. + + The <EM>COLUMNS</EM> and <EM>LINES</EM> variables may be specified independently. This + property is useful to circumvent misfeatures of legacy terminal type + descriptions; <STRONG>xterm(1)</STRONG> descriptions specifying 65 lines were once + notorious. For best results, avoid specifying <STRONG>cols</STRONG> and <STRONG>lines</STRONG> + capability codes in <EM>terminfo</EM> descriptions of terminal emulators. + + <STRONG><A HREF="curs_util.3x.html">use_env(3x)</A></STRONG> can disable use of the process environment in determining + the screen size. <STRONG><A HREF="curs_util.3x.html">use_tioctl(3x)</A></STRONG> can update <EM>COLUMNS</EM> and <EM>LINES</EM> to match + the screen size obtained from system calls or the terminal database. + + +</PRE><H3><a name="h3-ESCDELAY"><EM>ESCDELAY</EM></a></H3><PRE> + For <EM>curses</EM> to distinguish the ESC character resulting from a user's + press of the "Escape" key on the input device from one beginning an + <EM>escape</EM> <EM>sequence</EM> (as commonly produced by function keys), it waits after + receiving the escape character to see if further characters are + available on the input stream within a short interval. A global + variable <STRONG>ESCDELAY</STRONG> stores this interval in milliseconds. The default + value of 1000 (one second) is adequate for most uses. This environment + variable overrides it. The most common instance where you may wish to change this value is to - work with slow hosts, e.g., running on a network. If the host cannot - read characters rapidly enough, it will have the same effect as if the - terminal did not send characters rapidly enough. The library will - still see a timeout. - - Note that xterm mouse events are built up from character sequences - received from the xterm. If your application makes heavy use of - multiple-clicking, you may wish to lengthen this default value because - the timeout applies to the composed multi-click event as well as the - individual clicks. - - In addition to the environment variable, this implementation provides a - global variable with the same name. Portable applications should not - rely upon the presence of ESCDELAY in either form, but setting the - environment variable rather than the global variable does not create - problems when compiling an application. - - -</PRE><H3><a name="h3-HOME">HOME</a></H3><PRE> - Tells <STRONG>ncurses</STRONG> where your home directory is. That is where it may read - and write auxiliary terminal descriptions: - - $HOME/.termcap - $HOME/.terminfo - - -</PRE><H3><a name="h3-LINES">LINES</a></H3><PRE> - Like COLUMNS, specify the height of the screen in characters. See - COLUMNS for a detailed description. - - -</PRE><H3><a name="h3-MOUSE_BUTTONS_123">MOUSE_BUTTONS_123</a></H3><PRE> - This applies only to the OS/2 EMX port. It specifies the order of - buttons on the mouse. OS/2 numbers a 3-button mouse inconsistently - from other platforms: - - 1 = left - 2 = right - 3 = middle. - - This variable lets you customize the mouse. The variable must be three - numeric digits 1-3 in any order, e.g., 123 or 321. If it is not - specified, <STRONG>ncurses</STRONG> uses 132. - - -</PRE><H3><a name="h3-NCURSES_ASSUMED_COLORS">NCURSES_ASSUMED_COLORS</a></H3><PRE> - Override the compiled-in assumption that the terminal's default colors - are white-on-black (see <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>). You may set the - foreground and background color values with this environment variable - by proving a 2-element list: foreground,background. For example, to - tell ncurses to not assume anything about the colors, set this to - "-1,-1". To make it green-on-black, set it to "2,0". Any positive - value from zero to the terminfo <STRONG>max_colors</STRONG> value is allowed. - - -</PRE><H3><a name="h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></H3><PRE> - This applies only to the MinGW port of ncurses. - - The <STRONG>Console2</STRONG> program's handling of the Microsoft Console API call - <STRONG>CreateConsoleScreenBuffer</STRONG> is defective. Applications which use this - will hang. However, it is possible to simulate the action of this call - by mapping coordinates, explicitly saving and restoring the original - screen contents. Setting the environment variable <STRONG>NCGDB</STRONG> has the same - effect. - - -</PRE><H3><a name="h3-NCURSES_GPM_TERMS">NCURSES_GPM_TERMS</a></H3><PRE> - This applies only to ncurses configured to use the GPM interface. - - If present, the environment variable is a list of one or more terminal - names against which the <STRONG>TERM</STRONG> environment variable is matched. Setting - it to an empty value disables the GPM interface; using the built-in - support for xterm, etc. - - If the environment variable is absent, ncurses will attempt to open GPM - if <STRONG>TERM</STRONG> contains "linux". - - -</PRE><H3><a name="h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></H3><PRE> - <STRONG>Ncurses</STRONG> may use tabs as part of the cursor movement optimization. In - some cases, your terminal driver may not handle these properly. Set - this environment variable to disable the feature. You can also adjust - your <STRONG>stty</STRONG> settings to avoid the problem. - - -</PRE><H3><a name="h3-NCURSES_NO_MAGIC_COOKIE">NCURSES_NO_MAGIC_COOKIE</a></H3><PRE> - Some terminals use a magic-cookie feature which requires special - handling to make highlighting and other video attributes display - properly. You can suppress the highlighting entirely for these - terminals by setting this environment variable. - - -</PRE><H3><a name="h3-NCURSES_NO_PADDING">NCURSES_NO_PADDING</a></H3><PRE> - Most of the terminal descriptions in the terminfo database are written - for real "hardware" terminals. Many people use terminal emulators - which run in a windowing environment and use curses-based applications. - Terminal emulators can duplicate all of the important aspects of a - hardware terminal, but they do not have the same limitations. The - chief limitation of a hardware terminal from the standpoint of your - application is the management of dataflow, i.e., timing. Unless a + work with a remote host over a slow communication channel. If the host + running a <EM>curses</EM> application does not receive the characters of an + escape sequence in a timely manner, the library can interpret them as + multiple key stroke events. + + <STRONG>xterm(1)</STRONG> mouse events are a form of escape sequence; therefore, if your + application makes heavy use of multiple-clicking, you may wish to + lengthen the default value because the delay applies to the composite + multi-click event as well as the individual clicks. + + Portable applications should not rely upon the presence of <STRONG>ESCDELAY</STRONG> in + either form, but setting the environment variable rather than the + global variable does not create problems when compiling an application. + + If <STRONG><A HREF="curs_inopts.3x.html">keypad(3x)</A></STRONG> is disabled for the <EM>curses</EM> window receiving input, a + program must disambiguate escape sequences itself. + + +</PRE><H3><a name="h3-HOME"><EM>HOME</EM></a></H3><PRE> + <EM>ncurses</EM> may read and write auxiliary terminal descriptions in <EM>.termcap</EM> + and <EM>.terminfo</EM> files in the user's home directory. + + +</PRE><H3><a name="h3-LINES"><EM>LINES</EM></a></H3><PRE> + This counterpart to <EM>COLUMNS</EM> specifies the height of the screen in + characters. The corresponding <EM>terminfo</EM> capability and code is <STRONG>lines</STRONG>. + See the description of the <EM>COLUMNS</EM> variable above. + + +</PRE><H3><a name="h3-MOUSE_BUTTONS_123"><EM>MOUSE_BUTTONS_123</EM></a></H3><PRE> + (OS/2 EMX port only) OS/2 numbers a three-button mouse inconsistently + with other platforms, such that 1 is the left button, 2 the right, and + 3 the middle. This variable customizes the mouse button numbering. + Its value must be three digits 1-3 in any order. By default, <EM>ncurses</EM> + assumes a numbering of "132". + + +</PRE><H3><a name="h3-NCURSES_ASSUMED_COLORS"><EM>NCURSES_ASSUMED_COLORS</EM></a></H3><PRE> + If set, this variable overrides the <EM>ncurses</EM> library's compiled-in + assumption that the terminal's default colors are white on black; see + <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>. Set the foreground and background color values + with this environment variable by assigning it two integer values + separated by a comma, indicating foregound and background color + numbers, respectively. + + For example, to tell <EM>ncurses</EM> not to assume anything about the colors, + use a value of "-1,-1". To make the default color scheme green on + black, use "2,0". <EM>ncurses</EM> accepts integral values from -1 up to the + value of the <EM>terminfo</EM> <STRONG>max_colors</STRONG> (<STRONG>colors</STRONG>) capability. + + +</PRE><H3><a name="h3-NCURSES_CONSOLE2"><EM>NCURSES_CONSOLE2</EM></a></H3><PRE> + (MinGW port only) The <EM>Console2</EM> program defectively handles the + Microsoft Console API call <EM>CreateConsoleScreenBuffer</EM>. Applications + that use it will hang. However, it is possible to simulate the action + of this call by mapping coordinates, explicitly saving and restoring + the original screen contents. Setting the environment variable <EM>NCGDB</EM> + has the same effect. + + +</PRE><H3><a name="h3-NCURSES_GPM_TERMS"><EM>NCURSES_GPM_TERMS</EM></a></H3><PRE> + (Linux only) When <EM>ncurses</EM> is configured to use the GPM interface, this + variable may list one or more terminal names against which the <EM>TERM</EM> + variable (see below) is matched. An empty value disables the GPM + interface, using <EM>ncurses</EM>'s built-in support for <STRONG>xterm(1)</STRONG> mouse + protocols instead. If the variable is absent, <EM>ncurses</EM> attempts to open + GPM if <EM>TERM</EM> contains "linux". + + +</PRE><H3><a name="h3-NCURSES_NO_HARD_TABS"><EM>NCURSES_NO_HARD_TABS</EM></a></H3><PRE> + <EM>ncurses</EM> may use tab characters in cursor movement optimization. In + some cases, your terminal driver may not handle them properly. Set + this environment variable to any value to disable the feature. You can + also adjust your <STRONG>stty(1)</STRONG> settings to avoid the problem. + + +</PRE><H3><a name="h3-NCURSES_NO_MAGIC_COOKIE"><EM>NCURSES_NO_MAGIC_COOKIE</EM></a></H3><PRE> + Many terminals store video attributes as a property of a character + cell, as <EM>curses</EM> does. Historically, some recorded changes in video + attributes as data that logically <EM>occupies</EM> character cells on the + display, switching attributes on or off, similarly to tags in a markup + language; these are termed "magic cookies", and must be subsequently + overprinted. If the <EM>terminfo</EM> entry for your terminal type does not + adequately describe its handling of magic cookies, set this variable to + any value to instruct <EM>ncurses</EM> to disable attributes entirely. + + +</PRE><H3><a name="h3-NCURSES_NO_PADDING"><EM>NCURSES_NO_PADDING</EM></a></H3><PRE> + Most terminal type descriptions in the <EM>terminfo</EM> database detail + hardware devices. Many people use <EM>curses</EM>-based applications in + terminal emulator programs that run in a windowing environment. These + programs can duplicate all of the important features of a hardware + terminal, but often lack their limitations. Chief among these absent + drawbacks is the problem of data flow management; that is, limiting the + speed of communication to what the hardware could handle. Unless a hardware terminal is interfaced into a terminal concentrator (which - does flow control), it (or your application) must manage dataflow, - preventing overruns. The cheapest solution (no hardware cost) is for - your program to do this by pausing after operations that the terminal - does slowly, such as clearing the display. - - As a result, many terminal descriptions (including the vt100) have - delay times embedded. You may wish to use these descriptions, but not - want to pay the performance penalty. - - Set the NCURSES_NO_PADDING environment variable to disable all but - mandatory padding. Mandatory padding is used as a part of special - control sequences such as <EM>flash</EM>. - - -</PRE><H3><a name="h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></H3><PRE> - This setting is obsolete. Before changes - - <STRONG>o</STRONG> started with 5.9 patch 20120825 and - - <STRONG>o</STRONG> continued though 5.9 patch 20130126 - - <STRONG>ncurses</STRONG> enabled buffered output during terminal initialization. This - was done (as in SVr4 curses) for performance reasons. For testing - purposes, both of <STRONG>ncurses</STRONG> and certain applications, this feature was - made optional. Setting the NCURSES_NO_SETBUF variable disabled output - buffering, leaving the output in the original (usually line buffered) - mode. - - In the current implementation, ncurses performs its own buffering and - does not require this workaround. It does not modify the buffering of - the standard output. - - The reason for the change was to make the behavior for interrupts and - other signals more robust. One drawback is that certain - nonconventional programs would mix ordinary stdio calls with ncurses - calls and (usually) work. This is no longer possible since ncurses is - not using the buffered standard output but its own output (to the same - file descriptor). As a special case, the low-level calls such as <STRONG>putp</STRONG> - still use the standard output. But high-level curses calls do not. - - -</PRE><H3><a name="h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></H3><PRE> - During initialization, the <STRONG>ncurses</STRONG> library checks for special cases - where VT100 line-drawing (and the corresponding alternate character set - capabilities) described in the terminfo are known to be missing. - Specifically, when running in a UTF-8 locale, the Linux console - emulator and the GNU screen program ignore these. Ncurses checks the - <STRONG>TERM</STRONG> environment variable for these. For other special cases, you - should set this environment variable. Doing this tells ncurses to use - Unicode values which correspond to the VT100 line-drawing glyphs. That - works for the special cases cited, and is likely to work for terminal - emulators. - - When setting this variable, you should set it to a nonzero value. - Setting it to zero (or to a nonnumber) disables the special check for - "linux" and "screen". - - As an alternative to the environment variable, ncurses checks for an - extended terminfo capability <STRONG>U8</STRONG>. This is a numeric capability which - can be compiled using <STRONG>tic</STRONG> <STRONG>-x</STRONG>. For example + does flow control), an application must manage flow control itself to + prevent overruns and data loss. + + A solution that comes at no hardware cost is for an application to + pause after directing a terminal to execute an operation that it + performs slowly, such as clearing the display. Many terminal type + descriptions, including that for the VT100, embed delay specifications + in capabilities. You may wish to use these terminal descriptions + without paying the performance penalty. Set <EM>NCURSES</EM><STRONG>_</STRONG><EM>NO</EM><STRONG>_</STRONG><EM>PADDING</EM> to any + value to disable all but mandatory padding. Mandatory padding is used + by such terminal capabilities as <STRONG>flash_screen</STRONG> (<STRONG>flash</STRONG>). + + +</PRE><H3><a name="h3-NCURSES_NO_SETBUF"><EM>NCURSES_NO_SETBUF</EM></a></H3><PRE> + (Obsolete) Prior to internal changes developed in <EM>ncurses</EM> 5.9 (patches + 20120825 through 20130126), the library used <STRONG>setbuf(3)</STRONG> to enable fully + buffered output when initializing the terminal. This was done, as in + SVr4 <EM>curses</EM>, to increase performance. For testing purposes, both of + <EM>ncurses</EM> and of certain applications, this feature was made optional. + Setting this variable disabled output buffering, leaving the output + stream in the original (usually line-buffered) mode. + + Nowadays, <EM>ncurses</EM> performs its own buffering and does not require this + workaround; it does not modify the buffering of the standard output + stream. This approach makes signal handling, as for interrupts, more + robust. A drawback is that certain unconventional programs mixed + <STRONG>stdio(3)</STRONG> calls with <EM>ncurses</EM> calls and (usually) got the behavior they + expected. This is no longer the case; <EM>ncurses</EM> does not write to the + standard output file descriptor through a <EM>stdio</EM>-buffered stream. + + As a special case, low-level API calls such as <STRONG><A HREF="curs_terminfo.3x.html">putp(3x)</A></STRONG> still use the + standard output stream. High-level <EM>curses</EM> calls such as <STRONG><A HREF="curs_printw.3x.html">printw(3x)</A></STRONG> do + not. + + +</PRE><H3><a name="h3-NCURSES_NO_UTF8_ACS"><EM>NCURSES_NO_UTF8_ACS</EM></a></H3><PRE> + At initialization, <EM>ncurses</EM> inspects the <EM>TERM</EM> environment variable for + special cases where VT100 forms-drawing characters (and the + corresponding alternate character set <EM>terminfo</EM> capabilities) are known + to be unsupported by terminal types that otherwise claim VT100 + compatibility. Specifically, when running in a UTF-8 locale, the Linux + virtual console device and the GNU <STRONG>screen(1)</STRONG> program ignore them. Set + this variable to a nonzero value to instruct <EM>ncurses</EM> that the + terminal's ACS support is broken; the library then outputs Unicode code + points that correspond to the forms-drawing characters. Set it to zero + (or a non-integer) to disable the special check for terminal type names + matching "linux" or "screen", directing <EM>ncurses</EM> to assume that the ACS + feature works if the terminal type description advertises it. + + As an alternative to use of this variable, <EM>ncurses</EM> checks for an + extended <EM>terminfo</EM> numeric capability <STRONG>U8</STRONG> that can be compiled using "<STRONG>tic</STRONG> + <STRONG>-x</STRONG>". Examples follow. # linux console, if patched to provide working # VT100 shift-in/shift-out, with corresponding font. @@ -1001,170 +1028,135 @@ xterm-utf8|xterm relying on UTF-8 line-graphics, U8#1, use=xterm, - The name "U8" is chosen to be two characters, to permit it to be used - by applications that use ncurses' termcap interface. - + The two-character name "U8" was chosen to permit its use via <EM>ncurses</EM>'s + <EM>termcap</EM> interface. -</PRE><H3><a name="h3-NCURSES_TRACE">NCURSES_TRACE</a></H3><PRE> - During initialization, the <STRONG>ncurses</STRONG> debugging library checks the - NCURSES_TRACE environment variable. If it is defined, to a numeric - value, <STRONG>ncurses</STRONG> calls the <STRONG>trace</STRONG> function, using that value as the - argument. - The argument values, which are defined in <STRONG>curses.h</STRONG>, provide several - types of information. When running with traces enabled, your - application will write the file <STRONG>trace</STRONG> to the current directory. +</PRE><H3><a name="h3-NCURSES_TRACE"><EM>NCURSES_TRACE</EM></a></H3><PRE> + At initialization, <EM>ncurses</EM> (in its debugging configuration) checks for + this variable's presence. If defined with an integral value, the + library calls <STRONG><A HREF="curs_trace.3x.html">curses_trace(3x)</A></STRONG> with that value as the argument. - See <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> for more information. +</PRE><H3><a name="h3-TERM"><EM>TERM</EM></a></H3><PRE> + The <EM>TERM</EM> variable denotes the terminal type. Each is distinct, though + many are similar. It is commonly set by terminal emulators to help + applications find a workable terminal description. Some choose a + popular approximation such as "ansi", "vt100", or "xterm" rather than + an exact fit to their capabilities. Not infrequently, an application + will have problems with that approach; for example, a key stroke may + not operate correctly, or produce no effect but seeming garbage + characters on the screen. -</PRE><H3><a name="h3-TERM">TERM</a></H3><PRE> - Denotes your terminal type. Each terminal type is distinct, though - many are similar. + Setting <EM>TERM</EM> has no effect on hardware operation; it affects the way + applications communicate with the terminal. Likewise, as a general + rule (<STRONG>xterm(1)</STRONG> being a rare exception), terminal emulators that allow + you to specify <EM>TERM</EM> as a parameter or configuration value do not change + their behavior to match that setting. - <STRONG>TERM</STRONG> is commonly set by terminal emulators to help applications find a - workable terminal description. Some of those choose a popular - approximation, e.g., "ansi", "vt100", "xterm" rather than an exact fit. - Not infrequently, your application will have problems with that - approach, e.g., incorrect function-key definitions. - If you set <STRONG>TERM</STRONG> in your environment, it has no effect on the operation - of the terminal emulator. It only affects the way applications work - within the terminal. Likewise, as a general rule (<STRONG>xterm</STRONG> being a rare - exception), terminal emulators which allow you to specify <STRONG>TERM</STRONG> as a - parameter or configuration value do not change their behavior to match - that setting. +</PRE><H3><a name="h3-TERMCAP"><EM>TERMCAP</EM></a></H3><PRE> + If <EM>ncurses</EM> is configured with <EM>termcap</EM> support, it checks for a terminal + type description in <EM>termcap</EM> format if one in <EM>terminfo</EM> format is not + available. Setting this variable directs <EM>ncurses</EM> to ignore the usual + <EM>termcap</EM> database location, <EM>/etc/termcap</EM>; see <EM>TERMPATH</EM> below. <EM>TERMCAP</EM> + should contain either a terminal description (with newlines stripped + out), or a file name indicating where the information required by the + <EM>TERM</EM> environment variable is stored. -</PRE><H3><a name="h3-TERMCAP">TERMCAP</a></H3><PRE> - If the <STRONG>ncurses</STRONG> library has been configured with <EM>termcap</EM> support, - <STRONG>ncurses</STRONG> will check for a terminal's description in termcap form if it - is not available in the terminfo database. +</PRE><H3><a name="h3-TERMINFO"><EM>TERMINFO</EM></a></H3><PRE> + <EM>ncurses</EM> can be configured to read terminal type description databases + in various locations using different formats. This variable overrides + the default location. - The <STRONG>TERMCAP</STRONG> environment variable contains either a terminal description - (with newlines stripped out), or a file name telling where the - information denoted by the <STRONG>TERM</STRONG> environment variable exists. In either - case, setting it directs <STRONG>ncurses</STRONG> to ignore the usual place for this - information, e.g., /etc/termcap. + <STRONG>o</STRONG> Descriptions in <EM>terminfo</EM> format are normally stored in a directory + tree using subdirectories named by the common first letters of the + terminal types named therein. This is the scheme used in System V. + <STRONG>o</STRONG> If <EM>ncurses</EM> is configured to use hashed databases, then <EM>TERMINFO</EM> may + name its location, such as <EM>/usr/share/terminfo.db</EM>, rather than + <EM>/usr/share/terminfo/</EM>. -</PRE><H3><a name="h3-TERMINFO">TERMINFO</a></H3><PRE> - <STRONG>ncurses</STRONG> can be configured to read from multiple terminal databases. - The <STRONG>TERMINFO</STRONG> variable overrides the location for the default terminal - database. Terminal descriptions (in terminal format) are stored in - terminal databases: + The hashed database uses less disk space and is a little faster than + the directory tree. However, some applications assume the existence of + the directory tree, and read it directly rather than using the <EM>terminfo</EM> + API. - <STRONG>o</STRONG> Normally these are stored in a directory tree, using subdirectories - named by the first letter of the terminal names therein. + <STRONG>o</STRONG> If <EM>ncurses</EM> is configured with <EM>termcap</EM> support, this variable may + contain the location of a <EM>termcap</EM> file. - This is the scheme used in System V, which legacy Unix systems use, - and the <STRONG>TERMINFO</STRONG> variable is used by <EM>curses</EM> applications on those - systems to override the default location of the terminal database. + <STRONG>o</STRONG> If the value of <EM>TERMINFO</EM> begins with "hex:" or "b64:", <EM>ncurses</EM> uses + the remainder of the value as a compiled <EM>terminfo</EM> description. You + might produce the base64 format using <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>. - <STRONG>o</STRONG> If <STRONG>ncurses</STRONG> is built to use hashed databases, then each entry in - this list may be the path of a hashed database file, e.g., + TERMINFO=$(infocmp -0 -Q2 -q) + export TERMINFO - /usr/share/terminfo.db + The compiled description is used only if it corresponds to the + terminal type identified by <EM>TERM</EM>. - rather than + Setting <EM>TERMINFO</EM> is the simplest, but not the only, way to direct + <EM>ncurses</EM> to a terminal database. The search path is as follows. - /usr/share/terminfo/ + <STRONG>o</STRONG> the last terminal database to which the running <EM>ncurses</EM> application + wrote, if any - The hashed database uses less disk-space and is a little faster - than the directory tree. However, some applications assume the - existence of the directory tree, reading it directly rather than - using the terminfo library calls. + <STRONG>o</STRONG> the location specified by the <EM>TERMINFO</EM> environment variable - <STRONG>o</STRONG> If <STRONG>ncurses</STRONG> is built with a support for reading termcap files - directly, then an entry in this list may be the path of a termcap - file. + <STRONG>o</STRONG> <EM>$HOME/.terminfo</EM> - <STRONG>o</STRONG> If the <STRONG>TERMINFO</STRONG> variable begins with "hex:" or "b64:", <STRONG>ncurses</STRONG> uses - the remainder of that variable as a compiled terminal description. - You might produce the base64 format using <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>: + <STRONG>o</STRONG> locations listed in the <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> environment variable - TERMINFO="$(infocmp -0 -Q2 -q)" - export TERMINFO + <STRONG>o</STRONG> location(s) configured and compiled into <EM>ncurses</EM> - The compiled description is used if it corresponds to the terminal - identified by the <STRONG>TERM</STRONG> variable. + <STRONG>o</STRONG> <EM>/usr/share/terminfo</EM> - Setting <STRONG>TERMINFO</STRONG> is the simplest, but not the only way to set location - of the default terminal database. The complete list of database - locations in order follows: - <STRONG>o</STRONG> the last terminal database to which <STRONG>ncurses</STRONG> wrote, if any, is - searched first +</PRE><H3><a name="h3-TERMINFO_DIRS"><EM>TERMINFO_DIRS</EM></a></H3><PRE> + This variable specifies a list of locations, akin to <EM>PATH</EM>, in which + <EM>ncurses</EM> searches for the terminal type descriptions described by + <EM>TERMINFO</EM> above. The list items are separated by colons on Unix and + semicolons on OS/2 EMX. System V <EM>terminfo</EM> lacks a corresponding + feature; <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> is an <EM>ncurses</EM> extension. - <STRONG>o</STRONG> the location specified by the TERMINFO environment variable - <STRONG>o</STRONG> $HOME/.terminfo +</PRE><H3><a name="h3-TERMPATH"><EM>TERMPATH</EM></a></H3><PRE> + If <EM>TERMCAP</EM> does not hold a terminal type description or file name, then + <EM>ncurses</EM> checks the contents of <EM>TERMPATH</EM>, a list of locations, akin to + <EM>PATH</EM>, in which it searches for <EM>termcap</EM> terminal type descriptions. The + list items are separated by colons on Unix and semicolons on OS/2 EMX. - <STRONG>o</STRONG> locations listed in the TERMINFO_DIRS environment variable - - <STRONG>o</STRONG> one or more locations whose names are configured and compiled - into the ncurses library, i.e., - - <STRONG>o</STRONG> no default value (corresponding to the TERMINFO_DIRS - variable) - - <STRONG>o</STRONG> /usr/share/terminfo (corresponding to the TERMINFO variable) - - -</PRE><H3><a name="h3-TERMINFO_DIRS">TERMINFO_DIRS</a></H3><PRE> - Specifies a list of locations to search for terminal descriptions. - Each location in the list is a terminal database as described in the - section on the <STRONG>TERMINFO</STRONG> variable. The list is separated by colons - (i.e., ":") on Unix, semicolons on OS/2 EMX. - - There is no corresponding feature in System V terminfo; it is an - extension developed for <STRONG>ncurses</STRONG>. - - -</PRE><H3><a name="h3-TERMPATH">TERMPATH</a></H3><PRE> - If <STRONG>TERMCAP</STRONG> does not hold a file name then <STRONG>ncurses</STRONG> checks the <STRONG>TERMPATH</STRONG> - environment variable. This is a list of filenames separated by spaces - or colons (i.e., ":") on Unix, semicolons on OS/2 EMX. - - If the <STRONG>TERMPATH</STRONG> environment variable is not set, <STRONG>ncurses</STRONG> looks in the - files - - /etc/termcap, /usr/share/misc/termcap and $HOME/.termcap, - - in that order. - - The library may be configured to disregard the following variables when - the current user is the superuser (root), or if the application uses - setuid or setgid permissions: - - $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME. + If both <EM>TERMCAP</EM> and <EM>TERMPATH</EM> are unset or invalid, <EM>ncurses</EM> searches for + the files <EM>/etc/termcap</EM>, <EM>/usr/share/misc/termcap</EM>, and <EM>$HOME/.termcap</EM>, in + that order. </PRE><H2><a name="h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></H2><PRE> - Several different configurations are possible, depending on the - configure script options used when building <STRONG>ncurses</STRONG>. There are a few - main options whose effects are visible to the applications developer - using <STRONG>ncurses</STRONG>: + Many different <EM>ncurses</EM> configurations are possible, determined by the + options given to the <EM>configure</EM> script when building the library. Run + the script with the <STRONG>--help</STRONG> option to peruse them all. A few are of + particular significance to the application developer employing <EM>ncurses</EM>. - --disable-overwrite - The standard include for <STRONG>ncurses</STRONG> is as noted in <STRONG>SYNOPSIS</STRONG>: + <STRONG>--disable-overwrite</STRONG> + The standard include for <EM>ncurses</EM> is as noted in <STRONG>SYNOPSIS</STRONG>: <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> - This option is used to avoid filename conflicts when <STRONG>ncurses</STRONG> is - not the main implementation of curses of the computer. If <STRONG>ncurses</STRONG> - is installed disabling overwrite, it puts its headers in a + This option is used to avoid filename conflicts when <EM>ncurses</EM> is + not the main implementation of curses of the computer. If <EM>ncurses</EM> + is installed disabling overwrite, it puts its headers in a subdirectory, e.g., <STRONG>#include</STRONG> <STRONG><ncurses/curses.h></STRONG> - It also omits a symbolic link which would allow you to use + It also omits a symbolic link which would allow you to use <STRONG>-lcurses</STRONG> to build executables. - --enable-widec - The configure script renames the library and (if the - <STRONG>--disable-overwrite</STRONG> option is used) puts the header files in a - different subdirectory. All of the library names have a "w" + <STRONG>--enable-widec</STRONG> + The configure script renames the library and (if the + <STRONG>--disable-overwrite</STRONG> option is used) puts the header files in a + different subdirectory. All of the library names have a "w" appended to them, i.e., instead of <STRONG>-lncurses</STRONG> @@ -1173,310 +1165,318 @@ <STRONG>-lncursesw</STRONG> - You must also enable the wide-character features in the header - file when compiling for the wide-character library to use the - extended (wide-character) functions. The symbol which enables - these features has changed since XSI Curses, Issue 4: + You must also enable the wide-character features in the header + file when compiling for the wide-character library to use the + extended (wide-character) functions. The symbol which enables + these features has changed since X/Open Curses, Issue 4: - <STRONG>o</STRONG> Originally, the wide-character feature required the symbol + <STRONG>o</STRONG> Originally, the wide-character feature required the symbol <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG> but that was only valid for XPG4 (1996). - <STRONG>o</STRONG> Later, that was deemed conflicting with <STRONG>_XOPEN_SOURCE</STRONG> defined + <STRONG>o</STRONG> Later, that was deemed conflicting with <STRONG>_XOPEN_SOURCE</STRONG> defined to 500. - <STRONG>o</STRONG> As of mid-2018, none of the features in this implementation - require a <STRONG>_XOPEN_SOURCE</STRONG> feature greater than 600. However, + <STRONG>o</STRONG> As of mid-2018, none of the features in this implementation + require a <STRONG>_XOPEN_SOURCE</STRONG> feature greater than 600. However, X/Open Curses, Issue 7 (2009) recommends defining it to 700. - <STRONG>o</STRONG> Alternatively, you can enable the feature by defining - <STRONG>NCURSES_WIDECHAR</STRONG> with the caveat that some other header file - than <STRONG>curses.h</STRONG> may require a specific value for <STRONG>_XOPEN_SOURCE</STRONG> + <STRONG>o</STRONG> Alternatively, you can enable the feature by defining + <STRONG>NCURSES_WIDECHAR</STRONG> with the caveat that some other header file + than <STRONG>curses.h</STRONG> may require a specific value for <STRONG>_XOPEN_SOURCE</STRONG> (or a system-specific symbol). - The <STRONG>curses.h</STRONG> file which is installed for the wide-character - library is designed to be compatible with the normal library's - header. Only the size of the <STRONG>WINDOW</STRONG> structure differs, and very - few applications require more than a pointer to <STRONG>WINDOW</STRONG>s. + The <EM>curses.h</EM> header file installed for the wide-character library + is designed to be compatible with the non-wide library's header. + Only the size of the <EM>WINDOW</EM> structure differs; few applications + require more than pointers to <EM>WINDOW</EM>s. If the headers are installed allowing overwrite, the wide- - character library's headers should be installed last, to allow + character library's headers should be installed last, to allow applications to be built using either library from the same set of headers. - --with-pthread - The configure script renames the library. All of the library - names have a "t" appended to them (before any "w" added by + <STRONG>--with-pthread</STRONG> + The configure script renames the library. All of the library + names have a "t" appended to them (before any "w" added by <STRONG>--enable-widec</STRONG>). The global variables such as <STRONG>LINES</STRONG> are replaced by macros to allow read-only access. At the same time, setter-functions are provided - to set these values. Some applications (very few) may require + to set these values. Some applications (very few) may require changes to work with this convention. - --with-shared - - --with-normal - - --with-debug - - --with-profile - The shared and normal (static) library names differ by their - suffixes, e.g., <STRONG>libncurses.so</STRONG> and <STRONG>libncurses.a</STRONG>. The debug and - profiling libraries add a "_g" and a "_p" to the root names + <STRONG>--with-shared</STRONG> + <STRONG>--with-normal</STRONG> + <STRONG>--with-debug</STRONG> + <STRONG>--with-profile</STRONG> + The shared and normal (static) library names differ by their + suffixes, e.g., <STRONG>libncurses.so</STRONG> and <STRONG>libncurses.a</STRONG>. The debug and + profiling libraries add a "_g" and a "_p" to the root names respectively, e.g., <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>. - --with-termlib - Low-level functions which do not depend upon whether the library + <STRONG>--with-termlib</STRONG> + Low-level functions which do not depend upon whether the library supports wide-characters, are provided in the tinfo library. - By doing this, it is possible to share the tinfo library between - wide/normal configurations as well as reduce the size of the + By doing this, it is possible to share the tinfo library between + wide/normal configurations as well as reduce the size of the library when only low-level functions are needed. Those functions are described in these pages: - <STRONG>o</STRONG> <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG> - miscellaneous curses extensions + <STRONG>o</STRONG> <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG> - miscellaneous <EM>curses</EM> extensions - <STRONG>o</STRONG> <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> - <STRONG>curses</STRONG> input options + <STRONG>o</STRONG> <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> - <EM>curses</EM> input options - <STRONG>o</STRONG> <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> - low-level <STRONG>curses</STRONG> routines + <STRONG>o</STRONG> <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> - low-level <EM>curses</EM> routines - <STRONG>o</STRONG> <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> - <STRONG>curses</STRONG> environment query routines + <STRONG>o</STRONG> <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> - <EM>curses</EM> environment query routines - <STRONG>o</STRONG> <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> - <STRONG>curses</STRONG> emulation of termcap + <STRONG>o</STRONG> <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> - <EM>curses</EM> emulation of <EM>termcap</EM> - <STRONG>o</STRONG> <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> - <STRONG>curses</STRONG> interfaces to terminfo database + <STRONG>o</STRONG> <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> - <EM>curses</EM> interface to <EM>terminfo</EM> database - <STRONG>o</STRONG> <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> - miscellaneous <STRONG>curses</STRONG> utility routines + <STRONG>o</STRONG> <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> - miscellaneous <EM>curses</EM> utility routines - --with-trace - The <STRONG>trace</STRONG> function normally resides in the debug library, but it - is sometimes useful to configure this in the shared library. + <STRONG>--with-trace</STRONG> + The <STRONG>trace</STRONG> function normally resides in the debug library, but it + is sometimes useful to configure this in the shared library. Configure scripts should check for the function's existence rather than assuming it is always in the debug library. </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE> - /usr/share/tabset - directory containing initialization files for the terminal - capability database /usr/share/terminfo terminal capability - database + <EM>/usr/share/tabset</EM> + tab stop initialization database + <EM>/usr/share/terminfo</EM> + compiled terminal capability database -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> and related pages whose names begin "curs_" for detailed - routine descriptions. - <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> - <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> for user-defined capabilities + +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + X/Open Curses permits most functions it specifies to be made available + as macros as well. <EM>ncurses</EM> does so + + <STRONG>o</STRONG> for functions that return values via their parameters, + + <STRONG>o</STRONG> to support obsolete features, + + <STRONG>o</STRONG> to reuse functions (for example, those that move the cursor before + another operation), and + + <STRONG>o</STRONG> a few special cases. + + If the standard output file descriptor of an <EM>ncurses</EM> program is + redirected to something that is not a terminal device, the library + writes screen updates to the standard error file descriptor. This was + an undocumented feature of SVr3 <EM>curses</EM>. + + See subsection "Header Files" below regarding symbols exposed by + inclusion of <EM>curses.h</EM>. </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE> - The <STRONG>ncurses</STRONG> library can be compiled with an option (<STRONG>-DUSE_GETCAP</STRONG>) that - falls back to the old-style /etc/termcap file if the terminal setup - code cannot find a terminfo entry corresponding to <STRONG>TERM</STRONG>. Use of this - feature is not recommended, as it essentially includes an entire - termcap compiler in the <STRONG>ncurses</STRONG> startup code, at significant cost in - core and startup cycles. - - The <STRONG>ncurses</STRONG> library includes facilities for capturing mouse events on - certain terminals (including xterm). See the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual - page for details. - - The <STRONG>ncurses</STRONG> library includes facilities for responding to window - resizing events, e.g., when running in an xterm. See the - <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> and <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual pages for details. In addition, - the library may be configured with a <STRONG>SIGWINCH</STRONG> handler. - - The <STRONG>ncurses</STRONG> library extends the fixed set of function key capabilities - of terminals by allowing the application designer to define additional - key sequences at runtime. See the <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>, and - <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> manual pages for details. - - The <STRONG>ncurses</STRONG> library can exploit the capabilities of terminals which - implement the ISO-6429 SGR 39 and SGR 49 controls, which allow an - application to reset the terminal to its original foreground and - background colors. From the users' perspective, the application is - able to draw colored text on a background whose color is set - independently, providing better control over color contrasts. See the - <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> manual page for details. + <EM>ncurses</EM> enables an application to capture mouse events on certain + terminals, including <STRONG>xterm(1)</STRONG>; see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>. - The <STRONG>ncurses</STRONG> library includes a function for directing application - output to a printer attached to the terminal device. See the - <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details. + <EM>ncurses</EM> provides a means of responding to window resizing events, as + when running in a GUI terminal emulator application such as <EM>xterm</EM>; see + <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> and <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>. + <EM>ncurses</EM> allows an application to query the terminal for the presence of + a wide variety of special keys; see <STRONG><A HREF="curs_getch.3x.html">has_key(3x)</A></STRONG>. -</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - The <STRONG>ncurses</STRONG> library is intended to be BASE-level conformant with XSI - Curses. The EXTENDED XSI Curses functionality (including color - support) is supported. + <EM>ncurses</EM> extends the fixed set of function key capabilities specified by + X/Open Curses by allowing the application programmer to define + additional key events at runtime; see <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>, + <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>, and <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>. + + <EM>ncurses</EM> can exploit the capabilities of terminals implementing + ISO 6429/ECMA-48 SGR 39 and SGR 49 sequences, which allow an + application to reset the terminal to its original foreground and + background colors. From a user's perspective, the application is able + to draw colored text on a background whose color is set independently, + providing better control over color contrasts. See <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>. - A small number of local differences (that is, individual differences - between the XSI Curses and <STRONG>ncurses</STRONG> calls) are described in <STRONG>PORTABILITY</STRONG> - sections of the library man pages. + An <EM>ncurses</EM> application can eschew knowledge of <EM>WINDOW</EM> structure + internals, instead using accessor functions such as <STRONG><A HREF="curs_opaque.3x.html">is_scrollok(3x)</A></STRONG>. + <EM>ncurses</EM> enables an application to direct application output to a + printer attached to the terminal device; see <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>. -</PRE><H3><a name="h3-Error-checking">Error checking</a></H3><PRE> - In many cases, X/Open Curses is vague about error conditions, omitting - some of the SVr4 documentation. + <EM>ncurses</EM> offers <STRONG><A HREF="curs_slk.3x.html">slk_attr(3x)</A></STRONG> as a counterpart of <STRONG><A HREF="curs_attr.3x.html">attr_get(3x)</A></STRONG> for soft- + label key lines, and <STRONG><A HREF="curs_slk.3x.html">extended_slk_color(3x)</A></STRONG> as a form of <STRONG><A HREF="curs_slk.3x.html">slk_color(3x)</A></STRONG> + that can gather color information from them when many colors are + supported. - Unlike other implementations, this one checks parameters such as - pointers to WINDOW structures to ensure they are not null. The main - reason for providing this behavior is to guard against programmer - error. The standard interface does not provide a way for the library - to tell an application which of several possible errors were detected. - Relying on this (or some other) extension will adversely affect the - portability of curses applications. + Some extensions are available only if <EM>ncurses</EM> permits modification of + <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>'s behavior; see <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG>. <EM>ncurses</EM> is compiled + to support them; section "ALTERNATE CONFIGURATIONS" describes how. + <STRONG>o</STRONG> Rudimentary support for multi-threaded applications may be + available; see <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>. -</PRE><H3><a name="h3-Extensions-versus-portability">Extensions versus portability</a></H3><PRE> - Most of the extensions provided by ncurses have not been standardized. - Some have been incorporated into other implementations, such as - PDCurses or NetBSD curses. Here are a few to consider: + <STRONG>o</STRONG> Functions that ease the management of multiple screens can be + exposed; see <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>. - <STRONG>o</STRONG> The routine <STRONG>has_key</STRONG> is not part of XPG4, nor is it present in SVr4. - See the <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> manual page for details. + <STRONG>o</STRONG> To aid applications to debug their memory usage, <EM>ncurses</EM> optionally + offers functions to more aggressively free memory it dynamically + allocates itself; see <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>. - <STRONG>o</STRONG> The routine <STRONG>slk_attr</STRONG> is not part of XPG4, nor is it present in - SVr4. See the <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> manual page for details. + <STRONG>o</STRONG> The library facilitates auditing and troubleshooting of its + behavior; see <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>. - <STRONG>o</STRONG> The routines <STRONG>getmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mouseinterval</STRONG>, and - <STRONG>wenclose</STRONG> relating to mouse interfacing are not part of XPG4, nor - are they present in SVr4. See the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for - details. + <STRONG>o</STRONG> The compiler option <STRONG>-DUSE_GETCAP</STRONG> causes the library to fall back to + reading <EM>/etc/termcap</EM> if the terminal setup code cannot find a <EM>term-</EM> + <EM>info</EM> entry corresponding to <EM>TERM</EM>. Use of this feature is not + recommended, as it essentially includes an entire <EM>termcap</EM> compiler + in the <EM>ncurses</EM> startup code, at a cost in memory usage and + application launch latency. - <STRONG>o</STRONG> The routine <STRONG>mcprint</STRONG> was not present in any previous curses - implementation. See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details. + <EM>PDCurses</EM> and NetBSD <EM>curses</EM> incorporate some <EM>ncurses</EM> extensions. + Individual man pages indicate where this is the case. - <STRONG>o</STRONG> The routine <STRONG>wresize</STRONG> is not part of XPG4, nor is it present in SVr4. - See the <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual page for details. - <STRONG>o</STRONG> The WINDOW structure's internal details can be hidden from - application programs. See <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> for the discussion of - <STRONG>is_scrollok</STRONG>, etc. +</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> + X/Open Curses defines two levels of conformance, "base" and "enhanced". + The latter includes several additional features, such as wide-character + and color support. <EM>ncurses</EM> intends base-level conformance with X/Open + Curses, and supports all features of its enhanced level except the + <STRONG>untic</STRONG> utility. - <STRONG>o</STRONG> This implementation can be configured to provide rudimentary - support for multi-threaded applications. See <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> for - details. + Differences between X/Open Curses and <EM>ncurses</EM> are documented in the + "PORTABILITY" sections of applicable man pages. - <STRONG>o</STRONG> This implementation can also be configured to provide a set of - functions which improve the ability to manage multiple screens. - See <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> for details. +</PRE><H3><a name="h3-Error-Checking">Error Checking</a></H3><PRE> + In many cases, X/Open Curses is vague about error conditions, omitting + some of the SVr4 documentation. -</PRE><H3><a name="h3-Padding-differences">Padding differences</a></H3><PRE> - In historic curses versions, delays embedded in the capabilities <STRONG>cr</STRONG>, - <STRONG>ind</STRONG>, <STRONG>cub1</STRONG>, <STRONG>ff</STRONG> and <STRONG>tab</STRONG> activated corresponding delay bits in the UNIX - tty driver. In this implementation, all padding is done by sending NUL - bytes. This method is slightly more expensive, but narrows the - interface to the UNIX kernel significantly and increases the package's - portability correspondingly. + Unlike other implementations, <EM>ncurses</EM> checks pointer parameters, such + as those to <EM>WINDOW</EM> structures, to ensure that they are not null. This + is done primarily to guard against programmer error. The standard + interface does not provide a way for the library to tell an application + which of several possible errors occurred. Relying on this (or some + other) extension adversely affects the portability of <EM>curses</EM> + applications. -</PRE><H3><a name="h3-Header-files">Header files</a></H3><PRE> - The header file <STRONG><curses.h></STRONG> automatically includes the header files - <STRONG><stdio.h></STRONG> and <STRONG><unctrl.h></STRONG>. +</PRE><H3><a name="h3-Padding-Differences">Padding Differences</a></H3><PRE> + In historical <EM>curses</EM> implementations, delays embedded in the <EM>terminfo</EM> + capabilities <STRONG>carriage_return</STRONG> (<STRONG>cr</STRONG>), <STRONG>scroll_forward</STRONG> (<STRONG>ind</STRONG>), <STRONG>cursor_left</STRONG> + (<STRONG>cub1</STRONG>), <STRONG>form_feed</STRONG> (<STRONG>ff</STRONG>), and <STRONG>tab</STRONG> (<STRONG>ht</STRONG>) activated corresponding delay bits + in the Unix terminal driver. <EM>ncurses</EM> performs all padding by sending + NUL bytes to the device. This method is slightly more expensive, but + narrows the interface to the Unix kernel significantly and + correspondingly increases the package's portability. - X/Open Curses has more to say, but does not finish the story: - The inclusion of <curses.h> may make visible all symbols from the - headers <stdio.h>, <term.h>, <termios.h>, and <wchar.h>. +</PRE><H3><a name="h3-Header-Files">Header Files</a></H3><PRE> + The header file <EM>curses.h</EM> itself includes the header files <EM>stdio.h</EM> and + <EM>unctrl.h</EM>. - Here is a more complete story: + X/Open Curses has more to say, - <STRONG>o</STRONG> Starting with BSD curses, all implementations have included - <stdio.h>. + The inclusion of <EM>curses.h</EM> may make visible all symbols from the + headers <EM>stdio.h</EM>, <EM>term.h</EM>, <EM>termios.h</EM>, and <EM>wchar.h</EM>. - BSD curses included <curses.h> and <unctrl.h> from an internal - header "curses.ext" ("ext" was a short name for <EM>externs</EM>). + but does not finish the story. A more complete account follows. - BSD curses used <stdio.h> internally (for <STRONG>printw</STRONG> and <STRONG>scanw</STRONG>), but - nothing in <curses.h> itself relied upon <stdio.h>. + <STRONG>o</STRONG> Starting with 4BSD <EM>curses</EM> (1980) all implementations have provided + a <EM>curses.h</EM> file. - <STRONG>o</STRONG> SVr2 curses added <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>, which relies upon <stdio.h>. That - is, the function prototype uses <STRONG>FILE</STRONG>. + BSD <EM>curses</EM> code included <EM>curses.h</EM> and <EM>unctrl.h</EM> from an internal + header file <EM>curses.ext</EM>, where "ext" abbreviated "externs". - SVr4 curses added <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG>, which also use <stdio.h>. + The implementations of <EM>printw</EM> and <EM>scanw</EM> used undocumented internal + functions of the standard I/O library (<STRONG>_</STRONG><EM>doprnt</EM> and <STRONG>_</STRONG><EM>doscan</EM>), but + nothing in <EM>curses.h</EM> itself relied upon <EM>stdio.h</EM>. - X/Open Curses documents all three of these functions. + <STRONG>o</STRONG> SVr2 <EM>curses</EM> added <EM>newterm</EM>, which relies upon <EM>stdio.h</EM> because its + function prototype employs the <EM>FILE</EM> type. - SVr4 curses and X/Open Curses do not require the developer to - include <stdio.h> before including <curses.h>. Both document - curses showing <curses.h> as the only required header. + SVr4 <EM>curses</EM> added <EM>putwin</EM> and <EM>getwin</EM>, which also use <EM>stdio.h</EM>. - As a result, standard <curses.h> will always include <stdio.h>. + X/Open Curses specifies all three of these functions. - <STRONG>o</STRONG> X/Open Curses is inconsistent with respect to SVr4 regarding - <unctrl.h>. + SVr4 <EM>curses</EM> and X/Open Curses do not require the developer to + include <EM>stdio.h</EM> before <EM>curses.h</EM>. Both document use of <EM>curses</EM> as + requiring only <EM>curses.h</EM>. - As noted in <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, ncurses includes <unctrl.h> from - <curses.h> (like SVr4). + As a result, standard <EM>curses.h</EM> always includes <EM>stdio.h</EM>. - <STRONG>o</STRONG> X/Open's comments about <term.h> and <termios.h> may refer to HP-UX - and AIX: + <STRONG>o</STRONG> X/Open Curses and SVr4 <EM>curses</EM> are inconsistent with respect to + <EM>unctrl.h</EM>. - HP-UX curses includes <term.h> from <curses.h> to declare <STRONG>setupterm</STRONG> - in curses.h, but ncurses (and Solaris curses) do not. + As noted in <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <EM>ncurses</EM> includes <EM>unctrl.h</EM> from <EM>curses.h</EM> + (as SVr4 does). - AIX curses includes <term.h> and <termios.h>. Again, ncurses (and - Solaris curses) do not. + <STRONG>o</STRONG> X/Open Curses's comments about <EM>term.h</EM> and <EM>termios.h</EM> may refer to + HP-UX and AIX. - <STRONG>o</STRONG> X/Open says that <curses.h> <EM>may</EM> include <term.h>, but there is no - requirement that it do that. + HP-UX <EM>curses</EM> includes <EM>term.h</EM> from <EM>curses.h</EM> to declare <EM>setupterm</EM> in + <EM>curses.h</EM>, but <EM>ncurses</EM> and Solaris <EM>curses</EM> do not. - Some programs use functions declared in both <curses.h> and - <term.h>, and must include both headers in the same module. Very - old versions of AIX curses required including <curses.h> before - including <term.h>. + AIX <EM>curses</EM> includes <EM>term.h</EM> and termios.h<EM>.</EM> Again, <EM>ncurses</EM> and + Solaris <EM>curses</EM> do not. - Because ncurses header files include the headers needed to define - datatypes used in the headers, ncurses header files can be included - in any order. But for portability, you should include <curses.h> - before <term.h>. + <STRONG>o</STRONG> X/Open Curses says that <EM>curses.h</EM> <STRONG>may</STRONG> include <EM>term.h</EM>, but does not + require it to do so. - <STRONG>o</STRONG> X/Open Curses says <EM>"may</EM> <EM>make</EM> <EM>visible"</EM> because including a header - file does not necessarily make all symbols in it visible (there are - ifdef's to consider). + Some programs use functions declared in both <EM>curses.h</EM> and <EM>term.h</EM>, + and must include both header files in the same module. Very old + versions of AIX <EM>curses</EM> required inclusion of <EM>curses.h</EM> before + <EM>term.h</EM>. - For instance, in ncurses <wchar.h> <EM>may</EM> be included if the proper - symbol is defined, and if ncurses is configured for wide-character - support. If the header is included, its symbols may be made - visible. That depends on the value used for <STRONG>_XOPEN_SOURCE</STRONG> feature - test macro. + The header files supplied by <EM>ncurses</EM> include the standard library + headers required for its declarations, so <EM>ncurses</EM>'s own header + files can be included in any order. But for portability, you + should include <EM>curses.h</EM> before <EM>term.h</EM>. - <STRONG>o</STRONG> X/Open Curses documents one required header, in a special case: - <stdarg.h> before <curses.h> to prototype the <STRONG>vw_printw</STRONG> and - <STRONG>vw_scanw</STRONG> functions (as well as the obsolete the <STRONG>vwprintw</STRONG> and - <STRONG>vwscanw</STRONG> functions). Each of those uses a <STRONG>va_list</STRONG> parameter. + <STRONG>o</STRONG> X/Open Curses says "may make visible" because including a header + file does not necessarily make visible all of the symbols in it + (consider <STRONG>#ifdef</STRONG> and similar). - The two obsolete functions were introduced in SVr3. The other - functions were introduced in X/Open Curses. In between, SVr4 - curses provided for the possibility that an application might - include either <varargs.h> or <stdarg.h>. Initially, that was done - by using <STRONG>void*</STRONG> for the <STRONG>va_list</STRONG> parameter. Later, a special type - (defined in <stdio.h>) was introduced, to allow for compiler type- - checking. That special type is always available, because <stdio.h> - is always included by <curses.h>. + For instance, <EM>ncurses</EM>'s <EM>curses.h</EM> <STRONG>may</STRONG> include <EM>wchar.h</EM> if the proper + symbol is defined, and if <EM>ncurses</EM> is configured for wide-character + support. If <EM>wchar.h</EM> is included, its symbols <STRONG>may</STRONG> be made visible + depending on the value of the <STRONG>_XOPEN_SOURCE</STRONG> feature test macro. - None of the X/Open Curses implementations require an application to - include <stdarg.h> before <curses.h> because they either have - allowed for a special type, or (like ncurses) include <stdarg.h> - directly to provide a portable interface. + <STRONG>o</STRONG> X/Open Curses mandates an application's inclusion of one standard C + library header in a special case: <EM>stdarg.h</EM> before <EM>curses.h</EM> to + prototype the functions <EM>vw</EM><STRONG>_</STRONG><EM>printw</EM> and <EM>vw</EM><STRONG>_</STRONG><EM>scanw</EM> (as well as the + obsolete <EM>vwprintw</EM> and <EM>vwscanw</EM>). Each of these takes a variadic + argument list, a <EM>va</EM><STRONG>_</STRONG><EM>list</EM> parameter, like that of <STRONG>printf(3)</STRONG>. + SVr3 <EM>curses</EM> introduced the two obsolete functions, and X/Open + Curses the others. In between, SVr4 <EM>curses</EM> provided for the + possibility that an application might include either <EM>varargs.h</EM> or + <EM>stdarg.h</EM>. These represented contrasting approaches to handling + variadic argument lists. The older interface, <EM>varargs.h</EM>, used a + pointer to <EM>char</EM> for variadic functions' <EM>va</EM><STRONG>_</STRONG><EM>list</EM> parameter. Later, + the list acquired its own standard data type, <EM>va</EM><STRONG>_</STRONG><EM>list</EM>, defined in + <EM>stdarg.h</EM>, empowering the compiler to check the types of a function + call's actual parameters against the formal ones declared in its + prototype. -</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> - If standard output from a <STRONG>ncurses</STRONG> program is re-directed to something - which is not a tty, screen updates will be directed to standard error. - This was an undocumented feature of AT&T System V Release 3 curses. + No conforming implementations of X/Open Curses require an + application to include <EM>stdarg.h</EM> before <EM>curses.h</EM> because they either + have allowed for a special type, or, like <EM>ncurses</EM>, they include + <EM>stdarg.h</EM> themselves to provide a portable interface. </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE> - Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey. Based on pcurses + Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey. Based on <EM>pcurses</EM> by Pavel Curtis. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> + - <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> + +ncurses 6.5 2024-04-27 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -1484,18 +1484,19 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a> <ul> +<li><a href="#h3-Application-Structure">Application Structure</a></li> +<li><a href="#h3-Overview">Overview</a></li> <li><a href="#h3-Initialization">Initialization</a></li> -<li><a href="#h3-Datatypes">Datatypes</a></li> -<li><a href="#h3-Environment-variables">Environment variables</a></li> -<li><a href="#h3-Routine-and-Argument-Names">Routine and Argument Names</a></li> -<li><a href="#h3-Routine-Name-Index">Routine Name Index</a></li> +<li><a href="#h3-Naming-Conventions">Naming Conventions</a></li> +<li><a href="#h3-Wide-and-Non-wide-Character-Configurations">Wide and Non-wide Character Configurations</a></li> +<li><a href="#h3-Function-Name-Index">Function Name Index</a></li> </ul> </li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> <li><a href="#h2-ENVIRONMENT">ENVIRONMENT</a> <ul> -<li><a href="#h3-CC-command-character">CC command-character</a></li> <li><a href="#h3-BAUDRATE">BAUDRATE</a></li> +<li><a href="#h3-CC-_command-character_">CC (command character)</a></li> <li><a href="#h3-COLUMNS">COLUMNS</a></li> <li><a href="#h3-ESCDELAY">ESCDELAY</a></li> <li><a href="#h3-HOME">HOME</a></li> @@ -1519,18 +1520,17 @@ </li> <li><a href="#h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></li> <li><a href="#h2-FILES">FILES</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> +<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a> <ul> -<li><a href="#h3-Error-checking">Error checking</a></li> -<li><a href="#h3-Extensions-versus-portability">Extensions versus portability</a></li> -<li><a href="#h3-Padding-differences">Padding differences</a></li> -<li><a href="#h3-Header-files">Header files</a></li> +<li><a href="#h3-Error-Checking">Error Checking</a></li> +<li><a href="#h3-Padding-Differences">Padding Differences</a></li> +<li><a href="#h3-Header-Files">Header Files</a></li> </ul> </li> -<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/ncurses6-config.1.html b/doc/html/man/ncurses6-config.1.html deleted file mode 100644 index e2678b28eb26..000000000000 --- a/doc/html/man/ncurses6-config.1.html +++ /dev/null @@ -1,132 +0,0 @@ -<!-- - **************************************************************************** - * Copyright 2020 Thomas E. Dickey * - * Copyright 2010 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - **************************************************************************** - * @Id: MKncu_config.in,v 1.4 2020/02/02 23:34:34 tom Exp @ ---> -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<HTML> -<HEAD> -<meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> -<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>ncurses6-config 1</TITLE> -<link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -</HEAD> -<BODY> -<H1 class="no-header">ncurses6-config 1</H1> -<PRE> -<STRONG><A HREF="ncurses6-config.1.html">ncurses6-config(1)</A></STRONG> General Commands Manual <STRONG><A HREF="ncurses6-config.1.html">ncurses6-config(1)</A></STRONG> - - - - -</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - ncurses6-config - helper script for ncurses libraries - - -</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> - <STRONG>ncurses6-config</STRONG> [<EM>options</EM>] - - -</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - This is a shell script which simplifies configuring applications - against a particular set of ncurses libraries. - - -</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE> - <STRONG>--prefix</STRONG> - echos the package-prefix of ncurses - - <STRONG>--exec-prefix</STRONG> - echos the executable-prefix of ncurses - - <STRONG>--cflags</STRONG> - echos the C compiler flags needed to compile with ncurses - - <STRONG>--libs</STRONG> echos the libraries needed to link with ncurses - - <STRONG>--version</STRONG> - echos the release+patchdate version of ncurses - - <STRONG>--abi-version</STRONG> - echos the ABI version of ncurses - - <STRONG>--mouse-version</STRONG> - echos the mouse-interface version of ncurses - - <STRONG>--bindir</STRONG> - echos the directory containing ncurses programs - - <STRONG>--datadir</STRONG> - echos the directory containing ncurses data - - <STRONG>--includedir</STRONG> - echos the directory containing ncurses header files - - <STRONG>--libdir</STRONG> - echos the directory containing ncurses libraries - - <STRONG>--mandir</STRONG> - echos the directory containing ncurses manpages - - <STRONG>--terminfo</STRONG> - echos the $TERMINFO terminfo database path, e.g., - /usr/share/terminfo - - <STRONG>--terminfo-dirs</STRONG> - echos the $TERMINFO_DIRS directory list, e.g., - /usr/share/terminfo - - <STRONG>--termpath</STRONG> - echos the $TERMPATH termcap list, if support for termcap is - configured. - - <STRONG>--help</STRONG> prints this message - - -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> - - This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109). - - - - <STRONG><A HREF="ncurses6-config.1.html">ncurses6-config(1)</A></STRONG> -</PRE> -<div class="nav"> -<ul> -<li><a href="#h2-NAME">NAME</a></li> -<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> -<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> -<li><a href="#h2-OPTIONS">OPTIONS</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -</ul> -</div> -</BODY> -</HTML> diff --git a/doc/html/man/ncursesw6-config.1.html b/doc/html/man/ncursesw6-config.1.html new file mode 100644 index 000000000000..6380a6dda3b7 --- /dev/null +++ b/doc/html/man/ncursesw6-config.1.html @@ -0,0 +1,127 @@ +<!-- + **************************************************************************** + * Copyright 2020-2023,2024 Thomas E. Dickey * + * Copyright 2010 Free Software Foundation, Inc. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * + * copy of this software and associated documentation files (the * + * "Software"), to deal in the Software without restriction, including * + * without limitation the rights to use, copy, modify, merge, publish, * + * distribute, distribute with modifications, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included * + * in all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * + * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * + * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * + * * + * Except as contained in this notice, the name(s) of the above copyright * + * holders shall not be used in advertising or otherwise to promote the * + * sale, use or other dealings in this Software without prior written * + * authorization. * + **************************************************************************** + * @Id: MKncu_config.in,v 1.24 2024/04/20 21:13:38 tom Exp @ +--> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> +<HTML> +<HEAD> +<meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> +<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> +<TITLE>ncursesw6-config 1 2024-04-20 ncurses 6.5 User commands</TITLE> +<link rel="author" href="mailto:bug-ncurses@gnu.org"> + +</HEAD> +<BODY> +<H1 class="no-header">ncursesw6-config 1 2024-04-20 ncurses 6.5 User commands</H1> +<PRE> +<STRONG><A HREF="ncursesw6-config.1.html">ncursesw6-config(1)</A></STRONG> User commands <STRONG><A HREF="ncursesw6-config.1.html">ncursesw6-config(1)</A></STRONG> + + + + +</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> + <STRONG>ncursesw6-config</STRONG> - configuration helper for <EM>ncurses</EM> libraries + + +</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> + <STRONG>ncursesw6-config</STRONG> <EM>option</EM> ... + + <STRONG>ncursesw6-config</STRONG> <STRONG>--version</STRONG> + + <STRONG>ncursesw6-config</STRONG> <STRONG>--help</STRONG> + + +</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> + This program development aid simplifies the process of configuring + applications against a particular set of <EM>ncurses</EM> libraries. + + +</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE> + <STRONG>--prefix</STRONG> reports the package prefix of <EM>ncurses</EM>. + + <STRONG>--exec-prefix</STRONG> reports the executable prefix of <EM>ncurses</EM>. + + <STRONG>--cflags</STRONG> reports the C compiler flags needed to compile with + <EM>ncurses</EM>. + + <STRONG>--libs</STRONG> reports the libraries needed to link with <EM>ncurses</EM>. + + <STRONG>--abi-version</STRONG> reports the ABI version of <EM>ncurses</EM>. + + <STRONG>--mouse-version</STRONG> reports the mouse-interface version of <EM>ncurses</EM>. + + <STRONG>--bindir</STRONG> reports the directory containing <EM>ncurses</EM> programs. + + <STRONG>--datadir</STRONG> reports the directory containing <EM>ncurses</EM> data. + + <STRONG>--includedir</STRONG> reports the directory containing <EM>ncurses</EM> header + files. + + <STRONG>--libdir</STRONG> reports the directory containing <EM>ncurses</EM> libraries. + + <STRONG>--mandir</STRONG> reports the directory containing <EM>ncurses</EM> man pages. + + <STRONG>--terminfo</STRONG> reports the <EM>TERMINFO</EM> <EM>terminfo</EM> database path, for + example <EM>/usr/share/terminfo</EM>. + + <STRONG>--terminfo-dirs</STRONG> reports the <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> supplemental search path + for the <EM>terminfo</EM> database, for example + <EM>/usr/share/terminfo</EM>. + + <STRONG>--termpath</STRONG> reports the <EM>TERMPATH</EM> supplemental search path for the + <EM>termcap</EM> database, if support for <EM>termcap</EM> is + configured. + + The following options cause all others to be ignored. + + <STRONG>--help</STRONG> issues a usage message and exits successfully. + + <STRONG>--version</STRONG> issues the release and patch date information of <EM>ncurses</EM> and + exits successfully. + + +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> + + + +ncurses 6.5 2024-04-20 <STRONG><A HREF="ncursesw6-config.1.html">ncursesw6-config(1)</A></STRONG> +</PRE> +<div class="nav"> +<ul> +<li><a href="#h2-NAME">NAME</a></li> +<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> +<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> +<li><a href="#h2-OPTIONS">OPTIONS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> +</ul> +</div> +</BODY> +</HTML> diff --git a/doc/html/man/new_pair.3x.html b/doc/html/man/new_pair.3x.html index 28c9988c7938..3cc73d6f3e29 100644 --- a/doc/html/man/new_pair.3x.html +++ b/doc/html/man/new_pair.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,27 +28,28 @@ * authorization. * **************************************************************************** * Author: Thomas E. Dickey - * @Id: new_pair.3x,v 1.15 2020/10/17 23:54:50 tom Exp @ + * @Id: new_pair.3x,v 1.46 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>new_pair 3x</TITLE> +<TITLE>new_pair 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">new_pair 3x</H1> +<H1 class="no-header">new_pair 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG> <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG> +<STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG> Library calls <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>alloc_pair</STRONG>, <STRONG>find_pair</STRONG>, <STRONG>free_pair</STRONG> - new curses color-pair functions + <STRONG>alloc_pair</STRONG>, <STRONG>find_pair</STRONG>, <STRONG>free_pair</STRONG> - dynamically allocate <EM>curses</EM> color + pairs </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -60,31 +61,31 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - These functions are an extension to the curses library. They permit an - application to dynamically allocate a color pair using the - foreground/background colors rather than assign a fixed color pair + These functions are an extension to the <EM>curses</EM> library. They permit an + application to dynamically allocate a color pair using the + foreground/background colors rather than assign a fixed color pair number, and return an unused pair to the pool. - The number of colors may be related to the number of possible color + The number of colors may be related to the number of possible color pairs for a given terminal, or it may not: - <STRONG>o</STRONG> While almost all terminals allow setting the color <EM>attributes</EM> - independently, it is unlikely that your terminal allows you to - modify the attributes of a given character cell without rewriting + <STRONG>o</STRONG> While almost all terminals allow setting the color <EM>attributes</EM> + independently, it is unlikely that your terminal allows you to + modify the attributes of a given character cell without rewriting it. That is, the foreground and background colors are applied as a pair. - <STRONG>o</STRONG> Color pairs are the curses library's way of managing a color - palette on a terminal. If the library does not keep track of the + <STRONG>o</STRONG> Color pairs are the <EM>curses</EM> library's way of managing a color + palette on a terminal. If the library does not keep track of the <EM>combinations</EM> of colors which are displayed, it will be inefficient. - <STRONG>o</STRONG> For simple terminal emulators with only a few dozen color - combinations, it is convenient to use the maximum number of + <STRONG>o</STRONG> For simple terminal emulators with only a few dozen color + combinations, it is convenient to use the maximum number of combinations as the limit on color pairs: <STRONG>COLORS</STRONG> <EM>*</EM> <STRONG>COLORS</STRONG> - <STRONG>o</STRONG> Terminals which support <EM>default</EM> <EM>colors</EM> distinct from "ANSI colors" + <STRONG>o</STRONG> Terminals which support <EM>default</EM> <EM>colors</EM> distinct from "ANSI colors" add to the possible combinations, producing this total: <EM>(</EM> <STRONG>COLORS</STRONG> <EM>+</EM> <EM>1</EM> <EM>)</EM> <EM>*</EM> <EM>(</EM> <STRONG>COLORS</STRONG> <EM>+</EM> <EM>1</EM> <EM>)</EM> @@ -92,43 +93,43 @@ <STRONG>o</STRONG> An application might use up to a few dozen color pairs to implement a predefined color scheme. - Beyond that lies in the realm of programs using the foreground and - background colors for "ASCII art" (or some other non-textual + Beyond that lies in the realm of programs using the foreground and + background colors for "ASCII art" (or some other non-textual application). Also beyond those few dozen pairs, the required size for a table to - represent the combinations grows rapidly with an increasing number + represent the combinations grows rapidly with an increasing number of colors. - These functions allow a developer to let the screen library manage + These functions allow a developer to let the screen library manage color pairs. </PRE><H3><a name="h3-alloc_pair">alloc_pair</a></H3><PRE> - The <STRONG>alloc_pair</STRONG> function accepts parameters for foreground and - background color, and checks if that color combination is already + The <STRONG>alloc_pair</STRONG> function accepts parameters for foreground and + background color, and checks if that color combination is already associated with a color pair. - <STRONG>o</STRONG> If the combination already exists, <STRONG>alloc_pair</STRONG> returns the existing + <STRONG>o</STRONG> If the combination already exists, <STRONG>alloc_pair</STRONG> returns the existing pair. <STRONG>o</STRONG> If the combination does not exist, <STRONG>alloc_pair</STRONG> allocates a new color pair and returns that. - <STRONG>o</STRONG> If the table fills up, <STRONG>alloc_pair</STRONG> discards the least-recently + <STRONG>o</STRONG> If the table fills up, <STRONG>alloc_pair</STRONG> discards the least-recently allocated entry using <STRONG>free_pair</STRONG> and allocates a new color pair. - All of the color pairs are allocated from a table of possible color - pairs. The size of the table is determined by the terminfo <EM>pairs</EM> - capability. The table is shared with <STRONG>init_pair</STRONG>; in fact <STRONG>alloc_pair</STRONG> - calls <STRONG>init_pair</STRONG> after updating the ncurses library's fast index to the + All of the color pairs are allocated from a table of possible color + pairs. The size of the table is determined by the terminfo <STRONG>pairs</STRONG> + capability. The table is shared with <STRONG>init_pair</STRONG>; in fact <STRONG>alloc_pair</STRONG> + calls <STRONG>init_pair</STRONG> after updating the <EM>ncurses</EM> library's fast index to the colors versus color pairs. </PRE><H3><a name="h3-find_pair">find_pair</a></H3><PRE> The <STRONG>find_pair</STRONG> function accepts parameters for foreground and background - color, and checks if that color combination is already associated with - a color pair, returning the pair number if it has been allocated. + color, and checks if that color combination is already associated with + a color pair, returning the pair number if it has been allocated. Otherwise it returns -1. @@ -137,34 +138,34 @@ </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - The <STRONG>alloc_pair</STRONG> function returns a color pair number in the range 1 - through <STRONG>COLOR_PAIRS</STRONG>-1, unless it encounters an error updating its fast - index to the color pair values, preventing it from allocating a color + The <STRONG>alloc_pair</STRONG> function returns a color pair number in the range 1 + through <STRONG>COLOR_PAIRS</STRONG>-1, unless it encounters an error updating its fast + index to the color pair values, preventing it from allocating a color pair. In that case, it returns -1. - The <STRONG>find_pair</STRONG> function returns a color pair number if the given color + The <STRONG>find_pair</STRONG> function returns a color pair number if the given color combination has been associated with a color pair, or -1 if not. - Likewise, <STRONG>free_pair</STRONG> returns <STRONG>OK</STRONG> unless it encounters an error updating + Likewise, <STRONG>free_pair</STRONG> returns <STRONG>OK</STRONG> unless it encounters an error updating the fast index or if no such color pair is in use. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - These routines are specific to ncurses. They were not supported on + These routines are specific to <EM>ncurses</EM>. They were not supported on Version 7, BSD or System V implementations. It is recommended that any - code depending on them be conditioned using NCURSES_VERSION. + code depending on them be conditioned using <STRONG>NCURSES_VERSION</STRONG>. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>. +</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE> + Thomas Dickey -</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE> - Thomas Dickey. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> - <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -179,8 +180,8 @@ </li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-AUTHORS">AUTHORS</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-AUTHOR">AUTHOR</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/panel.3x.html b/doc/html/man/panel.3x.html index df93d91550db..58ad42d26efe 100644 --- a/doc/html/man/panel.3x.html +++ b/doc/html/man/panel.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,51 +27,32 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: panel.3x,v 1.39 2020/02/15 21:06:40 tom Exp @ - * --------- - * --------- - * --------- - * --------- - * --------- - * --------- - * --------- - * --------- - * --------- - * --------- - * --------- - * --------- - * --------- - * --------- - * --------- - * --------- - * --------- + * @Id: panel.3x,v 1.63 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>panel 3x</TITLE> +<TITLE>panel 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">panel 3x</H1> +<H1 class="no-header">panel 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> +<STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> Library calls <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - panel - panel stack extension for curses + panel - panel stack extension for <EM>curses</EM> </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> <STRONG>#include</STRONG> <STRONG><panel.h></STRONG> - <STRONG>cc</STRONG> <STRONG>[flags]</STRONG> <STRONG>sourcefiles</STRONG> <STRONG>-lpanel</STRONG> <STRONG>-lncurses</STRONG> - <STRONG>PANEL</STRONG> <STRONG>*new_panel(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG> <STRONG>int</STRONG> <STRONG>bottom_panel(PANEL</STRONG> <STRONG>*</STRONG><EM>pan</EM><STRONG>);</STRONG> @@ -93,25 +74,25 @@ <STRONG>int</STRONG> <STRONG>del_panel(PANEL</STRONG> <STRONG>*</STRONG><EM>pan</EM><STRONG>);</STRONG> - /* ncurses-extensions */ + <EM>/*</EM> <EM>ncurses</EM> <EM>extensions</EM> <EM>*/</EM> <STRONG>PANEL</STRONG> <STRONG>*ground_panel(SCREEN</STRONG> <STRONG>*</STRONG><EM>sp</EM><STRONG>);</STRONG> <STRONG>PANEL</STRONG> <STRONG>*ceiling_panel(SCREEN</STRONG> <STRONG>*</STRONG><EM>sp</EM><STRONG>);</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - Panels are <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> windows with the added feature of depth. Panel - functions allow the use of stacked windows and ensure the proper - portions of each window and the curses <STRONG>stdscr</STRONG> window are hidden or - displayed when panels are added, moved, modified or removed. The set + Panels are <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> windows with the added property of depth. Panel + functions allow the use of stacked windows and ensure that the proper + portions of each window and the <EM>curses</EM> <STRONG>stdscr</STRONG> window are hidden or + displayed when panels are added, moved, modified, or removed. The set of currently visible panels is the stack of panels. The <STRONG>stdscr</STRONG> window is beneath all panels, and is not considered part of the stack. - A window is associated with every panel. The panel routines enable you - to create, move, hide, and show panels, as well as position a panel at - any desired location in the stack. + A window is associated with each panel. The panel routines enable you + to create, move, hide, and show panels. You can relocate a panel to + any desired position in the stack. - Panel routines are a functional layer added to <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, make only - high-level curses calls, and work anywhere terminfo curses does. + Panel routines are a functional layer added to <EM>curses</EM>, make only high- + level <EM>curses</EM> calls, and work anywhere <EM>curses</EM> does. </PRE><H2><a name="h2-FUNCTIONS">FUNCTIONS</a></H2><PRE> @@ -121,52 +102,52 @@ </PRE><H3><a name="h3-ceiling_panel">ceiling_panel</a></H3><PRE> - <STRONG>ceiling_panel(</STRONG><EM>sp</EM><STRONG>)</STRONG> acts like <STRONG>panel_below(NULL)</STRONG>, for the given <STRONG>SCREEN</STRONG> <EM>sp</EM>. + <STRONG>ceiling_panel(</STRONG><EM>sp</EM><STRONG>)</STRONG> acts like <STRONG>panel_below(NULL)</STRONG> for the given <EM>SCREEN</EM> <EM>sp</EM>. </PRE><H3><a name="h3-del_panel">del_panel</a></H3><PRE> - <STRONG>del_panel(</STRONG><EM>pan</EM><STRONG>)</STRONG> removes the given panel <EM>pan</EM> from the stack and - deallocates the <STRONG>PANEL</STRONG> structure (but not its associated window). + <STRONG>del_panel(</STRONG><EM>pan</EM><STRONG>)</STRONG> removes the given panel <EM>pan</EM> from the stack and + deallocates the <EM>PANEL</EM> structure (but not its associated window). </PRE><H3><a name="h3-ground_panel">ground_panel</a></H3><PRE> - <STRONG>ground_panel(</STRONG><EM>sp</EM><STRONG>)</STRONG> acts like <STRONG>panel_above(NULL)</STRONG>, for the given <STRONG>SCREEN</STRONG> <EM>sp</EM>. + <STRONG>ground_panel(</STRONG><EM>sp</EM><STRONG>)</STRONG> acts like <STRONG>panel_above(NULL)</STRONG> for the given <EM>SCREEN</EM> <EM>sp</EM>. </PRE><H3><a name="h3-hide_panel">hide_panel</a></H3><PRE> <STRONG>hide_panel(</STRONG><EM>pan</EM><STRONG>)</STRONG> removes the given panel <EM>pan</EM> from the panel stack and - thus hides it from view. The <STRONG>PANEL</STRONG> structure is not lost, merely + thus hides it from view. The <EM>PANEL</EM> structure is not lost, merely removed from the stack. </PRE><H3><a name="h3-move_panel">move_panel</a></H3><PRE> - <STRONG>move_panel(</STRONG><EM>pan</EM><STRONG>,</STRONG><EM>starty</EM><STRONG>,</STRONG><EM>startx</EM><STRONG>)</STRONG> moves the given panel <EM>pan</EM>'s window so + <STRONG>move_panel(</STRONG><EM>pan</EM><STRONG>,</STRONG> <EM>starty</EM><STRONG>,</STRONG> <EM>startx</EM><STRONG>)</STRONG> moves the given panel <EM>pan</EM>'s window so that its upper-left corner is at <EM>starty</EM>, <EM>startx</EM>. It does not change the position of the panel in the stack. Be sure to use this function, not <STRONG><A HREF="curs_window.3x.html">mvwin(3x)</A></STRONG>, to move a panel window. </PRE><H3><a name="h3-new_panel">new_panel</a></H3><PRE> - <STRONG>new_panel(</STRONG><EM>win</EM><STRONG>)</STRONG> allocates a <STRONG>PANEL</STRONG> structure, associates it with <EM>win</EM>, - places the panel on the top of the stack (causes it to be displayed + <STRONG>new_panel(</STRONG><EM>win</EM><STRONG>)</STRONG> allocates a <EM>PANEL</EM> structure, associates it with <EM>win</EM>, + places the panel on the top of the stack (causes it to be displayed above any other panel) and returns a pointer to the new panel. </PRE><H3><a name="h3-panel_above">panel_above</a></H3><PRE> <STRONG>panel_above(</STRONG><EM>pan</EM><STRONG>)</STRONG> returns a pointer to the panel above <EM>pan</EM>. If the - panel argument is <STRONG>(PANEL</STRONG> <STRONG>*)0</STRONG>, it returns a pointer to the bottom panel - in the stack. + panel argument is "<STRONG>(PANEL</STRONG> <STRONG>*)0</STRONG>", it returns a pointer to the bottom + panel in the stack. </PRE><H3><a name="h3-panel_below">panel_below</a></H3><PRE> <STRONG>panel_below(</STRONG><EM>pan</EM><STRONG>)</STRONG> returns a pointer to the panel just below <EM>pan</EM>. If the - panel argument is <STRONG>(PANEL</STRONG> <STRONG>*)0</STRONG>, it returns a pointer to the top panel in - the stack. + panel argument is "<STRONG>(PANEL</STRONG> <STRONG>*)0</STRONG>", it returns a pointer to the top panel + in the stack. </PRE><H3><a name="h3-panel_hidden">panel_hidden</a></H3><PRE> - <STRONG>panel_hidden(</STRONG><EM>pan</EM><STRONG>)</STRONG> returns <STRONG>TRUE</STRONG> if the panel <EM>pan</EM> is in the panel stack, - <STRONG>FALSE</STRONG> if it is not. If the panel is a null pointer, return <STRONG>ERR</STRONG>. + <STRONG>panel_hidden(</STRONG><EM>pan</EM><STRONG>)</STRONG> returns <STRONG>FALSE</STRONG> if the panel <EM>pan</EM> is in the panel stack, + and <STRONG>TRUE</STRONG> if it is not. If the panel is a null pointer, it returns <STRONG>ERR</STRONG>. </PRE><H3><a name="h3-panel_userptr">panel_userptr</a></H3><PRE> @@ -179,89 +160,87 @@ </PRE><H3><a name="h3-replace_panel">replace_panel</a></H3><PRE> - <STRONG>replace_panel(</STRONG><EM>pan</EM><STRONG>,</STRONG><EM>window</EM><STRONG>)</STRONG> replaces the current window of panel <EM>pan</EM> with - <EM>window</EM> This is useful, for example if you want to resize a panel. In - <STRONG>ncurses</STRONG>, you can call <STRONG>replace_panel</STRONG> to resize a panel using a window + <STRONG>replace_panel(</STRONG><EM>pan</EM><STRONG>,</STRONG> <EM>window</EM><STRONG>)</STRONG> replaces the current window of panel <EM>pan</EM> + with <EM>window</EM> This is useful if, for example, you want to resize a panel. + In <EM>ncurses</EM>, you can call <STRONG>replace_panel</STRONG> to resize a panel using a window resized with <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>. It does not change the position of the panel in the stack. </PRE><H3><a name="h3-set_panel_userptr">set_panel_userptr</a></H3><PRE> - <STRONG>set_panel_userptr(</STRONG><EM>pan</EM><STRONG>,</STRONG><EM>ptr</EM><STRONG>)</STRONG> sets the panel's user pointer. + <STRONG>set_panel_userptr(</STRONG><EM>pan</EM><STRONG>,</STRONG> <EM>ptr</EM><STRONG>)</STRONG> sets the panel's user pointer. </PRE><H3><a name="h3-show_panel">show_panel</a></H3><PRE> <STRONG>show_panel(</STRONG><EM>pan</EM><STRONG>)</STRONG> makes a hidden panel visible by placing it on top of - the panels in the panel stack. See <STRONG>COMPATIBILITY</STRONG> below. + the panels in the panel stack. See "PORTABILITY" below. </PRE><H3><a name="h3-top_panel">top_panel</a></H3><PRE> <STRONG>top_panel(</STRONG><EM>pan</EM><STRONG>)</STRONG> puts the given visible panel <EM>pan</EM> on top of all panels in - the stack. See <STRONG>COMPATIBILITY</STRONG> below. + the stack. See "PORTABILITY" below. </PRE><H3><a name="h3-update_panels">update_panels</a></H3><PRE> - <STRONG>update_panels()</STRONG> refreshes the <EM>virtual</EM> <EM>screen</EM> to reflect the relations + <STRONG>update_panels()</STRONG> refreshes the virtual screen to reflect the relations between the panels in the stack, but does not call <STRONG><A HREF="curs_refresh.3x.html">doupdate(3x)</A></STRONG> to - refresh the <EM>physical</EM> <EM>screen</EM>. Use this function and not <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG> or + refresh the physical screen. Use this function and not <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG> or <STRONG><A HREF="curs_refresh.3x.html">wnoutrefresh(3x)</A></STRONG>. <STRONG>update_panels</STRONG> may be called more than once before a call to <STRONG>doupdate</STRONG>, - but <STRONG>doupdate</STRONG> is the function responsible for updating the <EM>physical</EM> - <EM>screen</EM>. + but <STRONG>doupdate</STRONG> is the function responsible for updating the physical + screen. -</PRE><H2><a name="h2-DIAGNOSTICS">DIAGNOSTICS</a></H2><PRE> +</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> Each routine that returns a pointer returns <STRONG>NULL</STRONG> if an error occurs. Each routine that returns an int value returns <STRONG>OK</STRONG> if it executes successfully and <STRONG>ERR</STRONG> if not. Except as noted, the <EM>pan</EM> and <EM>window</EM> parameters must be non-null. If - those are null, an error is returned. + either is null, an error is returned. - The <STRONG>move_panel</STRONG> function uses <STRONG><A HREF="curs_window.3x.html">mvwin(3x)</A></STRONG>, and will return an error if - <STRONG>mvwin</STRONG> returns an error. + The <STRONG>move_panel</STRONG> function uses <STRONG><A HREF="curs_window.3x.html">mvwin(3x)</A></STRONG>, and returns an error if <STRONG>mvwin</STRONG> + returns an error. -</PRE><H2><a name="h2-COMPATIBILITY">COMPATIBILITY</a></H2><PRE> - Reasonable care has been taken to ensure compatibility with the - native panel facility introduced in System V (inspection of the SVr4 - manual pages suggests the programming interface is unchanged). The - <STRONG>PANEL</STRONG> data structures are merely similar. The programmer is - cautioned not to directly use <STRONG>PANEL</STRONG> fields. +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> + The header file <EM>panel.h</EM> itself includes the header file <EM>curses.h</EM>. + + +</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> + Reasonable care has been taken to ensure compatibility with the native + panel facility introduced in System V; inspection of the SVr4 manual + pages suggests the programming interface never changed. The <EM>PANEL</EM> data + structures are merely similar. The programmer is cautioned not to + directly use <EM>PANEL</EM> fields. The functions <STRONG>show_panel</STRONG> and <STRONG>top_panel</STRONG> are identical in this implementation, and work equally well with displayed or hidden panels. - In the native System V implementation, <STRONG>show_panel</STRONG> is intended for - making a hidden panel visible (at the top of the stack) and <STRONG>top_panel</STRONG> - is intended for making an already-visible panel move to the top of the + In the System V implementation, <STRONG>show_panel</STRONG> is intended for making a + hidden panel visible (at the top of the stack) and <STRONG>top_panel</STRONG> is + intended for making an already-visible panel move to the top of the stack. You are cautioned to use the correct function to ensure - compatibility with native panel libraries. - + compatibility with System V panel libraries. -</PRE><H2><a name="h2-NOTE">NOTE</a></H2><PRE> - In your library list, libpanel.a should be before libncurses.a; that - is, you should say "-lpanel -lncurses", not the other way around (which - would give a link-error with static libraries). - -</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - The panel facility was documented in SVr4.2 in <EM>Character</EM> <EM>User</EM> <EM>Interface</EM> - <EM>Programming</EM> <EM>(UNIX</EM> <EM>SVR4.2)</EM>. +</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE> + A panel facility was documented in SVr4.2's <EM>Character</EM> <EM>User</EM> <EM>Interface</EM> + <EM>Programming</EM> document. It is not part of X/Open Curses. A few implementations exist: - <STRONG>o</STRONG> Systems based on SVr4 source code, e.g., Solaris, provide this + <STRONG>o</STRONG> Systems based on SVr4 source code, such as Solaris, provide this library. - <STRONG>o</STRONG> <STRONG>ncurses</STRONG> (since version 0.6 in 1993) and <STRONG>PDCurses</STRONG> (since version 2.2 - in 1995) provide a panel library whose common ancestor was a public + <STRONG>o</STRONG> <EM>ncurses</EM> (since version 0.6 in 1993) and <EM>PDCurses</EM> (since version 2.2 + in 1995) provide a panel library whose common ancestor is a public domain implementation by Warren Tucker published in <EM>u386mon</EM> 2.20 (1990). - According to Tucker, the SystemV panel library was first released + According to Tucker, the System V panel library was first released in SVr3.2 (1988), and his implementation helped with a port to SVr3.1 (1987). @@ -269,33 +248,25 @@ the same as Tucker's implementation. <STRONG>o</STRONG> NetBSD 8 (2018) has a panel library begun by Valery Ushakov in - 2015. This is based on the AT&T documentation. - - -</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE> - panel.h interface for the panels library + 2015, based on the System V documentation. - libpanel.a the panels library itself +</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE> + Warren Tucker <wht@n4hgf.mt-park.ga.us> originally wrote this + implementation, primarily to assist in porting <EM>u386mon</EM> to systems + without a native panel library. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, - - This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109). + Zeyd ben-Halim repackaged it for <EM>ncurses</EM>. + Juergen Pfeifer and Thomas E. Dickey revised and improved the library. -</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE> - Originally written by Warren Tucker <wht@n4hgf.mt-park.ga.us>, - primarily to assist in porting <EM>u386mon</EM> to systems without a native - panels library. - Repackaged for ncurses by Zeyd ben-Halim. - - Juergen Pfeifer and Thomas E. Dickey revised/improved the library. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> - <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -323,13 +294,12 @@ <li><a href="#h3-update_panels">update_panels</a></li> </ul> </li> -<li><a href="#h2-DIAGNOSTICS">DIAGNOSTICS</a></li> -<li><a href="#h2-COMPATIBILITY">COMPATIBILITY</a></li> -<li><a href="#h2-NOTE">NOTE</a></li> +<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> +<li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> -<li><a href="#h2-FILES">FILES</a></li> +<li><a href="#h2-HISTORY">HISTORY</a></li> +<li><a href="#h2-AUTHORS">AUTHORS</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-AUTHOR">AUTHOR</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/resizeterm.3x.html b/doc/html/man/resizeterm.3x.html index 66b807d4edf5..23491462792c 100644 --- a/doc/html/man/resizeterm.3x.html +++ b/doc/html/man/resizeterm.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2015,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,28 +28,28 @@ * authorization. * **************************************************************************** * Author: Thomas E. Dickey 1996-on - * @Id: resizeterm.3x,v 1.28 2020/10/17 23:55:41 tom Exp @ + * @Id: resizeterm.3x,v 1.56 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>resizeterm 3x</TITLE> +<TITLE>resizeterm 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">resizeterm 3x</H1> +<H1 class="no-header">resizeterm 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> +<STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> Library calls <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>is_term_resized</STRONG>, <STRONG>resize_term</STRONG>, <STRONG>resizeterm</STRONG> - change the curses terminal - size + <STRONG>is_term_resized</STRONG>, <STRONG>resize_term</STRONG>, <STRONG>resizeterm</STRONG> - manage the terminal + dimensions understood by <EM>curses</EM> </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -61,30 +61,62 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - This is an extension to the curses library. It provides callers with a - hook into the <STRONG>ncurses</STRONG> data to resize windows, primarily for use by - programs running in an X Window terminal (e.g., xterm). + This is an extension to the <EM>curses</EM> library. It provides callers with a + hook into the <EM>ncurses</EM> data to resize windows, primarily for use by + programs running in an X Window terminal (e.g., xterm) when the + terminal's screen size is changed by the user: + + <STRONG>o</STRONG> <EM>curses</EM> windows cannot extend outside the screen. If the terminal + is shrunk, <EM>curses</EM> windows must be shrunk to fit. + + <STRONG>o</STRONG> If the terminal is stretched, rows and/or columns can be added to + existing windows. The added cells should match the current + attributes of the windows. + + If the calling program has not set up a handler for <STRONG>SIGWINCH</STRONG> when it + initializes <EM>ncurses</EM> (e.g., using <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG> or <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>), then + <EM>ncurses</EM> sets a handler for <STRONG>SIGWINCH</STRONG> which notifies the library when a + window-size event has occurred. The library checks for this + notification + + <STRONG>o</STRONG> when reading input data, + + <STRONG>o</STRONG> when implicitly resuming program mode (e.g., between <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> and + <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG>), and + + <STRONG>o</STRONG> when explicitly resuming program mode in <STRONG><A HREF="curs_terminfo.3x.html">restartterm(3x)</A></STRONG>. + + When the library has found that the terminal's window-size has changed, + it calls <STRONG>resizeterm</STRONG> to update its data structures. + An application which establishes its own <STRONG>SIGWINCH</STRONG> handler can call + <STRONG>resizeterm</STRONG>, but in that case, the library will not see <STRONG>SIGWINCH</STRONG>, and + proper layout will rely upon the application. + + +</PRE><H2><a name="h2-FUNCTIONS">FUNCTIONS</a></H2><PRE> </PRE><H3><a name="h3-resizeterm">resizeterm</a></H3><PRE> - The function <STRONG>resizeterm</STRONG> resizes the standard and current windows to the - specified dimensions, and adjusts other bookkeeping data used by the - <STRONG>ncurses</STRONG> library that record the window dimensions such as the <STRONG>LINES</STRONG> and - <STRONG>COLS</STRONG> variables. + The function <STRONG>resizeterm</STRONG> resizes the standard and current windows (i.e., + <STRONG>stdscr</STRONG> and <STRONG>curscr</STRONG>) to the specified dimensions, and adjusts other + bookkeeping data used by the <EM>ncurses</EM> library that record the window + dimensions such as the <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> variables. </PRE><H3><a name="h3-resize_term">resize_term</a></H3><PRE> - Most of the work is done by the inner function <STRONG>resize_term</STRONG>. The outer - function <STRONG>resizeterm</STRONG> adds bookkeeping for the <STRONG>SIGWINCH</STRONG> handler, as well - as repainting the soft-key area (see <STRONG><A HREF="curs_slk.3x.html">slk_touch(3x)</A></STRONG>). + Most of the work for <STRONG>resizeterm</STRONG> is done by the inner function + <STRONG>resize_term</STRONG>. The outer function <STRONG>resizeterm</STRONG> adds bookkeeping for the + <STRONG>SIGWINCH</STRONG> handler, as well as repainting the soft-key area (see + <STRONG><A HREF="curs_slk.3x.html">slk_touch(3x)</A></STRONG>). - When resizing the windows, <STRONG>resize_term</STRONG> blank-fills the areas that are - extended. The calling application should fill in these areas with - appropriate data. + The <STRONG>resize_term</STRONG> function attempts to resize all windows. This helps + with simple applications. However: - The <STRONG>resize_term</STRONG> function attempts to resize all windows. However, due - to the calling convention of pads, it is not possible to resize these - without additional interaction with the application. + <STRONG>o</STRONG> It is not possible to automatically resize pads. + + <STRONG>o</STRONG> Applications which have complicated layouts should check for + <STRONG>KEY_RESIZE</STRONG> returned from <STRONG>wgetch</STRONG>, and adjust their layout, e.g., + using <STRONG>wresize</STRONG> and <STRONG>mvwin</STRONG>, or by recreating the windows. When resizing windows, <STRONG>resize_term</STRONG> recursively adjusts subwindows, keeping them within the updated parent window's limits. If a top-level @@ -112,11 +144,11 @@ them in a context where <STRONG>malloc</STRONG> or <STRONG>realloc</STRONG> may have been interrupted, since it uses those functions. - If ncurses is configured to supply its own <STRONG>SIGWINCH</STRONG> handler, + If <EM>ncurses</EM> is configured to supply its own <STRONG>SIGWINCH</STRONG> handler, <STRONG>o</STRONG> on receipt of a <STRONG>SIGWINCH</STRONG>, the handler sets a flag - <STRONG>o</STRONG> which is tested in <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> and <STRONG>doupdate</STRONG>, + <STRONG>o</STRONG> which is tested in <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">doupdate(3x)</A></STRONG> and <STRONG><A HREF="curs_terminfo.3x.html">restartterm(3x)</A></STRONG>, <STRONG>o</STRONG> in turn, calling the <STRONG>resizeterm</STRONG> function, @@ -129,44 +161,45 @@ Calling <STRONG>resizeterm</STRONG> or <STRONG>resize_term</STRONG> directly from a signal handler is unsafe. This indirect method is used to provide a safe way to - resize the ncurses data structures. + resize the <EM>ncurses</EM> data structures. - If the environment variables <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> are set, this overrides + If the environment variables <EM>LINES</EM> or <EM>COLUMNS</EM> are set, this overrides the library's use of the window size obtained from the operating system. Thus, even if a <STRONG>SIGWINCH</STRONG> is received, no screen size change may be recorded. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - It is possible to resize the screen with SVr4 curses, by + It is possible to resize the screen with SVr4 <EM>curses</EM>, by - <STRONG>o</STRONG> exiting curses with <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> and + <STRONG>o</STRONG> exiting <EM>curses</EM> with <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> and <STRONG>o</STRONG> resuming using <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>. Doing that clears the screen and is visually distracting. - This extension of ncurses was introduced in mid-1995. It was adopted - in NetBSD curses (2001) and PDCurses (2003). + This extension of <EM>ncurses</EM> was introduced in mid-1995. It was adopted + in NetBSD <EM>curses</EM> (2001) and PDCurses (2003). -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>. +</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE> + Thomas Dickey (from an equivalent function written in 1988 for BSD + <EM>curses</EM>) -</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE> - Thomas Dickey (from an equivalent function written in 1988 for BSD - curses). +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> - <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> </PRE> <div class="nav"> <ul> <li><a href="#h2-NAME">NAME</a></li> <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> -<li><a href="#h2-DESCRIPTION">DESCRIPTION</a> +<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> +<li><a href="#h2-FUNCTIONS">FUNCTIONS</a> <ul> <li><a href="#h3-resizeterm">resizeterm</a></li> <li><a href="#h3-resize_term">resize_term</a></li> @@ -176,8 +209,8 @@ <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> <li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-AUTHORS">AUTHORS</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-AUTHOR">AUTHOR</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/scr_dump.5.html b/doc/html/man/scr_dump.5.html index f1527c8b353e..a96342558ecb 100644 --- a/doc/html/man/scr_dump.5.html +++ b/doc/html/man/scr_dump.5.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,31 +27,27 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: scr_dump.5,v 1.16 2020/02/02 23:34:34 tom Exp @ + * @Id: scr_dump.5,v 1.46 2024/03/23 20:42:29 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>scr_dump 5</TITLE> +<TITLE>scr_dump 5 2024-03-23 ncurses 6.5 File formats</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">scr_dump 5</H1> +<H1 class="no-header">scr_dump 5 2024-03-23 ncurses 6.5 File formats</H1> <PRE> -<STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG> File Formats Manual <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG> +<STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG> File formats <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - scr_dump - format of curses screen-dumps. - - -</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> - <STRONG>scr_dump</STRONG> + scr_dump - <EM>curses</EM> screen dump </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> @@ -110,67 +106,53 @@ <STRONG>o</STRONG> The ncurses6 <STRONG>getwin</STRONG> reads the legacy screen dumps from ncurses5. -</PRE><H3><a name="h3-ncurses5-_legacy_">ncurses5 (legacy)</a></H3><PRE> - The screen-dump feature was added to ncurses in June 1995. While there +</PRE><H3><a name="h3-ncurses5-_Legacy_">ncurses5 (Legacy)</a></H3><PRE> + The screen-dump feature was added to <EM>ncurses</EM> in June 1995. While there were fixes and improvements in succeeding years, the basic scheme was unchanged: - <STRONG>o</STRONG> The <STRONG>WINDOW</STRONG> structure was written in binary form. + <STRONG>o</STRONG> The <EM>WINDOW</EM> structure was written in binary form. - <STRONG>o</STRONG> The <STRONG>WINDOW</STRONG> structure refers to lines of data, which were written as - an array of binary data following the <STRONG>WINDOW</STRONG>. + <STRONG>o</STRONG> The <EM>WINDOW</EM> structure refers to lines of data, which were written as + an array of binary data following the <EM>WINDOW</EM>. <STRONG>o</STRONG> When <STRONG>getwin</STRONG> restored the window, it would keep track of offsets - into the array of line-data and adjust the <STRONG>WINDOW</STRONG> structure which + into the array of line-data and adjust the <EM>WINDOW</EM> structure which was read back into memory. - This is similar to Unix SystemV, but does not write a "magic number" to - identify the file format. + This is similar to Unix System V, but does not write a "magic number" + to identify the file format. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - There is no standard format for <STRONG>putwin</STRONG>. This section gives a brief - description of the existing formats. + There is no standard format for <EM>curses</EM> screen dumps. A brief survey of + the existing implementations follows. </PRE><H3><a name="h3-X_Open-Curses">X/Open Curses</a></H3><PRE> - Refer to <EM>X/Open</EM> <EM>Curses,</EM> <EM>Issue</EM> <EM>7</EM> (2009). - - X/Open's documentation for <EM>enhanced</EM> <EM>curses</EM> says only: + X/Open Curses, Issue 7 specifies little. It says (boldface emphasis + added) - The <EM>getwin(</EM> <EM>)</EM> function reads window-related data stored in the file - by <EM>putwin(</EM> <EM>)</EM>. The function then creates and initializes a new + "[t]he <EM>getwin()</EM> function reads window-related data stored in the + file by <EM>putwin()</EM>. The function then creates and initializes a new window using that data. - The <EM>putwin(</EM> <EM>)</EM> function writes all data associated with <EM>win</EM> into the - <EM>stdio</EM> stream to which <EM>filep</EM> points, using an <STRONG>unspecified</STRONG> <STRONG>format</STRONG>. - This information can be retrieved later using <EM>getwin(</EM> <EM>)</EM>. + The <EM>putwin()</EM> function writes all data associated with <EM>win</EM> into the + <EM>stdio</EM> stream to which <EM>filep</EM> points, using an <STRONG>unspecified</STRONG> <STRONG>format</STRONG>. + This information can be retrieved later using <EM>getwin()</EM>." - In the mid-1990s when the X/Open Curses document was written, there - were still systems using older, less capable curses libraries (aside - from the BSD curses library which was not relevant to X/Open because it - did not meet the criteria for <EM>base</EM> <EM>curses</EM>). The document explained the - term "enhanced" as follows: + In the mid-1990s when the X/Open Curses document was written, there + were still System V systems using older, less capable <EM>curses</EM> libraries. + BSD <EM>curses</EM> was not relevant to X/Open because it did not meet the + criteria for base-level conformance; see <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>. - <STRONG>o</STRONG> Shading is used to identify <EM>X/Open</EM> <EM>Enhanced</EM> <EM>Curses</EM> material, - relating to interfaces included to provide enhanced capabilities - for applications originally written to be compiled on systems - based on the UNIX operating system. Therefore, the features - described may not be present on systems that conform to <STRONG>XPG4</STRONG> <STRONG>or</STRONG> - <STRONG>to</STRONG> <STRONG>earlier</STRONG> <STRONG>XPG</STRONG> <STRONG>releases</STRONG>. The relevant reference pages may - provide additional or more specific portability warnings about - use of the material. - In the foregoing, emphasis was added to <STRONG>unspecified</STRONG> <STRONG>format</STRONG> and to <STRONG>XPG4</STRONG> - <STRONG>or</STRONG> <STRONG>to</STRONG> <STRONG>earlier</STRONG> <STRONG>XPG</STRONG> <STRONG>releases</STRONG>, for clarity. +</PRE><H3><a name="h3-System-V">System V</a></H3><PRE> + System V <EM>curses</EM> identified the file format by writing a "magic number" + at the beginning of the dump. The <EM>WINDOW</EM> data and the lines of text + follow, all in binary form. - -</PRE><H3><a name="h3-Unix-SystemV">Unix SystemV</a></H3><PRE> - Unix SystemV curses identified the file format by writing a "magic - number" at the beginning of the dump. The <STRONG>WINDOW</STRONG> data and the lines of - text follow, all in binary form. - - The Solaris curses source has these definitions: + Solaris <EM>curses</EM> has the following definitions. /* terminfo magic number */ #define MAGNUM 0432 @@ -180,86 +162,87 @@ #define SVR3_DUMP_MAGIC_NUMBER 0434 That is, the feature was likely introduced in SVr2 (1984), and improved - in SVr3 (1987). The Solaris curses source has no magic number for SVr4 - (1989). Other operating systems (AIX and HPUX) use a magic number - which would correspond to this definition: + in SVr3 (1987). Solaris <EM>curses</EM> has no magic number for SVr4 (1989). + Other System V operating systems (AIX and HP-UX) use a magic number + that would correspond to the following. /* curses screen dump magic number */ #define SVR4_DUMP_MAGIC_NUMBER 0435 - That octal number in bytes is 001, 035. Because most Unix vendors use - big-endian hardware, the magic number is written with the high-order - byte first, e.g., + That octal number in bytes is 001, 035. Because most Unix vendors at + the time used big-endian hardware, the magic number is written with the + high-order byte first. - 01 35 + \001\035 - After the magic number, the <STRONG>WINDOW</STRONG> structure and line-data are written - in binary format. While the magic number used by the Unix systems can - be seen using <STRONG>od(1)</STRONG>, none of the Unix systems documents the format used - for screen-dumps. + After the magic number, the <EM>WINDOW</EM> structure and line data are written + in binary format. While the magic number used by these systems can be + observed with <STRONG>od(1)</STRONG>, none of them documents the format used for screen + dumps. - The Unix systems do not use identical formats. While collecting - information for for this manual page, the <EM>savescreen</EM> test-program - produced dumps of different size (all on 64-bit hardware, on 40x80 - screens): + Nor do they use an identical format, even with the System V family. + The <EM>ncurses</EM> <EM>savescreen</EM> test program was used to collect information for + this manual page. It produced dumps of different size (all on 64-bit + hardware, on 40x80 screens): <STRONG>o</STRONG> AIX (51817 bytes) - <STRONG>o</STRONG> HPUX (90093 bytes) + <STRONG>o</STRONG> HP-UX (90093 bytes) <STRONG>o</STRONG> Solaris 10 (13273 bytes) - <STRONG>o</STRONG> ncurses5 (12888 bytes) + <STRONG>o</STRONG> <EM>ncurses</EM>5 (12888 bytes) </PRE><H3><a name="h3-Solaris">Solaris</a></H3><PRE> - As noted above, Solaris curses has no magic number corresponding to - SVr4 curses. This is odd since Solaris was the first operating system - to pass the SVr4 guidelines. Solaris has two versions of curses: + As noted above, Solaris <EM>curses</EM> has no magic number corresponding to + SVr4 <EM>curses</EM>. This is odd, since Solaris was the first operating system + to meet the SVr4 guidelines. Solaris furthermore supplies two versions + of <EM>curses</EM>. - <STRONG>o</STRONG> The default curses library uses the SVr3 magic number. + <STRONG>o</STRONG> The default <EM>curses</EM> library uses the SVr3 magic number. - <STRONG>o</STRONG> There is an alternate curses library in <STRONG>/usr/xpg4</STRONG>. This uses a - textual format with no magic number. + <STRONG>o</STRONG> An alternate <EM>curses</EM> library (which we term <EM>xcurses),</EM> available in + <EM>/usr/xpg4</EM>, uses a textual format with no magic number. - According to the copyright notice, the <EM>xpg4</EM> Solaris curses library - was developed by MKS (Mortice Kern Systems) from 1990 to 1995. + According to its copyright notice, this <EM>xcurses</EM> library was + developed by MKS (Mortice Kern Systems) from 1990 to 1995. - Like ncurses6, there is a file-header with parameters. Unlike - ncurses6, the contents of the window are written piecemeal, with - coordinates and attributes for each chunk of text rather than + Like ncurses6, it includes a header with parameters. Unlike + ncurses6, the contents of the window are written piecemeal, with + coordinates and attributes for each chunk of text rather than writing the whole window from top to bottom. </PRE><H3><a name="h3-PDCurses">PDCurses</a></H3><PRE> - PDCurses added support for screen dumps in version 2.7 (2005). Like - Unix SystemV and ncurses5, it writes the <STRONG>WINDOW</STRONG> structure in binary, - but begins the file with its three-byte identifier "PDC", followed by a - one-byte version, e.g., + <EM>PDCurses</EM> added support for screen dumps in version 2.7 (2005). Like + System V and ncurses5, it writes the <EM>WINDOW</EM> structure in binary, but + begins the file with its three-byte identifier "PDC", followed by a + single-byte version number. "PDC\001" </PRE><H3><a name="h3-NetBSD">NetBSD</a></H3><PRE> - As of April 2017, NetBSD curses does not support <STRONG>scr_dump</STRONG> and + As of April 2017, NetBSD <EM>curses</EM> does not support <STRONG>scr_dump</STRONG> and <STRONG>scr_restore</STRONG> (or <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG>), although it has <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG>. - Like ncurses5, NetBSD <STRONG>putwin</STRONG> does not identify its dumps with a useful + Like ncurses5, NetBSD <STRONG>putwin</STRONG> does not identify its dumps with a useful magic number. It writes - <STRONG>o</STRONG> the curses shared library major and minor versions as the first two - bytes (e.g., 7 and 1), + <STRONG>o</STRONG> the <EM>curses</EM> shared library major and minor versions as the first two + bytes (for example, 7 and 1), - <STRONG>o</STRONG> followed by a binary dump of the <STRONG>WINDOW</STRONG>, + <STRONG>o</STRONG> followed by a binary dump of the <EM>WINDOW</EM>, - <STRONG>o</STRONG> some data for wide-characters referenced by the <STRONG>WINDOW</STRONG> structure, + <STRONG>o</STRONG> some data for wide characters referenced by the <EM>WINDOW</EM> structure, and <STRONG>o</STRONG> finally, lines as done by other implementations. -</PRE><H2><a name="h2-EXAMPLE">EXAMPLE</a></H2><PRE> - Given a simple program which writes text to the screen (and for the +</PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE> + Given a simple program which writes text to the screen (and for the sake of example, limiting the screen-size to 10x20): #include <curses.h> @@ -317,13 +300,13 @@ <STRONG>o</STRONG> The actual color pair values are not written to the file. - <STRONG>o</STRONG> All characters are shown in printable form; spaces are "\s" to + <STRONG>o</STRONG> All characters are shown in printable form; spaces are "\s" to ensure they are not overlooked. - <STRONG>o</STRONG> Attributes are written in escaped curly braces, e.g., "\{BOLD}", - and may include a color-pair (C1 or C2 in this example). + <STRONG>o</STRONG> Attributes are written in escaped curly braces, e.g., "\{BOLD}", + and may include a color pair (C1 or C2 in this example). - <STRONG>o</STRONG> The parameters in the header are written out only if they are + <STRONG>o</STRONG> The parameters in the header are written out only if they are nonzero. When reading back, order does not matter. Running the same program with Solaris <EM>xpg4</EM> curses gives this dump: @@ -362,12 +345,12 @@ 9,19,0,0, CUR=11,5 - Solaris <STRONG>getwin</STRONG> requires that all parameters are present, and in the - same order. The <EM>xpg4</EM> curses library does not know about the <STRONG>bce</STRONG> (back + Solaris <STRONG>getwin</STRONG> requires that all parameters are present, and in the + same order. The <EM>xpg4</EM> curses library does not know about the <STRONG>bce</STRONG> (back color erase) capability, and does not color the window background. - On the other hand, the SVr4 curses library does know about the - background color. However, its screen dumps are in binary. Here is + On the other hand, the SVr4 curses library does know about the + background color. However, its screen dumps are in binary. Here is the corresponding dump (using "od -t x1"): 0000000 1c 01 c3 d6 f3 58 05 00 0b 00 0a 00 14 00 00 00 @@ -394,43 +377,42 @@ 0002371 -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>. - - </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE> Thomas E. Dickey - extended screen-dump format for ncurses 6.0 (2015) + extended screen-dump format for <EM>ncurses</EM> 6.0 (2015) Eric S. Raymond - screen dump feature in ncurses 1.9.2d (1995) + screen dump feature in <EM>ncurses</EM> 1.9.2d (1995) +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> + - <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG> + +ncurses 6.5 2024-03-23 <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG> </PRE> <div class="nav"> <ul> <li><a href="#h2-NAME">NAME</a></li> -<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a> <ul> <li><a href="#h3-ncurses6">ncurses6</a></li> -<li><a href="#h3-ncurses5-_legacy_">ncurses5 (legacy)</a></li> +<li><a href="#h3-ncurses5-_Legacy_">ncurses5 (Legacy)</a></li> </ul> </li> <li><a href="#h2-PORTABILITY">PORTABILITY</a> <ul> <li><a href="#h3-X_Open-Curses">X/Open Curses</a></li> -<li><a href="#h3-Unix-SystemV">Unix SystemV</a></li> +<li><a href="#h3-System-V">System V</a></li> <li><a href="#h3-Solaris">Solaris</a></li> <li><a href="#h3-PDCurses">PDCurses</a></li> <li><a href="#h3-NetBSD">NetBSD</a></li> </ul> </li> -<li><a href="#h2-EXAMPLE">EXAMPLE</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> +<li><a href="#h2-EXAMPLES">EXAMPLES</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/tabs.1.html b/doc/html/man/tabs.1.html index 34dc416ead2e..5a548fab176b 100644 --- a/doc/html/man/tabs.1.html +++ b/doc/html/man/tabs.1.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 2008-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,36 +27,36 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: tabs.1,v 1.28 2020/12/19 21:50:22 tom Exp @ + * @Id: tabs.1,v 1.59 2024/04/20 19:08:15 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>tabs 1</TITLE> +<TITLE>tabs 1 2024-04-20 ncurses 6.5 User commands</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">tabs 1</H1> +<H1 class="no-header">tabs 1 2024-04-20 ncurses 6.5 User commands</H1> <PRE> -<STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG> General Commands Manual <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG> +<STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG> User commands <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>tabs</STRONG> - set tabs on a terminal + <STRONG>tabs</STRONG> - set terminal tab stops </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> - <STRONG>tabs</STRONG> [<EM>options</EM>]] <EM>[tabstop-list]</EM> + <STRONG>tabs</STRONG> [<EM>options</EM>] [<EM>tabstop-list</EM>] </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> The <STRONG>tabs</STRONG> program clears and sets tab-stops on the terminal. This uses - the terminfo <EM>clear</EM><STRONG>_</STRONG><EM>all</EM><STRONG>_</STRONG><EM>tabs</EM> and <EM>set</EM><STRONG>_</STRONG><EM>tab</EM> capabilities. If either is + the terminfo <STRONG>clear_all_tabs</STRONG> and <STRONG>set_tab</STRONG> capabilities. If either is absent, <STRONG>tabs</STRONG> is unable to clear/set tab-stops. The terminal should be configured to use hard tabs, e.g., @@ -97,7 +97,7 @@ <STRONG>-n</STRONG> This option tells <STRONG>tabs</STRONG> to check the options and run any debugging option, but not to modify the terminal settings. - <STRONG>-V</STRONG> reports the version of ncurses which was used in this program, and + <STRONG>-V</STRONG> reports the version of <EM>ncurses</EM> which was used in this program, and exits. The <STRONG>tabs</STRONG> program processes a single list of tab stops. The last option @@ -132,86 +132,133 @@ which is equivalent to the 1,6,11,16,21 example. -</PRE><H3><a name="h3-Predefined-Tab-Stops">Predefined Tab-Stops</a></H3><PRE> - X/Open defines several predefined lists of tab stops. +</PRE><H3><a name="h3-Predefined-Tab-Stops">Predefined Tab Stops</a></H3><PRE> + POSIX defines several predefined lists of tab stops. <STRONG>-a</STRONG> Assembler, IBM S/370, first format + 1,10,16,36,72 <STRONG>-a2</STRONG> Assembler, IBM S/370, second format + 1,10,16,40,72 <STRONG>-c</STRONG> COBOL, normal format + 1,8,12,16,20,55 <STRONG>-c2</STRONG> COBOL compact format + 1,6,10,14,49 <STRONG>-c3</STRONG> COBOL compact format extended + 1,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,67 <STRONG>-f</STRONG> FORTRAN + 1,7,11,15,19,23 <STRONG>-p</STRONG> PL/I + 1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61 <STRONG>-s</STRONG> SNOBOL + 1,10,55 <STRONG>-u</STRONG> UNIVAC 1100 Assembler + 1,12,20,44 + + +</PRE><H3><a name="h3-Margins">Margins</a></H3><PRE> + A few terminals expose a means of changing their left and right + margins. <STRONG>tabs</STRONG> supports this feature with an option. + + <STRONG>+m</STRONG> <EM>margin</EM> + The effect depends on whether the terminal has the margin + capabilities: + + <STRONG>o</STRONG> If the terminal provides the capability for setting the left + margin, <STRONG>tabs</STRONG> uses this, and adjusts the available tab stop + widths. + + <STRONG>o</STRONG> If the terminal does not provide the margin capabilities, <STRONG>tabs</STRONG> + imitates their effect, putting tab stops at appropriate places + on each line. The terminal's left margin is not modified. + + If the <EM>margin</EM> parameter is omitted, the default is 10. Use <STRONG>+m0</STRONG> to + reset the left margin, that is, to make it the left edge of the + terminal's display. Before setting a left margin, <STRONG>tabs</STRONG> resets the + margin to reduce problems that might arise from moving the cursor + to the left of the current left margin. + + When setting or resetting the left margin, <STRONG>tabs</STRONG> may also reset the + right margin. + + +</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE> + <EM>/usr/share/tabset</EM> + tab stop initialization database </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - <EM>IEEE</EM> <EM>Std</EM> <EM>1003.1/The</EM> <EM>Open</EM> <EM>Group</EM> <EM>Base</EM> <EM>Specifications</EM> <EM>Issue</EM> <EM>7</EM> - (POSIX.1-2008) describes a <STRONG>tabs</STRONG> utility. However + IEEE Std 1003.1/The Open Group Base Specifications Issue 7 + (POSIX.1-2008) describes a <STRONG>tabs</STRONG> utility. However, - <STRONG>o</STRONG> This standard describes a <STRONG>+m</STRONG> option, to set a terminal's left- - margin. Very few of the entries in the terminal database provide - the <STRONG>smgl</STRONG> (<STRONG>set_left_margin</STRONG>) or <STRONG>smglp</STRONG> (<STRONG>set_left_margin_parm</STRONG>) - capability needed to support the feature. + <STRONG>o</STRONG> this standard describes a <STRONG>+m</STRONG> option to set a terminal's left + margin. Very few of the entries in the terminal database provide + the <STRONG>set_left_margin</STRONG> (<STRONG>smgl</STRONG>) or <STRONG>set_left_margin_parm</STRONG> (<STRONG>smglp</STRONG>) + capabilities needed to support the feature. - <STRONG>o</STRONG> There is no counterpart in X/Open Curses Issue 7 for this utility, - unlike <STRONG>tput(1)</STRONG>. + <STRONG>o</STRONG> There is no counterpart in X/Open Curses Issue 7 for this utility, + unlike <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>. - The <STRONG>-d</STRONG> (debug) and <STRONG>-n</STRONG> (no-op) options are extensions not provided by - other implementations. + The <STRONG>-d</STRONG> (debug) and <STRONG>-n</STRONG> (no-op) options are <EM>ncurses</EM> extensions not + provided by other implementations. - A <STRONG>tabs</STRONG> utility appeared in PWB/Unix 1.0 (1977). There was a reduced - version of the <STRONG>tabs</STRONG> utility in Unix 7th edition and in 3BSD (1979). - The latter supported a single "-n" option (to cause the first tab stop - to be set on the left margin). That option is not documented by POSIX. - The PWB/Unix <STRONG>tabs</STRONG> utility, which was included in System III (1980), - used built-in tables rather than the terminal database, to support a - half-dozen terminal types. It also had built-in logic to support the - left-margin, as well as a feature for copying the tab settings from a - file. +</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE> + A <STRONG>tabs</STRONG> utility appeared in PWB/Unix 1.0 (1977). A reduced version + shipped in Seventh Edition Unix (early 1979) and in 3BSD (later the + same year); it supported a "-n" option to set the first tab stop at the + left margin. That option is not specified by POSIX. - Later versions of Unix, e.g., SVr4, added support for the terminal - database, but kept the tables, as a fallback. In an earlier - development effort, the tab-stop initialization provided by <STRONG>tset</STRONG> (1982) - and incorporated into <STRONG>tput</STRONG> uses the terminal database, + The PWB/Unix <STRONG>tabs</STRONG> utility returned in System III (1980), and used + built-in tables to support a half-dozen hardcopy terminal (printer) + types. It also had logic to support setting the left margin, as well + as a feature for copying the tab settings from a file. - POSIX documents no limits on the number of tab stops. Documentation - for other implementations states that there is a limit on the number of - tab stops (e.g., 20 in PWB/Unix's <STRONG>tabs</STRONG> utility). While some terminals - may not accept an arbitrary number of tab stops, this implementation - will attempt to set tab stops up to the right margin of the screen, if - the given list happens to be that long. + Versions of the program in later releases of AT&T Unix, such as SVr4, + added support for the terminal database, but retained the tables to + support the printers. By this time, System V <STRONG>tput</STRONG> had incorporated the + tab stop initialization feature of BSD's <STRONG>tset</STRONG> from 1982, but employed + the <EM>terminfo</EM> database to do so. - The <EM>Rationale</EM> section of the POSIX documentation goes into some detail - about the ways the committee considered redesigning the <STRONG>tabs</STRONG> and <STRONG>tput</STRONG> - utilities, without proposing an improved solution. It comments that + The <STRONG>+m</STRONG> option was documented in the POSIX Base Specifications Issue 5 + (Unix98, 1997), then omitted in Issue 6 (Unix03, 2004) without express + motivation, though an introductory comment "and optionally adjusts the + margin" remains, overlooked in the removal. The <STRONG>tabs</STRONG> utility + documented in Issues 6 and later has no mechanism for setting margins. + The <STRONG>+m</STRONG> option in <EM>ncurses</EM> <STRONG>tabs</STRONG> differs from the SVr4 feature by using + terminal capabilities rather than built-in tables. - no known historical version of tabs supports the capability of - setting arbitrary tab stops. + POSIX documents no limit on the number of tab stops. Other + implementations impose one; the limit is 20 in PWB/Unix's <STRONG>tabs</STRONG> utility. + While some terminals may not accept an arbitrary number of tab stops, + <EM>ncurses</EM> <STRONG>tabs</STRONG> attempts to set tab stops up to the right margin if the + list thereof is sufficiently long. - However, the <EM>Explicit</EM> <EM>Lists</EM> described in this manual page were - implemented in PWB/Unix. Those provide the capability of setting - abitrary tab stops. + The "Rationale" section of the Issue 6 <STRONG>tabs</STRONG> reference page details how + the committee considered redesigning the <STRONG>tabs</STRONG> and <STRONG>tput</STRONG> utilities, + without settling on an improved solution. It claims that + "no known historical version of <EM>tabs</EM> supports the capability of + setting arbitrary tab stops." + + The feature described in subsection "Explicit Lists" above was + implemented in PWB/Unix, and permitted the setting of abitrary tab + stops nevertheless. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. - This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109). +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> - <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -223,10 +270,13 @@ <li><a href="#h3-General-Options">General Options</a></li> <li><a href="#h3-Implicit-Lists">Implicit Lists</a></li> <li><a href="#h3-Explicit-Lists">Explicit Lists</a></li> -<li><a href="#h3-Predefined-Tab-Stops">Predefined Tab-Stops</a></li> +<li><a href="#h3-Predefined-Tab-Stops">Predefined Tab Stops</a></li> +<li><a href="#h3-Margins">Margins</a></li> </ul> </li> +<li><a href="#h2-FILES">FILES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-HISTORY">HISTORY</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> diff --git a/doc/html/man/term.5.html b/doc/html/man/term.5.html index 03c6b3b68d57..9c9b5b8e52ac 100644 --- a/doc/html/man/term.5.html +++ b/doc/html/man/term.5.html @@ -1,6 +1,7 @@ -<!-- +<!-- + * t **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,27 +28,27 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: term.5,v 1.38 2020/07/25 21:56:02 tom Exp @ + * @Id: term.5,v 1.77 2024/04/20 21:24:19 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>term 5</TITLE> +<TITLE>term 5 2024-04-20 ncurses 6.5 File formats</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">term 5</H1> +<H1 class="no-header">term 5 2024-04-20 ncurses 6.5 File formats</H1> <PRE> -<STRONG><A HREF="term.5.html">term(5)</A></STRONG> File Formats Manual <STRONG><A HREF="term.5.html">term(5)</A></STRONG> +<STRONG><A HREF="term.5.html">term(5)</A></STRONG> File formats <STRONG><A HREF="term.5.html">term(5)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - term - format of compiled term file. + term - compiled <EM>terminfo</EM> terminal description </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -56,13 +57,13 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> -</PRE><H3><a name="h3-STORAGE-LOCATION">STORAGE LOCATION</a></H3><PRE> +</PRE><H3><a name="h3-Storage-Location">Storage Location</a></H3><PRE> Compiled terminfo descriptions are placed under the directory <STRONG>/usr/share/terminfo</STRONG>. Two configurations are supported (when building - the <STRONG>ncurses</STRONG> libraries): + the <EM>ncurses</EM> libraries): <STRONG>directory</STRONG> <STRONG>tree</STRONG> - A two-level scheme is used to avoid a linear search of a huge UNIX + A two-level scheme is used to avoid a linear search of a huge Unix system directory: <STRONG>/usr/share/terminfo/c/name</STRONG> where <EM>name</EM> is the name of the terminal, and <EM>c</EM> is the first character of <EM>name</EM>. Thus, <EM>act4</EM> can be found in the file <STRONG>/usr/share/terminfo/a/act4</STRONG>. @@ -75,18 +76,18 @@ with the terminfo's primary name as a key, and records containing only aliases pointing to the primary name. - If built to write hashed databases, <STRONG>ncurses</STRONG> can still read + If built to write hashed databases, <EM>ncurses</EM> can still read terminfo databases organized as a directory tree, but cannot write entries into the directory tree. It can write (or rewrite) entries in the hashed database. - <STRONG>ncurses</STRONG> distinguishes the two cases in the TERMINFO and - TERMINFO_DIRS environment variable by assuming a directory tree + <EM>ncurses</EM> distinguishes the two cases in the <EM>TERMINFO</EM> and + <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> environment variable by assuming a directory tree for entries that correspond to an existing directory, and hashed database otherwise. -</PRE><H3><a name="h3-LEGACY-STORAGE-FORMAT">LEGACY STORAGE FORMAT</a></H3><PRE> +</PRE><H3><a name="h3-Legacy-Storage-Format">Legacy Storage Format</a></H3><PRE> The format has been chosen so that it will be the same on all hardware. An 8 or more bit byte is assumed, but no assumptions about byte ordering or sign extension are made. @@ -98,7 +99,7 @@ b) <EM>terminal</EM> <EM>names</EM>, - c) <EM>boolean</EM> <EM>flags</EM>, + c) <EM>Boolean</EM> <EM>flags</EM>, d) <EM>numbers</EM>, @@ -113,7 +114,7 @@ (2) the size, in bytes, of the <EM>terminal</EM> <EM>names</EM> section; - (3) the number of bytes in the <EM>boolean</EM> <EM>flags</EM> section; + (3) the number of bytes in the <EM>Boolean</EM> <EM>flags</EM> section; (4) the number of short integers in the <EM>numbers</EM> section; @@ -121,7 +122,7 @@ (6) the size, in bytes, of the <EM>string</EM> <EM>table</EM>. - The capabilities in the <EM>boolean</EM> <EM>flags</EM>, <EM>numbers</EM>, and <EM>strings</EM> sections + The capabilities in the <EM>Boolean</EM> <EM>flags</EM>, <EM>numbers</EM>, and <EM>strings</EM> sections are in the same order as the file <term.h>. Short integers are signed, in the range -32768 to 32767. They are @@ -144,13 +145,13 @@ the corresponding table. The integer value -1 is represented by two bytes 0377, 0377. - Absent boolean values are represented by the byte 0 (false). + Absent Boolean values are represented by the byte 0 (false). <STRONG>o</STRONG> If a capability has been canceled from this terminal, tic stores a -2 in the corresponding table. The integer value -2 is represented by two bytes 0377, 0376. - The boolean value -2 is represented by the byte 0376. + The Boolean value -2 is represented by the byte 0376. <STRONG>o</STRONG> Other negative values are illegal. @@ -159,18 +160,18 @@ the terminal, separated by the "|" character. The <EM>terminal</EM> <EM>names</EM> section is terminated with an ASCII NUL character. - The <EM>boolean</EM> <EM>flags</EM> section has one byte for each flag. Boolean + The <EM>Boolean</EM> <EM>flags</EM> section has one byte for each flag. Boolean capabilities are either 1 or 0 (true or false) according to whether the terminal supports the given capability or not. - Between the <EM>boolean</EM> <EM>flags</EM> section and the <EM>number</EM> section, a null byte + Between the <EM>Boolean</EM> <EM>flags</EM> section and the <EM>number</EM> section, a null byte will be inserted, if necessary, to ensure that the <EM>number</EM> section begins on an even byte This is a relic of the PDP-11's word-addressed architecture, originally designed to avoid traps induced by addressing a word on an odd byte boundary. All short integers are aligned on a short word boundary. - The <EM>numbers</EM> section is similar to the <EM>boolean</EM> <EM>flags</EM> section. Each + The <EM>numbers</EM> section is similar to the <EM>Boolean</EM> <EM>flags</EM> section. Each capability takes up two bytes, and is stored as a little-endian short integer. @@ -185,23 +186,23 @@ uninterpreted form. -</PRE><H3><a name="h3-EXTENDED-STORAGE-FORMAT">EXTENDED STORAGE FORMAT</a></H3><PRE> +</PRE><H3><a name="h3-Extended-Storage-Format">Extended Storage Format</a></H3><PRE> The previous section describes the conventional terminfo binary format. With some minor variations of the offsets (see PORTABILITY), the same - binary format is used in all modern UNIX systems. Each system uses a - predefined set of boolean, number or string capabilities. + binary format is used in all modern Unix systems. Each system uses a + predefined set of Boolean, number or string capabilities. - The <STRONG>ncurses</STRONG> libraries and applications support extended terminfo binary + The <EM>ncurses</EM> libraries and applications support extended terminfo binary format, allowing users to define capabilities which are loaded at runtime. This extension is made possible by using the fact that the other implementations stop reading the terminfo data when they have - reached the end of the size given in the header. <STRONG>ncurses</STRONG> checks the + reached the end of the size given in the header. <EM>ncurses</EM> checks the size, and if it exceeds that due to the predefined data, continues to parse according to its own scheme. First, it reads the extended header (5 short integers): - (1) count of extended boolean capabilities + (1) count of extended Boolean capabilities (2) count of extended numeric capabilities @@ -214,21 +215,27 @@ The count- and size-values for the extended string table include the extended capability <EM>names</EM> as well as extended capability <EM>values</EM>. - Using the counts and sizes, <STRONG>ncurses</STRONG> allocates arrays and reads data for + Using the counts and sizes, <EM>ncurses</EM> allocates arrays and reads data for the extended capabilities in the same order as the header information. The extended string table contains values for string capabilities. After the end of these values, it contains the names for each of the - extended capabilities in order, e.g., booleans, then numbers and + extended capabilities in order, e.g., Booleans, then numbers and finally strings. + By storing terminal descriptions in this way, <EM>ncurses</EM> is able to + provide a database useful with legacy applications, as well as + providing data for applications which need more than the predefined + capabilities. See <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> for an overview of the way <EM>ncurses</EM> uses + this extended information. + Applications which manipulate terminal data can use the definitions described in <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG> which associate the long capability names with members of a <STRONG>TERMTYPE</STRONG> structure. -</PRE><H3><a name="h3-EXTENDED-NUMBER-FORMAT">EXTENDED NUMBER FORMAT</a></H3><PRE> - On occasion, 16-bit signed integers are not large enough. With <STRONG>ncurses</STRONG> +</PRE><H3><a name="h3-Extended-Number-Format">Extended Number Format</a></H3><PRE> + On occasion, 16-bit signed integers are not large enough. With <EM>ncurses</EM> 6.1, a new format was introduced by making a few changes to the legacy format: @@ -244,143 +251,155 @@ <STRONG>TERMTYPE2</STRONG> to provide data for the terminfo functions. +</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE> + <EM>/usr/share/terminfo</EM> + compiled terminal description database + + </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> </PRE><H3><a name="h3-setupterm">setupterm</a></H3><PRE> Note that it is possible for <STRONG>setupterm</STRONG> to expect a different set of capabilities than are actually present in the file. Either the - database may have been updated since <STRONG>setupterm</STRONG> has been recompiled + database may have been updated since <STRONG>setupterm</STRONG> was recompiled (resulting in extra unrecognized entries in the file) or the program may have been recompiled more recently than the database was updated (resulting in missing entries). The routine <STRONG>setupterm</STRONG> must be prepared for both possibilities - this is why the numbers and sizes are included. Also, new capabilities must always be added at the end of - the lists of boolean, number, and string capabilities. + the lists of Boolean, number, and string capabilities. -</PRE><H3><a name="h3-Binary-format">Binary format</a></H3><PRE> +</PRE><H3><a name="h3-Binary-Format">Binary Format</a></H3><PRE> X/Open Curses does not specify a format for the terminfo database. - UNIX System V curses used a directory-tree of binary files, one per - terminal description. + System V curses used a directory-tree of binary files, one per terminal + description. Despite the consistent use of little-endian for numbers and the otherwise self-describing format, it is not wise to count on - portability of binary terminfo entries between commercial UNIX + portability of binary terminfo entries between commercial Unix versions. The problem is that there are at least three versions of terminfo (under HP-UX, AIX, and OSF/1) which diverged from System V terminfo after SVr1, and have added extension capabilities to the - string table that (in the binary format) collide with System V and XSI - Curses extensions. See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for detailed discussion of terminfo - source compatibility issues. + string table that (in the binary format) collide with System V and + X/Open Curses extensions. See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for detailed discussion of + terminfo source compatibility issues. This implementation is by default compatible with the binary terminfo format used by Solaris curses, except in a few less-used details where it was found that the latter did not match X/Open Curses. The format - used by the other Unix versions can be matched by building ncurses with + used by the other Unix versions can be matched by building <EM>ncurses</EM> with different configuration options. -</PRE><H3><a name="h3-Magic-codes">Magic codes</a></H3><PRE> +</PRE><H3><a name="h3-Magic-Codes">Magic Codes</a></H3><PRE> The magic number in a binary terminfo file is the first 16-bits (two bytes). Besides making it more reliable for the library to check that - a file is terminfo, utilities such as <STRONG>file</STRONG> also use that to tell what - the file-format is. System V defined more than one magic number, with - 0433, 0435 as screen-dumps (see <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>). This implementation uses - 01036 as a continuation of that sequence, but with a different high- - order byte to avoid confusion. - + a file is terminfo, utilities such as <STRONG>file(1)</STRONG> also use that to tell + what the file-format is. System V defined more than one magic number, + with 0433, 0435 as screen-dumps (see <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>). This implementation + uses 01036 as a continuation of that sequence, but with a different + high-order byte to avoid confusion. -</PRE><H3><a name="h3-The-TERMTYPE-structure">The TERMTYPE structure</a></H3><PRE> + <STRONG>The</STRONG> <EM>TERMTYPE</EM> <STRONG>Structure</STRONG> Direct access to the <STRONG>TERMTYPE</STRONG> structure is provided for legacy applications. Portable applications should use the <STRONG>tigetflag</STRONG> and related functions described in <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> for reading terminal capabilities. -</PRE><H3><a name="h3-Mixed-case-terminal-names">Mixed-case terminal names</a></H3><PRE> +</PRE><H3><a name="h3-Mixed-case-Terminal-Names">Mixed-case Terminal Names</a></H3><PRE> A small number of terminal descriptions use uppercase characters in their names. If the underlying filesystem ignores the difference - between uppercase and lowercase, <STRONG>ncurses</STRONG> represents the "first + between uppercase and lowercase, <EM>ncurses</EM> represents the "first character" of the terminal name used as the intermediate level of a directory tree in (two-character) hexadecimal form. -</PRE><H2><a name="h2-EXAMPLE">EXAMPLE</a></H2><PRE> - As an example, here is a description for the Lear-Siegler ADM-3, a - popular though rather stupid early terminal: +</PRE><H3><a name="h3-Limits">Limits</a></H3><PRE> + <EM>ncurses</EM> stores compiled terminal descriptions in three related formats, + described in the sections - adm3a|lsi adm3a, - am, - cols#80, lines#24, - bel=^G, clear= 32$<1>, cr=^M, cub1=^H, cud1=^J, - cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - home=^^, ind=^J, + <STRONG>o</STRONG> <STRONG>LEGACY</STRONG> <STRONG>STORAGE</STRONG> <STRONG>FORMAT</STRONG>, and + <STRONG>o</STRONG> <STRONG>EXTENDED</STRONG> <STRONG>STORAGE</STRONG> <STRONG>FORMAT</STRONG>, and - and a hexadecimal dump of the compiled terminal description: + <STRONG>o</STRONG> <STRONG>EXTENDED</STRONG> <STRONG>NUMBER</STRONG> <STRONG>FORMAT</STRONG>. + + The legacy storage format and the extended number format differ by the + types of numeric capability which they can store (i.e., 16-bit versus + 32-bit integers). The extended storage format introduced by <EM>ncurses</EM> + 5.0 adds data to either of these formats. - 0000 1a 01 10 00 02 00 03 00 82 00 31 00 61 64 6d 33 ........ ..1.adm3 - 0010 61 7c 6c 73 69 20 61 64 6d 33 61 00 00 01 50 00 a|lsi ad m3a...P. - 0020 ff ff 18 00 ff ff 00 00 02 00 ff ff ff ff 04 00 ........ ........ - 0030 ff ff ff ff ff ff ff ff 0a 00 25 00 27 00 ff ff ........ ..%.'... - 0040 29 00 ff ff ff ff 2b 00 ff ff 2d 00 ff ff ff ff ).....+. ..-..... - 0050 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ - 0060 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ - 0070 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ - 0080 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ - 0090 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ - 00a0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ - 00b0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ - 00c0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ - 00d0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ - 00e0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ - 00f0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ - 0100 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ - 0110 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ - 0120 ff ff ff ff ff ff 2f 00 07 00 0d 00 1a 24 3c 31 ....../. .....$<1 - 0130 3e 00 1b 3d 25 70 31 25 7b 33 32 7d 25 2b 25 63 >..=%p1% {32}%+%c - 0140 25 70 32 25 7b 33 32 7d 25 2b 25 63 00 0a 00 1e %p2%{32} %+%c.... - 0150 00 08 00 0c 00 0b 00 0a 00 ........ . - - - -</PRE><H2><a name="h2-LIMITS">LIMITS</a></H2><PRE> - Some limitations: - - <STRONG>o</STRONG> total compiled entries cannot exceed 4096 bytes in the legacy + Some limitations apply: + + <STRONG>o</STRONG> total compiled entries cannot exceed 4096 bytes in the legacy format. - <STRONG>o</STRONG> total compiled entries cannot exceed 32768 bytes in the extended + <STRONG>o</STRONG> total compiled entries cannot exceed 32768 bytes in the extended format. <STRONG>o</STRONG> the name field cannot exceed 128 bytes. - Compiled entries are limited to 32768 bytes because offsets into the - <EM>strings</EM> <EM>table</EM> use two-byte integers. The legacy format could have - supported 32768-byte entries, but was limited a virtual memory page's - 4096 bytes. + Compiled entries are limited to 32768 bytes because offsets into the + <EM>strings</EM> <EM>table</EM> use two-byte integers. The legacy format could have + supported 32768-byte entries, but was limited to a virtual memory + page's 4096 bytes. -</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE> - /usr/share/terminfo/*/* compiled terminal capability data base +</PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE> + As an example, here is a description for the Lear-Siegler ADM-3, a + popular though rather stupid early terminal: + adm3a|lsi adm3a, + am, + cols#80, lines#24, + bel=^G, clear=\032$<1>, cr=^M, cub1=^H, cud1=^J, + cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, + home=^^, ind=^J, -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. + and a hexadecimal dump of the compiled terminal description: + + 0000 1a 01 10 00 02 00 03 00 82 00 31 00 61 64 6d 33 ........ ..1.adm3 + 0010 61 7c 6c 73 69 20 61 64 6d 33 61 00 00 01 50 00 a|lsi ad m3a...P. + 0020 ff ff 18 00 ff ff 00 00 02 00 ff ff ff ff 04 00 ........ ........ + 0030 ff ff ff ff ff ff ff ff 0a 00 25 00 27 00 ff ff ........ ..%.'... + 0040 29 00 ff ff ff ff 2b 00 ff ff 2d 00 ff ff ff ff ).....+. ..-..... + 0050 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ + 0060 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ + 0070 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ + 0080 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ + 0090 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ + 00a0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ + 00b0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ + 00c0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ + 00d0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ + 00e0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ + 00f0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ + 0100 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ + 0110 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ + 0120 ff ff ff ff ff ff 2f 00 07 00 0d 00 1a 24 3c 31 ....../. .....$<1 + 0130 3e 00 1b 3d 25 70 31 25 7b 33 32 7d 25 2b 25 63 >..=%p1% {32}%+%c + 0140 25 70 32 25 7b 33 32 7d 25 2b 25 63 00 0a 00 1e %p2%{32} %+%c.... + 0150 00 08 00 0c 00 0b 00 0a 00 ........ . </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE> Thomas E. Dickey - extended terminfo format for ncurses 5.0 - hashed database support for ncurses 5.6 - extended number support for ncurses 6.1 + extended terminfo format for <EM>ncurses</EM> 5.0 + hashed database support for <EM>ncurses</EM> 5.6 + extended number support for <EM>ncurses</EM> 6.1 Eric S. Raymond - documented legacy terminfo format, e.g., from pcurses. + documented legacy terminfo format, e.g., from <EM>pcurses</EM>. + +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> - <STRONG><A HREF="term.5.html">term(5)</A></STRONG> + +ncurses 6.5 2024-04-20 <STRONG><A HREF="term.5.html">term(5)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -388,26 +407,25 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a> <ul> -<li><a href="#h3-STORAGE-LOCATION">STORAGE LOCATION</a></li> -<li><a href="#h3-LEGACY-STORAGE-FORMAT">LEGACY STORAGE FORMAT</a></li> -<li><a href="#h3-EXTENDED-STORAGE-FORMAT">EXTENDED STORAGE FORMAT</a></li> -<li><a href="#h3-EXTENDED-NUMBER-FORMAT">EXTENDED NUMBER FORMAT</a></li> +<li><a href="#h3-Storage-Location">Storage Location</a></li> +<li><a href="#h3-Legacy-Storage-Format">Legacy Storage Format</a></li> +<li><a href="#h3-Extended-Storage-Format">Extended Storage Format</a></li> +<li><a href="#h3-Extended-Number-Format">Extended Number Format</a></li> </ul> </li> +<li><a href="#h2-FILES">FILES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a> <ul> <li><a href="#h3-setupterm">setupterm</a></li> -<li><a href="#h3-Binary-format">Binary format</a></li> -<li><a href="#h3-Magic-codes">Magic codes</a></li> -<li><a href="#h3-The-TERMTYPE-structure">The TERMTYPE structure</a></li> -<li><a href="#h3-Mixed-case-terminal-names">Mixed-case terminal names</a></li> +<li><a href="#h3-Binary-Format">Binary Format</a></li> +<li><a href="#h3-Magic-Codes">Magic Codes</a></li> +<li><a href="#h3-Mixed-case-Terminal-Names">Mixed-case Terminal Names</a></li> +<li><a href="#h3-Limits">Limits</a></li> </ul> </li> -<li><a href="#h2-EXAMPLE">EXAMPLE</a></li> -<li><a href="#h2-LIMITS">LIMITS</a></li> -<li><a href="#h2-FILES">FILES</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> +<li><a href="#h2-EXAMPLES">EXAMPLES</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/term.7.html b/doc/html/man/term.7.html index 7a6a2965524d..9a8858878771 100644 --- a/doc/html/man/term.7.html +++ b/doc/html/man/term.7.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2011,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,21 +27,21 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: term.7,v 1.28 2020/02/02 23:34:34 tom Exp @ + * @Id: term.7,v 1.48 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>term 7</TITLE> +<TITLE>term 7 2024-03-16 ncurses 6.5 Miscellaneous</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">term 7</H1> +<H1 class="no-header">term 7 2024-03-16 ncurses 6.5 Miscellaneous</H1> <PRE> -<STRONG><A HREF="term.7.html">term(7)</A></STRONG> Miscellaneous Information Manual <STRONG><A HREF="term.7.html">term(7)</A></STRONG> +<STRONG><A HREF="term.7.html">term(7)</A></STRONG> Miscellaneous <STRONG><A HREF="term.7.html">term(7)</A></STRONG> @@ -51,35 +51,35 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - The environment variable <STRONG>TERM</STRONG> should normally contain the type name of + The environment variable <EM>TERM</EM> should normally contain the type name of the terminal, console or display-device type you are using. This information is critical for all screen-oriented programs, including your editor and mailer. - A default <STRONG>TERM</STRONG> value will be set on a per-line basis by either - <STRONG>/etc/inittab</STRONG> (e.g., System-V-like UNIXes) or <STRONG>/etc/ttys</STRONG> (BSD UNIXes). + A default <EM>TERM</EM> value will be set on a per-line basis by either + <STRONG>/etc/inittab</STRONG> (e.g., System-V-like Unices) or <STRONG>/etc/ttys</STRONG> (BSD Unices). This will nearly always suffice for workstation and microcomputer consoles. If you use a dialup line, the type of device attached to it may vary. - Older UNIX systems pre-set a very dumb terminal type like "dumb" or + Older Unix systems pre-set a very dumb terminal type like "dumb" or "dialup" on dialup lines. Newer ones may pre-set "vt100", reflecting the prevalence of DEC VT100-compatible terminals and personal-computer emulators. - Modern telnets pass your <STRONG>TERM</STRONG> environment variable from the local side + Modern telnets pass your <EM>TERM</EM> environment variable from the local side to the remote one. There can be problems if the remote terminfo or termcap entry for your type is not compatible with yours, but this situation is rare and can almost always be avoided by explicitly exporting "vt100" (assuming you are in fact using a VT100-superset - console, terminal, or terminal emulator.) + console, terminal, or terminal emulator). - In any case, you are free to override the system <STRONG>TERM</STRONG> setting to your + In any case, you are free to override the system <EM>TERM</EM> setting to your taste in your shell profile. The <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> utility may be of assistance; you can give it a set of rules for deducing or requesting a terminal type based on the tty device and baud rate. - Setting your own <STRONG>TERM</STRONG> value may also be useful if you have created a + Setting your own <EM>TERM</EM> value may also be useful if you have created a custom entry incorporating options (such as visual bell or reverse- video) which you wish to override the system default type for your line. @@ -88,14 +88,14 @@ underneath /usr/share/terminfo. To browse a list of all terminal names recognized by the system, do - toe | more + toe | more from your shell. These capability files are in a binary format optimized for retrieval speed (unlike the old text-based <STRONG>termcap</STRONG> format they replace); to examine an entry, you must use the <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> command. Invoke it as follows: - infocmp <EM>entry</EM><STRONG>_</STRONG><EM>name</EM> + infocmp <EM>entry</EM><STRONG>_</STRONG><EM>name</EM> where <EM>entry</EM><STRONG>_</STRONG><EM>name</EM> is the name of the type you wish to examine (and the name of its capability file the subdirectory of /usr/share/terminfo @@ -105,7 +105,7 @@ The first line of a <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> description gives the names by which terminfo knows a terminal, separated by "|" (pipe-bar) characters with the last name field terminated by a comma. The first name field is the - type's <EM>primary</EM> <EM>name</EM>, and is the one to use when setting <STRONG>TERM</STRONG>. The last + type's <EM>primary</EM> <EM>name</EM>, and is the one to use when setting <EM>TERM</EM>. The last name field (if distinct from the first) is actually a description of the terminal type (it may contain blanks; the others must be single words). Name fields between the first and last (if present) are @@ -191,39 +191,39 @@ Commands which use a terminal type to control display often accept a -T option that accepts a terminal name argument. Such programs should - fall back on the <STRONG>TERM</STRONG> environment variable when no -T option is + fall back on the <EM>TERM</EM> environment variable when no -T option is specified. -</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - For maximum compatibility with older System V UNIXes, names and aliases - should be unique within the first 14 characters. +</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE> + <EM>/usr/share/terminfo</EM> + compiled terminal description database + <EM>/etc/inittab</EM> + tty line initialization (AT&T-like Unices) -</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE> - /usr/share/terminfo/?/* - compiled terminal capability data base + <EM>/etc/ttys</EM> + tty line initialization (BSD-like Unices) - /etc/inittab - tty line initialization (AT&T-like UNIXes) - /etc/ttys - tty line initialization (BSD-like UNIXes) +</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> + For maximum compatibility with older System V Unices, names and aliases + should be unique within the first 14 characters. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>. + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> - <STRONG><A HREF="term.7.html">term(7)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="term.7.html">term(7)</A></STRONG> </PRE> <div class="nav"> <ul> <li><a href="#h2-NAME">NAME</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> -<li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-FILES">FILES</a></li> +<li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> diff --git a/doc/html/man/term_variables.3x.html b/doc/html/man/term_variables.3x.html index 8db839940a52..99b6786bca48 100644 --- a/doc/html/man/term_variables.3x.html +++ b/doc/html/man/term_variables.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2019,2020 Thomas E. Dickey * + * Copyright 2019-2023,2024 Thomas E. Dickey * * Copyright 2010-2015,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,29 +27,29 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: term_variables.3x,v 1.12 2020/02/02 23:34:34 tom Exp @ + * @Id: term_variables.3x,v 1.36 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>term_variables 3x</TITLE> +<TITLE>term_variables 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">term_variables 3x</H1> +<H1 class="no-header">term_variables 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG> <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG> +<STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG> Library calls <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>SP</STRONG>, <STRONG>acs_map</STRONG>, <STRONG>boolcodes</STRONG>, <STRONG>boolfnames</STRONG>, <STRONG>boolnames</STRONG>, <STRONG>cur_term</STRONG>, <STRONG>numcodes</STRONG>, - <STRONG>numfnames</STRONG>, <STRONG>numnames</STRONG>, <STRONG>strcodes</STRONG>, <STRONG>strfnames</STRONG>, <STRONG>strnames</STRONG>, <STRONG>ttytype</STRONG> - <STRONG>curses</STRONG> - terminfo global variables + <STRONG>SP</STRONG>, <STRONG>acs_map</STRONG>, <STRONG>boolcodes</STRONG>, <STRONG>boolfnames</STRONG>, <STRONG>boolnames</STRONG>, <STRONG>cur_term</STRONG>, <STRONG>numcodes</STRONG>, + <STRONG>numfnames</STRONG>, <STRONG>numnames</STRONG>, <STRONG>strcodes</STRONG>, <STRONG>strfnames</STRONG>, <STRONG>strnames</STRONG>, <STRONG>ttytype</STRONG> - <EM>terminfo</EM> + global variables </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -83,9 +83,9 @@ <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> manual page. Depending on the configuration, these may be actual variables, or - macros (see <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>) which provide read-only access to <EM>curs-</EM> - <EM>es</EM>'s state. In either case, applications should treat them as read-on- - ly to avoid confusing the library. + macros (see <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>) which provide read-only access to + <EM>curses</EM>'s state. In either case, applications should treat them as + read-only to avoid confusing the library. </PRE><H3><a name="h3-Alternate-Character-Set-Mapping">Alternate Character Set Mapping</a></H3><PRE> @@ -97,54 +97,54 @@ Application developers need only know that it is used for the "ACS_" constants in <curses.h>. - The comparable data for the wide-character library is a private vari- - able. + The comparable data for the wide-character library is a private + variable. </PRE><H3><a name="h3-Current-Terminal-Data">Current Terminal Data</a></H3><PRE> - After initializing the curses or terminfo interfaces, the <STRONG>cur_term</STRONG> con- - tains data describing the current terminal. This variable is also set - as a side-effect of <STRONG><A HREF="curs_initscr.3x.html">set_term(3x)</A></STRONG> and <STRONG><A HREF="curs_initscr.3x.html">delscreen(3x)</A></STRONG>. + After initializing the curses or terminfo interfaces, the <STRONG>cur_term</STRONG> + contains data describing the current terminal. This variable is also + set as a side-effect of <STRONG><A HREF="curs_initscr.3x.html">set_term(3x)</A></STRONG> and <STRONG><A HREF="curs_initscr.3x.html">delscreen(3x)</A></STRONG>. - It is possible to save a value of <STRONG>cur_term</STRONG> for subsequent use as a pa- - rameter to <STRONG>set_term</STRONG>, for switching between screens. Alternatively, one - can save the return value from <STRONG>newterm</STRONG> or <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> to reuse in + It is possible to save a value of <STRONG>cur_term</STRONG> for subsequent use as a + parameter to <STRONG>set_term</STRONG>, for switching between screens. Alternatively, + one can save the return value from <STRONG>newterm</STRONG> or <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> to reuse in <STRONG>set_term</STRONG>. -</PRE><H3><a name="h3-Terminfo-Names">Terminfo Names</a></H3><PRE> +</PRE><H3><a name="h3-terminfo-Lookup-Tables"><EM>terminfo</EM> Lookup Tables</a></H3><PRE> The <STRONG><A HREF="tic.1m.html">tic(1)</A></STRONG> and <STRONG><A HREF="infocmp.1m.html">infocmp(1)</A></STRONG> programs use lookup tables for the long and short names of terminfo capabilities, as well as the corresponding - names for termcap capabilities. These are available to other applica- - tions, although the hash-tables used by the terminfo and termcap func- - tions are not available. + names for termcap capabilities. These are available to other + applications, although the hash-tables used by the terminfo and termcap + functions are not available. - The long terminfo capability names use a "l" (ell) in their names: + The long terminfo capability names use a "f" (eff) in their names: <STRONG>boolfnames</STRONG>, <STRONG>numfnames</STRONG>, and <STRONG>strfnames</STRONG>. - These are the short names for terminfo capabilities: <STRONG>boolnames</STRONG>, <STRONG>num-</STRONG> - <STRONG>names</STRONG>, and <STRONG>strnames</STRONG>. + These are the short names for terminfo capabilities: <STRONG>boolnames</STRONG>, + <STRONG>numnames</STRONG>, and <STRONG>strnames</STRONG>. - These are the corresponding names used for termcap descriptions: <STRONG>bool-</STRONG> - <STRONG>codes</STRONG>, <STRONG>numcodes</STRONG>, and <STRONG>strcodes</STRONG>. + These are the corresponding names used for termcap descriptions: + <STRONG>boolcodes</STRONG>, <STRONG>numcodes</STRONG>, and <STRONG>strcodes</STRONG>. </PRE><H3><a name="h3-Terminal-Type">Terminal Type</a></H3><PRE> A terminal description begins with one or more terminal names separated by "|" (vertical bars). On initialization of the curses or terminfo - interfaces, <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> copies the terminal names to the array <STRONG>tty-</STRONG> - <STRONG>type</STRONG>. + interfaces, <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> copies the terminal names to the array + <STRONG>ttytype</STRONG>. -</PRE><H3><a name="h3-Terminfo-Names">Terminfo Names</a></H3><PRE> +</PRE><H3><a name="h3-terminfo-Names"><EM>terminfo</EM> Names</a></H3><PRE> In addition to the variables, <STRONG><term.h></STRONG> also defines a symbol for each terminfo capability <EM>long</EM> <EM>name</EM>. These are in terms of the symbol <STRONG>CUR</STRONG>, which is defined #define CUR ((TERMTYPE *)(cur_term))-> - These symbols provide a faster method of accessing terminfo capabili- - ties than using <STRONG><A HREF="curs_terminfo.3x.html">tigetstr(3x)</A></STRONG>, etc. + These symbols provide a faster method of accessing terminfo + capabilities than using <STRONG><A HREF="curs_terminfo.3x.html">tigetstr(3x)</A></STRONG>, etc. The actual definition of <STRONG>CUR</STRONG> depends upon the implementation, but each terminfo library provides these long names defined to point into the @@ -159,12 +159,12 @@ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> X/Open Curses does not describe any of these except for <STRONG>cur_term</STRONG>. (The - inclusion of <STRONG>cur_term</STRONG> appears to be an oversight, since other compara- - ble low-level information is omitted by X/Open). + inclusion of <STRONG>cur_term</STRONG> appears to be an oversight, since other + comparable low-level information is omitted by X/Open). - Other implementations may have comparable variables. Some implementa- - tions provide the variables in their libraries, but omit them from the - header files. + Other implementations may have comparable variables. Some + implementations provide the variables in their libraries, but omit them + from the header files. All implementations which provide terminfo interfaces add definitions as described in the <STRONG>Terminfo</STRONG> <STRONG>Names</STRONG> section. Most, but not all, base @@ -172,11 +172,11 @@ </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. + <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> - <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -186,9 +186,9 @@ <ul> <li><a href="#h3-Alternate-Character-Set-Mapping">Alternate Character Set Mapping</a></li> <li><a href="#h3-Current-Terminal-Data">Current Terminal Data</a></li> -<li><a href="#h3-Terminfo-Names">Terminfo Names</a></li> +<li><a href="#h3-terminfo-Lookup-Tables">terminfo Lookup Tables</a></li> <li><a href="#h3-Terminal-Type">Terminal Type</a></li> -<li><a href="#h3-Terminfo-Names">Terminfo Names</a></li> +<li><a href="#h3-terminfo-Names">terminfo Names</a></li> </ul> </li> <li><a href="#h2-NOTES">NOTES</a></li> diff --git a/doc/html/man/terminfo.5.html b/doc/html/man/terminfo.5.html index 0e5deb267a7a..67061141faca 100644 --- a/doc/html/man/terminfo.5.html +++ b/doc/html/man/terminfo.5.html @@ -1,11 +1,11 @@ -<!-- +<!-- * t * DO NOT EDIT THIS FILE BY HAND! * It is generated from terminfo.head, ./../include/Caps ./../include/Caps-ncurses, and terminfo.tail. * Note: this must be run through tbl before nroff. * The magic cookie on the first line triggers this under some man programs. **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -32,62 +32,27 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: terminfo.head,v 1.39 2020/02/02 23:34:34 tom Exp @ - * Head of terminfo man page ends here - **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * - * Copyright 1998-2016,2017 Free Software Foundation, Inc. * - * * - * Permission is hereby granted, free of charge, to any person obtaining a * - * copy of this software and associated documentation files (the * - * "Software"), to deal in the Software without restriction, including * - * without limitation the rights to use, copy, modify, merge, publish, * - * distribute, distribute with modifications, sublicense, and/or sell * - * copies of the Software, and to permit persons to whom the Software is * - * furnished to do so, subject to the following conditions: * - * * - * The above copyright notice and this permission notice shall be included * - * in all copies or substantial portions of the Software. * - * * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * - * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * - * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * - * * - * Except as contained in this notice, the name(s) of the above copyright * - * holders shall not be used in advertising or otherwise to promote the * - * sale, use or other dealings in this Software without prior written * - * authorization. * - **************************************************************************** - * @Id: terminfo.tail,v 1.100 2020/12/19 21:51:22 tom Exp @ - *.in -2 - *.in +2 - *.in -2 - *.in +2 - *.TH + * @Id: terminfo.head,v 1.65 2024/04/20 21:14:00 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>terminfo 5 File Formats</TITLE> +<TITLE>terminfo 5 2024-04-20 ncurses 6.5 File formats</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">terminfo 5 File Formats</H1> +<H1 class="no-header">terminfo 5 2024-04-20 ncurses 6.5 File formats</H1> <PRE> -<STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> File Formats <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> +<STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> File formats <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - terminfo - terminal capability data base + <STRONG>terminfo</STRONG> - terminal capability database </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -95,7 +60,7 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - <EM>Terminfo</EM> is a data base describing terminals, used by screen-oriented + <EM>Terminfo</EM> is a database describing terminals, used by screen-oriented programs such as <STRONG>nvi(1)</STRONG>, <STRONG>lynx(1)</STRONG>, <STRONG>mutt(1)</STRONG>, and other curses applications, using high-level calls to libraries such as <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>. It is also used via low-level calls by non-curses applications which @@ -106,10 +71,10 @@ have, by specifying how to perform screen operations, and by specifying padding requirements and initialization sequences. - This manual describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109). + This document describes <EM>ncurses</EM> version 6.5 (patch 20240427). -</PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></H3><PRE> +</PRE><H3><a name="h3-terminfo-Entry-Syntax"><EM>terminfo</EM> Entry Syntax</a></H3><PRE> Entries in <EM>terminfo</EM> consist of a sequence of fields: <STRONG>o</STRONG> Each field ends with a comma "," (embedded commas may be escaped @@ -148,7 +113,7 @@ <STRONG>o</STRONG> Lines beginning with a "#" in the first column are treated as comments. - While comment lines are legal at any point, the output of <STRONG>captoinfo</STRONG> + While comment lines are valid at any point, the output of <STRONG>captoinfo</STRONG> and <STRONG>infotocap</STRONG> (aliases for <STRONG>tic</STRONG>) will move comments so they occur only between entries. @@ -160,35 +125,36 @@ suffix. Thus, a vt100 in 132-column mode would be vt100-w. The following suffixes should be used where possible: - <STRONG>Suffix</STRONG> <STRONG>Meaning</STRONG> <STRONG>Example</STRONG> - -<EM>nn</EM> Number of lines on the screen aaa-60 - -<EM>n</EM>p Number of pages of memory c100-4p - -am With automargins (usually the default) vt100-am - -m Mono mode; suppress color ansi-m - -mc Magic cookie; spaces when highlighting wy30-mc - -na No arrow keys (leave them in local) c100-na - -nam Without automatic margins vt100-nam - -nl No status line att4415-nl - -ns No status line hp2626-ns - -rv Reverse video c100-rv - -s Enable status line vt100-s - -vb Use visible bell instead of beep wy370-vb - -w Wide mode (> 80 columns, usually 132) vt100-w + <STRONG>Suffix</STRONG> <STRONG>Example</STRONG> <STRONG>Meaning</STRONG> + ------------------------------------------------------------------------ + -<EM>nn</EM> aaa-60 Number of lines on the screen + -<EM>n</EM>p c100-4p Number of pages of memory + -am vt100-am With automargins (usually the default) + -m ansi-m Mono mode; suppress color + -mc wy30-mc Magic cookie; spaces when highlighting + -na c100-na No arrow keys (leave them in local) + -nam vt100-nam Without automatic margins + -nl hp2621-nl No status line + -ns hp2626-ns No status line + -rv c100-rv Reverse video + -s vt100-s Enable status line + -vb wy370-vb Use visible bell instead of beep + -w vt100-w Wide mode (> 80 columns, usually 132) For more on terminal naming conventions, see the <STRONG><A HREF="term.7.html">term(7)</A></STRONG> manual page. -</PRE><H3><a name="h3-Terminfo-Capabilities-Syntax">Terminfo Capabilities Syntax</a></H3><PRE> +</PRE><H3><a name="h3-terminfo-Capabilities-Syntax"><EM>terminfo</EM> Capabilities Syntax</a></H3><PRE> The terminfo entry consists of several <EM>capabilities</EM>, i.e., features that the terminal has, or methods for exercising the terminal's features. After the first field (giving the name(s) of the terminal entry), there - should be one or more <EM>capability</EM> fields. These are boolean, numeric or + should be one or more <EM>capability</EM> fields. These are Boolean, numeric or string names with corresponding values: <STRONG>o</STRONG> Boolean capabilities are true when present, false when absent. - There is no explicit value for boolean capabilities. + There is no explicit value for Boolean capabilities. <STRONG>o</STRONG> Numeric capabilities have a "#" following the name, then an unsigned decimal integer value. @@ -239,941 +205,770 @@ </PRE><H3><a name="h3-Predefined-Capabilities">Predefined Capabilities</a></H3><PRE> - The following is a complete table of the capabilities included in a - terminfo description block and available to terminfo-using code. In - each line of the table, - - The <STRONG>variable</STRONG> is the name by which the programmer (at the terminfo - level) accesses the capability. - - The <STRONG>capname</STRONG> is the short name used in the text of the database, and is - used by a person updating the database. Whenever possible, capnames - are chosen to be the same as or similar to the ANSI X3.64-1979 standard - (now superseded by ECMA-48, which uses identical or very similar - names). Semantics are also intended to match those of the - specification. - - The termcap code is the old <STRONG>termcap</STRONG> capability name (some capabilities - are new, and have names which termcap did not originate). - - Capability names have no hard length limit, but an informal limit of 5 - characters has been adopted to keep them short and to allow the tabs in - the source file <STRONG>Caps</STRONG> to line up nicely. - - Finally, the description field attempts to convey the semantics of the - capability. You may find some codes in the description field: - - (P) indicates that padding may be specified - - #[1-9] in the description field indicates that the string is passed - through <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> with parameters as given (#<EM>i</EM>). - - If no parameters are listed in the description, passing the - string through <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> may give unexpected results, e.g., if - it contains percent (%%) signs. - - (P*) indicates that padding may vary in proportion to the number of - lines affected - - (#<EM>i</EM>) indicates the <EM>i</EM>th parameter. - - - These are the boolean capabilities: - - - <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG> - <STRONG>Booleans</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG> - - - - auto_left_margin bw bw cub1 wraps from - column 0 to last - column - auto_right_margin am am terminal has - automatic margins - back_color_erase bce ut screen erased with - background color - can_change ccc cc terminal can re- - define existing - colors - ceol_standout_glitch xhp xs standout not erased - by overwriting (hp) - col_addr_glitch xhpa YA only positive motion - for hpa/mhpa caps - cpi_changes_res cpix YF changing character - pitch changes - resolution - cr_cancels_micro_mode crxm YB using cr turns off - micro mode - dest_tabs_magic_smso xt xt tabs destructive, - magic so char - (t1061) - eat_newline_glitch xenl xn newline ignored - after 80 cols - (concept) - erase_overstrike eo eo can erase - overstrikes with a - blank - generic_type gn gn generic line type - hard_copy hc hc hardcopy terminal - hard_cursor chts HC cursor is hard to - see - has_meta_key km km Has a meta key - (i.e., sets 8th-bit) - has_print_wheel daisy YC printer needs - operator to change - character set - has_status_line hs hs has extra status - line - hue_lightness_saturation hls hl terminal uses only - HLS color notation - (Tektronix) - insert_null_glitch in in insert mode - distinguishes nulls - lpi_changes_res lpix YG changing line pitch - changes resolution - memory_above da da display may be - retained above the - screen - memory_below db db display may be - retained below the - screen - move_insert_mode mir mi safe to move while - in insert mode - move_standout_mode msgr ms safe to move while - in standout mode - needs_xon_xoff nxon nx padding will not - work, xon/xoff - required - no_esc_ctlc xsb xb beehive (f1=escape, - f2=ctrl C) - no_pad_char npc NP pad character does - not exist - non_dest_scroll_region ndscr ND scrolling region is - non-destructive - - non_rev_rmcup nrrmc NR smcup does not - reverse rmcup - over_strike os os terminal can - overstrike - prtr_silent mc5i 5i printer will not - echo on screen - row_addr_glitch xvpa YD only positive motion - for vpa/mvpa caps - semi_auto_right_margin sam YE printing in last - column causes cr - status_line_esc_ok eslok es escape can be used - on the status line - tilde_glitch hz hz cannot print ~'s - (Hazeltine) - transparent_underline ul ul underline character - overstrikes - xon_xoff xon xo terminal uses - xon/xoff handshaking - - These are the numeric capabilities: - - - <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG> - <STRONG>Numeric</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG> - columns cols co number of columns in - a line - init_tabs it it tabs initially every - # spaces - label_height lh lh rows in each label - label_width lw lw columns in each - label - lines lines li number of lines on - screen or page - lines_of_memory lm lm lines of memory if > - line. 0 means varies - magic_cookie_glitch xmc sg number of blank - characters left by - smso or rmso - max_attributes ma ma maximum combined - attributes terminal - can handle - max_colors colors Co maximum number of - colors on screen - max_pairs pairs pa maximum number of - color-pairs on the - screen - maximum_windows wnum MW maximum number of - definable windows - no_color_video ncv NC video attributes - that cannot be used - with colors - num_labels nlab Nl number of labels on - screen - padding_baud_rate pb pb lowest baud rate - where padding needed - virtual_terminal vt vt virtual terminal - number (CB/unix) - width_status_line wsl ws number of columns in - status line - - The following numeric capabilities are present in the SVr4.0 term - structure, but are not yet documented in the man page. They came in + Tables of capabilities <EM>ncurses</EM> recognizes in a <EM>terminfo</EM> terminal type + description and available to <EM>terminfo</EM>-using code follow. + + <STRONG>o</STRONG> The capability name identifies the symbol by which the programmer + using the <EM>terminfo</EM> API accesses the capability. + + <STRONG>o</STRONG> The TI (<EM>terminfo</EM>) code is the short name used by a person composing + or updating a terminal type entry. + + Whenever possible, these codes are the same as or similar to those + of the ANSI X3.64-1979 standard (now superseded by ECMA-48, which + uses identical or very similar names). Semantics are also intended + to match those of the specification. + + <EM>terminfo</EM> codes have no hard length limit, but <EM>ncurses</EM> maintains an + informal one of 5 characters to keep them short and to allow the + tabs in the source file <EM>Caps</EM> to line up nicely. (Some standard + codes exceed this limit regardless.) + + <STRONG>o</STRONG> The TC (<EM>termcap</EM>) code is that used by the corresponding API of + <EM>ncurses</EM>. (Some capabilities are new, and have names that BSD + <EM>termcap</EM> did not originate.) + + <STRONG>o</STRONG> The description field attempts to convey the capability's + semantics. + + The description field employs a handful of notations. + + <STRONG>(P)</STRONG> indicates that padding may be specified. + + <STRONG>(P*)</STRONG> indicates that padding may vary in proportion to the number of + output lines affected. + + <STRONG>#</STRONG><EM>i</EM> indicates the <EM>i</EM>th parameter of a string capability; the + programmer should pass the string to <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> with the + parameters listed. + + If the description lists no parameters, passing the string to + <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> may produce unexpected behavior, for instance if the + string contains percent signs. + + <STRONG>Code</STRONG> + <STRONG>Boolean</STRONG> <STRONG>Capability</STRONG> <STRONG>Name</STRONG> <STRONG>TI</STRONG> <STRONG>TC</STRONG> <STRONG>Description</STRONG> + ------------------------------------------------------------------------ + + + <STRONG>auto_left_margin</STRONG> <STRONG>bw</STRONG> <STRONG>bw</STRONG> cub1 wraps from column 0 to + last column + <STRONG>auto_right_margin</STRONG> <STRONG>am</STRONG> <STRONG>am</STRONG> terminal has automatic margins + <STRONG>no_esc_ctlc</STRONG> <STRONG>xsb</STRONG> <STRONG>xb</STRONG> beehive (f1=escape, f2=ctrl C) + <STRONG>ceol_standout_glitch</STRONG> <STRONG>xhp</STRONG> <STRONG>xs</STRONG> standout not erased by + overwriting (hp) + <STRONG>eat_newline_glitch</STRONG> <STRONG>xenl</STRONG> <STRONG>xn</STRONG> newline ignored after 80 cols + (concept) + <STRONG>erase_overstrike</STRONG> <STRONG>eo</STRONG> <STRONG>eo</STRONG> can erase overstrikes with a + blank + <STRONG>generic_type</STRONG> <STRONG>gn</STRONG> <STRONG>gn</STRONG> generic line type + <STRONG>hard_copy</STRONG> <STRONG>hc</STRONG> <STRONG>hc</STRONG> hardcopy terminal + <STRONG>has_meta_key</STRONG> <STRONG>km</STRONG> <STRONG>km</STRONG> Has a meta key (i.e., sets + 8th-bit) + <STRONG>has_status_line</STRONG> <STRONG>hs</STRONG> <STRONG>hs</STRONG> has extra status line + <STRONG>insert_null_glitch</STRONG> <STRONG>in</STRONG> <STRONG>in</STRONG> insert mode distinguishes + nulls + <STRONG>memory_above</STRONG> <STRONG>da</STRONG> <STRONG>da</STRONG> display may be retained above + the screen + <STRONG>memory_below</STRONG> <STRONG>db</STRONG> <STRONG>db</STRONG> display may be retained below + the screen + <STRONG>move_insert_mode</STRONG> <STRONG>mir</STRONG> <STRONG>mi</STRONG> safe to move while in insert + mode + <STRONG>move_standout_mode</STRONG> <STRONG>msgr</STRONG> <STRONG>ms</STRONG> safe to move while in standout + mode + <STRONG>over_strike</STRONG> <STRONG>os</STRONG> <STRONG>os</STRONG> terminal can overstrike + <STRONG>status_line_esc_ok</STRONG> <STRONG>eslok</STRONG> <STRONG>es</STRONG> escape can be used on the + status line + <STRONG>dest_tabs_magic_smso</STRONG> <STRONG>xt</STRONG> <STRONG>xt</STRONG> tabs destructive, magic so + char (t1061) + <STRONG>tilde_glitch</STRONG> <STRONG>hz</STRONG> <STRONG>hz</STRONG> cannot print ~'s (Hazeltine) + <STRONG>transparent_underline</STRONG> <STRONG>ul</STRONG> <STRONG>ul</STRONG> underline character + overstrikes + <STRONG>xon_xoff</STRONG> <STRONG>xon</STRONG> <STRONG>xo</STRONG> terminal uses xon/xoff + handshaking + <STRONG>needs_xon_xoff</STRONG> <STRONG>nxon</STRONG> <STRONG>nx</STRONG> padding will not work, + xon/xoff required + <STRONG>prtr_silent</STRONG> <STRONG>mc5i</STRONG> <STRONG>5i</STRONG> printer will not echo on + screen + <STRONG>hard_cursor</STRONG> <STRONG>chts</STRONG> <STRONG>HC</STRONG> cursor is hard to see + <STRONG>non_rev_rmcup</STRONG> <STRONG>nrrmc</STRONG> <STRONG>NR</STRONG> smcup does not reverse rmcup + <STRONG>no_pad_char</STRONG> <STRONG>npc</STRONG> <STRONG>NP</STRONG> pad character does not exist + <STRONG>non_dest_scroll_region</STRONG> <STRONG>ndscr</STRONG> <STRONG>ND</STRONG> scrolling region is non- + destructive + <STRONG>can_change</STRONG> <STRONG>ccc</STRONG> <STRONG>cc</STRONG> terminal can re-define + existing colors + <STRONG>back_color_erase</STRONG> <STRONG>bce</STRONG> <STRONG>ut</STRONG> screen erased with background + color + <STRONG>hue_lightness_saturation</STRONG> <STRONG>hls</STRONG> <STRONG>hl</STRONG> terminal uses only HLS color + notation (Tektronix) + <STRONG>col_addr_glitch</STRONG> <STRONG>xhpa</STRONG> <STRONG>YA</STRONG> only positive motion for + hpa/mhpa caps + <STRONG>cr_cancels_micro_mode</STRONG> <STRONG>crxm</STRONG> <STRONG>YB</STRONG> using cr turns off micro mode + <STRONG>has_print_wheel</STRONG> <STRONG>daisy</STRONG> <STRONG>YC</STRONG> printer needs operator to + change character set + <STRONG>row_addr_glitch</STRONG> <STRONG>xvpa</STRONG> <STRONG>YD</STRONG> only positive motion for + vpa/mvpa caps + <STRONG>semi_auto_right_margin</STRONG> <STRONG>sam</STRONG> <STRONG>YE</STRONG> printing in last column causes + cr + <STRONG>cpi_changes_res</STRONG> <STRONG>cpix</STRONG> <STRONG>YF</STRONG> changing character pitch + changes resolution + <STRONG>lpi_changes_res</STRONG> <STRONG>lpix</STRONG> <STRONG>YG</STRONG> changing line pitch changes + resolution + + <STRONG>Code</STRONG> + + <STRONG>Numeric</STRONG> <STRONG>Capability</STRONG> <STRONG>Name</STRONG> <STRONG>TI</STRONG> <STRONG>TC</STRONG> <STRONG>Description</STRONG> + ------------------------------------------------------------------------ + <STRONG>columns</STRONG> <STRONG>cols</STRONG> <STRONG>co</STRONG> number of columns in a line + <STRONG>init_tabs</STRONG> <STRONG>it</STRONG> <STRONG>it</STRONG> tabs initially every # spaces + <STRONG>lines</STRONG> <STRONG>lines</STRONG> <STRONG>li</STRONG> number of lines on screen or + page + <STRONG>lines_of_memory</STRONG> <STRONG>lm</STRONG> <STRONG>lm</STRONG> lines of memory if > line. 0 + means varies + <STRONG>magic_cookie_glitch</STRONG> <STRONG>xmc</STRONG> <STRONG>sg</STRONG> number of blank characters + left by smso or rmso + <STRONG>padding_baud_rate</STRONG> <STRONG>pb</STRONG> <STRONG>pb</STRONG> lowest baud rate where padding + needed + <STRONG>virtual_terminal</STRONG> <STRONG>vt</STRONG> <STRONG>vt</STRONG> virtual terminal number + (CB/unix) + <STRONG>width_status_line</STRONG> <STRONG>wsl</STRONG> <STRONG>ws</STRONG> number of columns in status + line + <STRONG>num_labels</STRONG> <STRONG>nlab</STRONG> <STRONG>Nl</STRONG> number of labels on screen + <STRONG>label_height</STRONG> <STRONG>lh</STRONG> <STRONG>lh</STRONG> rows in each label + <STRONG>label_width</STRONG> <STRONG>lw</STRONG> <STRONG>lw</STRONG> columns in each label + <STRONG>max_attributes</STRONG> <STRONG>ma</STRONG> <STRONG>ma</STRONG> maximum combined attributes + terminal can handle + <STRONG>maximum_windows</STRONG> <STRONG>wnum</STRONG> <STRONG>MW</STRONG> maximum number of definable + windows + <STRONG>max_colors</STRONG> <STRONG>colors</STRONG> <STRONG>Co</STRONG> maximum number of colors on + screen + <STRONG>max_pairs</STRONG> <STRONG>pairs</STRONG> <STRONG>pa</STRONG> maximum number of color-pairs + on the screen + <STRONG>no_color_video</STRONG> <STRONG>ncv</STRONG> <STRONG>NC</STRONG> video attributes that cannot + be used with colors + + The following numeric capabilities are present in the SVr4.0 term + structure, but are not yet documented in the man page. They came in with SVr4's printer support. - - - <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG> - <STRONG>Numeric</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG> - bit_image_entwining bitwin Yo number of passes for - each bit-image row - bit_image_type bitype Yp type of bit-image - device - buffer_capacity bufsz Ya numbers of bytes - buffered before - printing - buttons btns BT number of buttons on - mouse - dot_horz_spacing spinh Yc spacing of dots - horizontally in dots - per inch - dot_vert_spacing spinv Yb spacing of pins - vertically in pins - per inch - max_micro_address maddr Yd maximum value in - micro_..._address - max_micro_jump mjump Ye maximum value in - parm_..._micro - micro_col_size mcs Yf character step size - when in micro mode - micro_line_size mls Yg line step size when - in micro mode - number_of_pins npins Yh numbers of pins in - print-head - output_res_char orc Yi horizontal - resolution in units - per line - output_res_horz_inch orhi Yk horizontal - resolution in units - per inch - output_res_line orl Yj vertical resolution - in units per line - output_res_vert_inch orvi Yl vertical resolution - in units per inch - print_rate cps Ym print rate in - characters per - second - wide_char_size widcs Yn character step size - when in double wide - mode - - These are the string capabilities: - - - <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG> - <STRONG>String</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG> - acs_chars acsc ac graphics charset - pairs, based on - vt100 - back_tab cbt bt back tab (P) - bell bel bl audible signal - (bell) (P) - carriage_return cr cr carriage return (P*) - (P*) - change_char_pitch cpi ZA Change number of - characters per inch - to #1 - change_line_pitch lpi ZB Change number of - lines per inch to #1 - change_res_horz chr ZC Change horizontal - resolution to #1 - - - change_res_vert cvr ZD Change vertical - resolution to #1 - change_scroll_region csr cs change region to - line #1 to line #2 - (P) - char_padding rmp rP like ip but when in - insert mode - clear_all_tabs tbc ct clear all tab stops - (P) - clear_margins mgc MC clear right and left - soft margins - clear_screen clear cl clear screen and - home cursor (P*) - clr_bol el1 cb Clear to beginning - of line - clr_eol el ce clear to end of line - (P) - clr_eos ed cd clear to end of - screen (P*) - column_address hpa ch horizontal position - #1, absolute (P) - command_character cmdch CC terminal settable - cmd character in - prototype !? - create_window cwin CW define a window #1 - from #2,#3 to #4,#5 - cursor_address cup cm move to row #1 - columns #2 - cursor_down cud1 do down one line - cursor_home home ho home cursor (if no - cup) - cursor_invisible civis vi make cursor - invisible - cursor_left cub1 le move left one space - cursor_mem_address mrcup CM memory relative - cursor addressing, - move to row #1 - columns #2 - cursor_normal cnorm ve make cursor appear - normal (undo - civis/cvvis) - cursor_right cuf1 nd non-destructive - space (move right - one space) - cursor_to_ll ll ll last line, first - column (if no cup) - cursor_up cuu1 up up one line - cursor_visible cvvis vs make cursor very - visible - define_char defc ZE Define a character - #1, #2 dots wide, - descender #3 - delete_character dch1 dc delete character - (P*) - delete_line dl1 dl delete line (P*) - dial_phone dial DI dial number #1 - dis_status_line dsl ds disable status line - display_clock dclk DK display clock - down_half_line hd hd half a line down - ena_acs enacs eA enable alternate - char set - enter_alt_charset_mode smacs as start alternate - character set (P) - enter_am_mode smam SA turn on automatic - margins - - enter_blink_mode blink mb turn on blinking - enter_bold_mode bold md turn on bold (extra - bright) mode - enter_ca_mode smcup ti string to start - programs using cup - enter_delete_mode smdc dm enter delete mode - enter_dim_mode dim mh turn on half-bright - mode - enter_doublewide_mode swidm ZF Enter double-wide - mode - enter_draft_quality sdrfq ZG Enter draft-quality - mode - enter_insert_mode smir im enter insert mode - enter_italics_mode sitm ZH Enter italic mode - enter_leftward_mode slm ZI Start leftward - carriage motion - enter_micro_mode smicm ZJ Start micro-motion - mode - enter_near_letter_quality snlq ZK Enter NLQ mode - enter_normal_quality snrmq ZL Enter normal-quality - mode - enter_protected_mode prot mp turn on protected - mode - enter_reverse_mode rev mr turn on reverse - video mode - enter_secure_mode invis mk turn on blank mode - (characters - invisible) - enter_shadow_mode sshm ZM Enter shadow-print - mode - enter_standout_mode smso so begin standout mode - enter_subscript_mode ssubm ZN Enter subscript mode - enter_superscript_mode ssupm ZO Enter superscript - mode - enter_underline_mode smul us begin underline mode - enter_upward_mode sum ZP Start upward - carriage motion - enter_xon_mode smxon SX turn on xon/xoff - handshaking - erase_chars ech ec erase #1 characters - (P) - exit_alt_charset_mode rmacs ae end alternate - character set (P) - exit_am_mode rmam RA turn off automatic - margins - exit_attribute_mode sgr0 me turn off all - attributes - exit_ca_mode rmcup te strings to end - programs using cup - exit_delete_mode rmdc ed end delete mode - exit_doublewide_mode rwidm ZQ End double-wide mode - exit_insert_mode rmir ei exit insert mode - exit_italics_mode ritm ZR End italic mode - exit_leftward_mode rlm ZS End left-motion mode - exit_micro_mode rmicm ZT End micro-motion - mode - exit_shadow_mode rshm ZU End shadow-print - mode - exit_standout_mode rmso se exit standout mode - exit_subscript_mode rsubm ZV End subscript mode - exit_superscript_mode rsupm ZW End superscript mode - exit_underline_mode rmul ue exit underline mode - exit_upward_mode rum ZX End reverse - character motion - - - exit_xon_mode rmxon RX turn off xon/xoff - handshaking - fixed_pause pause PA pause for 2-3 - seconds - flash_hook hook fh flash switch hook - flash_screen flash vb visible bell (may - not move cursor) - form_feed ff ff hardcopy terminal - page eject (P*) - from_status_line fsl fs return from status - line - goto_window wingo WG go to window #1 - hangup hup HU hang-up phone - init_1string is1 i1 initialization - string - init_2string is2 is initialization - string - init_3string is3 i3 initialization - string - init_file if if name of - initialization file - init_prog iprog iP path name of program - for initialization - initialize_color initc Ic initialize color #1 - to (#2,#3,#4) - initialize_pair initp Ip Initialize color - pair #1 to - fg=(#2,#3,#4), - bg=(#5,#6,#7) - insert_character ich1 ic insert character (P) - insert_line il1 al insert line (P*) - insert_padding ip ip insert padding after - inserted character - key_a1 ka1 K1 upper left of keypad - key_a3 ka3 K3 upper right of - keypad - key_b2 kb2 K2 center of keypad - key_backspace kbs kb backspace key - key_beg kbeg @1 begin key - key_btab kcbt kB back-tab key - key_c1 kc1 K4 lower left of keypad - key_c3 kc3 K5 lower right of - keypad - key_cancel kcan @2 cancel key - key_catab ktbc ka clear-all-tabs key - key_clear kclr kC clear-screen or - erase key - key_close kclo @3 close key - key_command kcmd @4 command key - key_copy kcpy @5 copy key - key_create kcrt @6 create key - key_ctab kctab kt clear-tab key - key_dc kdch1 kD delete-character key - key_dl kdl1 kL delete-line key - key_down kcud1 kd down-arrow key - key_eic krmir kM sent by rmir or smir - in insert mode - key_end kend @7 end key - key_enter kent @8 enter/send key - key_eol kel kE clear-to-end-of-line - key - key_eos ked kS clear-to-end-of- - screen key - key_exit kext @9 exit key - key_f0 kf0 k0 F0 function key - - key_f1 kf1 k1 F1 function key - key_f10 kf10 k; F10 function key - key_f11 kf11 F1 F11 function key - key_f12 kf12 F2 F12 function key - key_f13 kf13 F3 F13 function key - key_f14 kf14 F4 F14 function key - key_f15 kf15 F5 F15 function key - key_f16 kf16 F6 F16 function key - key_f17 kf17 F7 F17 function key - key_f18 kf18 F8 F18 function key - key_f19 kf19 F9 F19 function key - key_f2 kf2 k2 F2 function key - key_f20 kf20 FA F20 function key - key_f21 kf21 FB F21 function key - key_f22 kf22 FC F22 function key - key_f23 kf23 FD F23 function key - key_f24 kf24 FE F24 function key - key_f25 kf25 FF F25 function key - key_f26 kf26 FG F26 function key - key_f27 kf27 FH F27 function key - key_f28 kf28 FI F28 function key - key_f29 kf29 FJ F29 function key - key_f3 kf3 k3 F3 function key - key_f30 kf30 FK F30 function key - key_f31 kf31 FL F31 function key - key_f32 kf32 FM F32 function key - key_f33 kf33 FN F33 function key - key_f34 kf34 FO F34 function key - key_f35 kf35 FP F35 function key - key_f36 kf36 FQ F36 function key - key_f37 kf37 FR F37 function key - key_f38 kf38 FS F38 function key - key_f39 kf39 FT F39 function key - key_f4 kf4 k4 F4 function key - key_f40 kf40 FU F40 function key - key_f41 kf41 FV F41 function key - key_f42 kf42 FW F42 function key - key_f43 kf43 FX F43 function key - key_f44 kf44 FY F44 function key - key_f45 kf45 FZ F45 function key - key_f46 kf46 Fa F46 function key - key_f47 kf47 Fb F47 function key - key_f48 kf48 Fc F48 function key - key_f49 kf49 Fd F49 function key - key_f5 kf5 k5 F5 function key - key_f50 kf50 Fe F50 function key - key_f51 kf51 Ff F51 function key - key_f52 kf52 Fg F52 function key - key_f53 kf53 Fh F53 function key - key_f54 kf54 Fi F54 function key - key_f55 kf55 Fj F55 function key - key_f56 kf56 Fk F56 function key - key_f57 kf57 Fl F57 function key - key_f58 kf58 Fm F58 function key - key_f59 kf59 Fn F59 function key - key_f6 kf6 k6 F6 function key - key_f60 kf60 Fo F60 function key - key_f61 kf61 Fp F61 function key - key_f62 kf62 Fq F62 function key - key_f63 kf63 Fr F63 function key - key_f7 kf7 k7 F7 function key - key_f8 kf8 k8 F8 function key - key_f9 kf9 k9 F9 function key - key_find kfnd @0 find key - key_help khlp %1 help key - - key_home khome kh home key - key_ic kich1 kI insert-character key - key_il kil1 kA insert-line key - key_left kcub1 kl left-arrow key - key_ll kll kH lower-left key (home - down) - key_mark kmrk %2 mark key - key_message kmsg %3 message key - key_move kmov %4 move key - key_next knxt %5 next key - key_npage knp kN next-page key - key_open kopn %6 open key - key_options kopt %7 options key - key_ppage kpp kP previous-page key - key_previous kprv %8 previous key - key_print kprt %9 print key - key_redo krdo %0 redo key - key_reference kref &1 reference key - key_refresh krfr &2 refresh key - key_replace krpl &3 replace key - key_restart krst &4 restart key - key_resume kres &5 resume key - key_right kcuf1 kr right-arrow key - key_save ksav &6 save key - key_sbeg kBEG &9 shifted begin key - key_scancel kCAN &0 shifted cancel key - key_scommand kCMD *1 shifted command key - key_scopy kCPY *2 shifted copy key - key_screate kCRT *3 shifted create key - key_sdc kDC *4 shifted delete- - character key - key_sdl kDL *5 shifted delete-line - key - key_select kslt *6 select key - key_send kEND *7 shifted end key - key_seol kEOL *8 shifted clear-to- - end-of-line key - key_sexit kEXT *9 shifted exit key - key_sf kind kF scroll-forward key - key_sfind kFND *0 shifted find key - key_shelp kHLP #1 shifted help key - key_shome kHOM #2 shifted home key - key_sic kIC #3 shifted insert- - character key - key_sleft kLFT #4 shifted left-arrow - key - key_smessage kMSG %a shifted message key - key_smove kMOV %b shifted move key - key_snext kNXT %c shifted next key - key_soptions kOPT %d shifted options key - key_sprevious kPRV %e shifted previous key - key_sprint kPRT %f shifted print key - key_sr kri kR scroll-backward key - key_sredo kRDO %g shifted redo key - key_sreplace kRPL %h shifted replace key - key_sright kRIT %i shifted right-arrow - key - key_srsume kRES %j shifted resume key - key_ssave kSAV !1 shifted save key - key_ssuspend kSPD !2 shifted suspend key - key_stab khts kT set-tab key - key_sundo kUND !3 shifted undo key - key_suspend kspd &7 suspend key - key_undo kund &8 undo key - key_up kcuu1 ku up-arrow key - - keypad_local rmkx ke leave - 'keyboard_transmit' - mode - keypad_xmit smkx ks enter - 'keyboard_transmit' - mode - lab_f0 lf0 l0 label on function - key f0 if not f0 - lab_f1 lf1 l1 label on function - key f1 if not f1 - lab_f10 lf10 la label on function - key f10 if not f10 - lab_f2 lf2 l2 label on function - key f2 if not f2 - lab_f3 lf3 l3 label on function - key f3 if not f3 - lab_f4 lf4 l4 label on function - key f4 if not f4 - lab_f5 lf5 l5 label on function - key f5 if not f5 - lab_f6 lf6 l6 label on function - key f6 if not f6 - lab_f7 lf7 l7 label on function - key f7 if not f7 - lab_f8 lf8 l8 label on function - key f8 if not f8 - lab_f9 lf9 l9 label on function - key f9 if not f9 - label_format fln Lf label format - label_off rmln LF turn off soft labels - label_on smln LO turn on soft labels - meta_off rmm mo turn off meta mode - meta_on smm mm turn on meta mode - (8th-bit on) - micro_column_address mhpa ZY Like column_address - in micro mode - micro_down mcud1 ZZ Like cursor_down in - micro mode - micro_left mcub1 Za Like cursor_left in - micro mode - micro_right mcuf1 Zb Like cursor_right in - micro mode - micro_row_address mvpa Zc Like row_address #1 - in micro mode - micro_up mcuu1 Zd Like cursor_up in - micro mode - newline nel nw newline (behave like - cr followed by lf) - order_of_pins porder Ze Match software bits - to print-head pins - orig_colors oc oc Set all color pairs - to the original ones - orig_pair op op Set default pair to - its original value - pad_char pad pc padding char - (instead of null) - parm_dch dch DC delete #1 characters - (P*) - parm_delete_line dl DL delete #1 lines (P*) - parm_down_cursor cud DO down #1 lines (P*) - parm_down_micro mcud Zf Like - parm_down_cursor in - micro mode - parm_ich ich IC insert #1 characters - (P*) - - parm_index indn SF scroll forward #1 - lines (P) - parm_insert_line il AL insert #1 lines (P*) - parm_left_cursor cub LE move #1 characters - to the left (P) - parm_left_micro mcub Zg Like - parm_left_cursor in - micro mode - parm_right_cursor cuf RI move #1 characters - to the right (P*) - parm_right_micro mcuf Zh Like - parm_right_cursor in - micro mode - parm_rindex rin SR scroll back #1 lines - (P) - parm_up_cursor cuu UP up #1 lines (P*) - parm_up_micro mcuu Zi Like parm_up_cursor - in micro mode - pkey_key pfkey pk program function key - #1 to type string #2 - pkey_local pfloc pl program function key - #1 to execute string - #2 - pkey_xmit pfx px program function key - #1 to transmit - string #2 - plab_norm pln pn program label #1 to - show string #2 - print_screen mc0 ps print contents of - screen - prtr_non mc5p pO turn on printer for - #1 bytes - prtr_off mc4 pf turn off printer - prtr_on mc5 po turn on printer - pulse pulse PU select pulse dialing - quick_dial qdial QD dial number #1 - without checking - remove_clock rmclk RC remove clock - repeat_char rep rp repeat char #1 #2 - times (P*) - req_for_input rfi RF send next input char - (for ptys) - reset_1string rs1 r1 reset string - reset_2string rs2 r2 reset string - reset_3string rs3 r3 reset string - reset_file rf rf name of reset file - restore_cursor rc rc restore cursor to - position of last - save_cursor - row_address vpa cv vertical position #1 - absolute (P) - save_cursor sc sc save current cursor - position (P) - scroll_forward ind sf scroll text up (P) - scroll_reverse ri sr scroll text down (P) - select_char_set scs Zj Select character - set, #1 - set_attributes sgr sa define video - attributes #1-#9 - (PG9) - set_background setb Sb Set background color - #1 - set_bottom_margin smgb Zk Set bottom margin at - current line - - - set_bottom_margin_parm smgbp Zl Set bottom margin at - line #1 or (if smgtp - is not given) #2 - lines from bottom - set_clock sclk SC set clock, #1 hrs #2 - mins #3 secs - set_color_pair scp sp Set current color - pair to #1 - set_foreground setf Sf Set foreground color - #1 - set_left_margin smgl ML set left soft margin - at current - column. See - smgl. (ML is not in - BSD termcap). - set_left_margin_parm smglp Zm Set left (right) - margin at column #1 - set_right_margin smgr MR set right soft - margin at current - column - set_right_margin_parm smgrp Zn Set right margin at - column #1 - set_tab hts st set a tab in every - row, current columns - set_top_margin smgt Zo Set top margin at - current line - set_top_margin_parm smgtp Zp Set top (bottom) - margin at row #1 - set_window wind wi current window is - lines #1-#2 cols - #3-#4 - start_bit_image sbim Zq Start printing bit - image graphics - start_char_set_def scsd Zr Start character set - definition #1, with - #2 characters in the - set - stop_bit_image rbim Zs Stop printing bit - image graphics - stop_char_set_def rcsd Zt End definition of - character set #1 - subscript_characters subcs Zu List of - subscriptable - characters - superscript_characters supcs Zv List of - superscriptable - characters - tab ht ta tab to next 8-space - hardware tab stop - these_cause_cr docr Zw Printing any of - these characters - causes CR - to_status_line tsl ts move to status line, - column #1 - tone tone TO select touch tone - dialing - underline_char uc uc underline char and - move past it - up_half_line hu hu half a line up - user0 u0 u0 User string #0 - user1 u1 u1 User string #1 - user2 u2 u2 User string #2 - user3 u3 u3 User string #3 - user4 u4 u4 User string #4 - user5 u5 u5 User string #5 - - user6 u6 u6 User string #6 - user7 u7 u7 User string #7 - user8 u8 u8 User string #8 - user9 u9 u9 User string #9 - wait_tone wait WA wait for dial-tone - xoff_character xoffc XF XOFF character - xon_character xonc XN XON character - zero_motion zerom Zx No motion for - subsequent character - - The following string capabilities are present in the SVr4.0 term + <STRONG>Code</STRONG> + <STRONG>Numeric</STRONG> <STRONG>Capability</STRONG> <STRONG>Name</STRONG> <STRONG>TI</STRONG> <STRONG>TC</STRONG> <STRONG>Description</STRONG> + ------------------------------------------------------------------------ + <STRONG>buffer_capacity</STRONG> <STRONG>bufsz</STRONG> <STRONG>Ya</STRONG> numbers of bytes buffered + before printing + <STRONG>dot_vert_spacing</STRONG> <STRONG>spinv</STRONG> <STRONG>Yb</STRONG> spacing of pins vertically in + pins per inch + <STRONG>dot_horz_spacing</STRONG> <STRONG>spinh</STRONG> <STRONG>Yc</STRONG> spacing of dots horizontally + in dots per inch + <STRONG>max_micro_address</STRONG> <STRONG>maddr</STRONG> <STRONG>Yd</STRONG> maximum value in + micro_..._address + <STRONG>max_micro_jump</STRONG> <STRONG>mjump</STRONG> <STRONG>Ye</STRONG> maximum value in + parm_..._micro + <STRONG>micro_col_size</STRONG> <STRONG>mcs</STRONG> <STRONG>Yf</STRONG> character step size when in + micro mode + <STRONG>micro_line_size</STRONG> <STRONG>mls</STRONG> <STRONG>Yg</STRONG> line step size when in micro + mode + <STRONG>number_of_pins</STRONG> <STRONG>npins</STRONG> <STRONG>Yh</STRONG> numbers of pins in print-head + <STRONG>output_res_char</STRONG> <STRONG>orc</STRONG> <STRONG>Yi</STRONG> horizontal resolution in units + per line + <STRONG>output_res_line</STRONG> <STRONG>orl</STRONG> <STRONG>Yj</STRONG> vertical resolution in units + per line + <STRONG>output_res_horz_inch</STRONG> <STRONG>orhi</STRONG> <STRONG>Yk</STRONG> horizontal resolution in units + per inch + <STRONG>output_res_vert_inch</STRONG> <STRONG>orvi</STRONG> <STRONG>Yl</STRONG> vertical resolution in units + per inch + <STRONG>print_rate</STRONG> <STRONG>cps</STRONG> <STRONG>Ym</STRONG> print rate in characters per + second + <STRONG>wide_char_size</STRONG> <STRONG>widcs</STRONG> <STRONG>Yn</STRONG> character step size when in + double wide mode + <STRONG>buttons</STRONG> <STRONG>btns</STRONG> <STRONG>BT</STRONG> number of buttons on mouse + + <STRONG>bit_image_entwining</STRONG> <STRONG>bitwin</STRONG> <STRONG>Yo</STRONG> number of passes for each bit- + image row + <STRONG>bit_image_type</STRONG> <STRONG>bitype</STRONG> <STRONG>Yp</STRONG> type of bit-image device + + <STRONG>Code</STRONG> + <STRONG>String</STRONG> <STRONG>Capability</STRONG> <STRONG>Name</STRONG> <STRONG>TI</STRONG> <STRONG>TC</STRONG> <STRONG>Description</STRONG> + ------------------------------------------------------------------------ + <STRONG>back_tab</STRONG> <STRONG>cbt</STRONG> <STRONG>bt</STRONG> back tab (P) + <STRONG>bell</STRONG> <STRONG>bel</STRONG> <STRONG>bl</STRONG> audible signal (bell) (P) + <STRONG>carriage_return</STRONG> <STRONG>cr</STRONG> <STRONG>cr</STRONG> carriage return (P*) (P*) + <STRONG>change_scroll_region</STRONG> <STRONG>csr</STRONG> <STRONG>cs</STRONG> change region to line #1 to + line #2 (P) + <STRONG>clear_all_tabs</STRONG> <STRONG>tbc</STRONG> <STRONG>ct</STRONG> clear all tab stops (P) + <STRONG>clear_screen</STRONG> <STRONG>clear</STRONG> <STRONG>cl</STRONG> clear screen and home cursor + (P*) + <STRONG>clr_eol</STRONG> <STRONG>el</STRONG> <STRONG>ce</STRONG> clear to end of line (P) + <STRONG>clr_eos</STRONG> <STRONG>ed</STRONG> <STRONG>cd</STRONG> clear to end of screen (P*) + <STRONG>column_address</STRONG> <STRONG>hpa</STRONG> <STRONG>ch</STRONG> horizontal position #1, + absolute (P) + <STRONG>command_character</STRONG> <STRONG>cmdch</STRONG> <STRONG>CC</STRONG> terminal settable cmd + character in prototype !? + <STRONG>cursor_address</STRONG> <STRONG>cup</STRONG> <STRONG>cm</STRONG> move to row #1 columns #2 + <STRONG>cursor_down</STRONG> <STRONG>cud1</STRONG> <STRONG>do</STRONG> down one line + <STRONG>cursor_home</STRONG> <STRONG>home</STRONG> <STRONG>ho</STRONG> home cursor (if no cup) + <STRONG>cursor_invisible</STRONG> <STRONG>civis</STRONG> <STRONG>vi</STRONG> make cursor invisible + <STRONG>cursor_left</STRONG> <STRONG>cub1</STRONG> <STRONG>le</STRONG> move left one space + <STRONG>cursor_mem_address</STRONG> <STRONG>mrcup</STRONG> <STRONG>CM</STRONG> memory relative cursor + addressing, move to row #1 + columns #2 + <STRONG>cursor_normal</STRONG> <STRONG>cnorm</STRONG> <STRONG>ve</STRONG> make cursor appear normal + (undo civis/cvvis) + <STRONG>cursor_right</STRONG> <STRONG>cuf1</STRONG> <STRONG>nd</STRONG> non-destructive space (move + right one space) + <STRONG>cursor_to_ll</STRONG> <STRONG>ll</STRONG> <STRONG>ll</STRONG> last line, first column (if no + cup) + <STRONG>cursor_up</STRONG> <STRONG>cuu1</STRONG> <STRONG>up</STRONG> up one line + <STRONG>cursor_visible</STRONG> <STRONG>cvvis</STRONG> <STRONG>vs</STRONG> make cursor very visible + <STRONG>delete_character</STRONG> <STRONG>dch1</STRONG> <STRONG>dc</STRONG> delete character (P*) + <STRONG>delete_line</STRONG> <STRONG>dl1</STRONG> <STRONG>dl</STRONG> delete line (P*) + <STRONG>dis_status_line</STRONG> <STRONG>dsl</STRONG> <STRONG>ds</STRONG> disable status line + <STRONG>down_half_line</STRONG> <STRONG>hd</STRONG> <STRONG>hd</STRONG> half a line down + <STRONG>enter_alt_charset_mode</STRONG> <STRONG>smacs</STRONG> <STRONG>as</STRONG> start alternate character set + (P) + <STRONG>enter_blink_mode</STRONG> <STRONG>blink</STRONG> <STRONG>mb</STRONG> turn on blinking + <STRONG>enter_bold_mode</STRONG> <STRONG>bold</STRONG> <STRONG>md</STRONG> turn on bold (extra bright) + mode + <STRONG>enter_ca_mode</STRONG> <STRONG>smcup</STRONG> <STRONG>ti</STRONG> string to start programs using + cup + <STRONG>enter_delete_mode</STRONG> <STRONG>smdc</STRONG> <STRONG>dm</STRONG> enter delete mode + <STRONG>enter_dim_mode</STRONG> <STRONG>dim</STRONG> <STRONG>mh</STRONG> turn on half-bright mode + <STRONG>enter_insert_mode</STRONG> <STRONG>smir</STRONG> <STRONG>im</STRONG> enter insert mode + <STRONG>enter_secure_mode</STRONG> <STRONG>invis</STRONG> <STRONG>mk</STRONG> turn on blank mode (characters + invisible) + <STRONG>enter_protected_mode</STRONG> <STRONG>prot</STRONG> <STRONG>mp</STRONG> turn on protected mode + <STRONG>enter_reverse_mode</STRONG> <STRONG>rev</STRONG> <STRONG>mr</STRONG> turn on reverse video mode + <STRONG>enter_standout_mode</STRONG> <STRONG>smso</STRONG> <STRONG>so</STRONG> begin standout mode + <STRONG>enter_underline_mode</STRONG> <STRONG>smul</STRONG> <STRONG>us</STRONG> begin underline mode + <STRONG>erase_chars</STRONG> <STRONG>ech</STRONG> <STRONG>ec</STRONG> erase #1 characters (P) + <STRONG>exit_alt_charset_mode</STRONG> <STRONG>rmacs</STRONG> <STRONG>ae</STRONG> end alternate character set + (P) + <STRONG>exit_attribute_mode</STRONG> <STRONG>sgr0</STRONG> <STRONG>me</STRONG> turn off all attributes + <STRONG>exit_ca_mode</STRONG> <STRONG>rmcup</STRONG> <STRONG>te</STRONG> strings to end programs using + cup + <STRONG>exit_delete_mode</STRONG> <STRONG>rmdc</STRONG> <STRONG>ed</STRONG> end delete mode + <STRONG>exit_insert_mode</STRONG> <STRONG>rmir</STRONG> <STRONG>ei</STRONG> exit insert mode + + <STRONG>exit_standout_mode</STRONG> <STRONG>rmso</STRONG> <STRONG>se</STRONG> exit standout mode + <STRONG>exit_underline_mode</STRONG> <STRONG>rmul</STRONG> <STRONG>ue</STRONG> exit underline mode + <STRONG>flash_screen</STRONG> <STRONG>flash</STRONG> <STRONG>vb</STRONG> visible bell (may not move + cursor) + <STRONG>form_feed</STRONG> <STRONG>ff</STRONG> <STRONG>ff</STRONG> hardcopy terminal page eject + (P*) + <STRONG>from_status_line</STRONG> <STRONG>fsl</STRONG> <STRONG>fs</STRONG> return from status line + <STRONG>init_1string</STRONG> <STRONG>is1</STRONG> <STRONG>i1</STRONG> initialization string + <STRONG>init_2string</STRONG> <STRONG>is2</STRONG> <STRONG>is</STRONG> initialization string + <STRONG>init_3string</STRONG> <STRONG>is3</STRONG> <STRONG>i3</STRONG> initialization string + <STRONG>init_file</STRONG> <STRONG>if</STRONG> <STRONG>if</STRONG> name of initialization file + <STRONG>insert_character</STRONG> <STRONG>ich1</STRONG> <STRONG>ic</STRONG> insert character (P) + <STRONG>insert_line</STRONG> <STRONG>il1</STRONG> <STRONG>al</STRONG> insert line (P*) + <STRONG>insert_padding</STRONG> <STRONG>ip</STRONG> <STRONG>ip</STRONG> insert padding after inserted + character + <STRONG>key_backspace</STRONG> <STRONG>kbs</STRONG> <STRONG>kb</STRONG> backspace key + <STRONG>key_catab</STRONG> <STRONG>ktbc</STRONG> <STRONG>ka</STRONG> clear-all-tabs key + <STRONG>key_clear</STRONG> <STRONG>kclr</STRONG> <STRONG>kC</STRONG> clear-screen or erase key + <STRONG>key_ctab</STRONG> <STRONG>kctab</STRONG> <STRONG>kt</STRONG> clear-tab key + <STRONG>key_dc</STRONG> <STRONG>kdch1</STRONG> <STRONG>kD</STRONG> delete-character key + <STRONG>key_dl</STRONG> <STRONG>kdl1</STRONG> <STRONG>kL</STRONG> delete-line key + <STRONG>key_down</STRONG> <STRONG>kcud1</STRONG> <STRONG>kd</STRONG> down-arrow key + + <STRONG>key_eic</STRONG> <STRONG>krmir</STRONG> <STRONG>kM</STRONG> sent by rmir or smir in insert + mode + <STRONG>key_eol</STRONG> <STRONG>kel</STRONG> <STRONG>kE</STRONG> clear-to-end-of-line key + <STRONG>key_eos</STRONG> <STRONG>ked</STRONG> <STRONG>kS</STRONG> clear-to-end-of-screen key + <STRONG>key_f0</STRONG> <STRONG>kf0</STRONG> <STRONG>k0</STRONG> F0 function key + <STRONG>key_f1</STRONG> <STRONG>kf1</STRONG> <STRONG>k1</STRONG> F1 function key + <STRONG>key_f10</STRONG> <STRONG>kf10</STRONG> <STRONG>k;</STRONG> F10 function key + <STRONG>key_f2</STRONG> <STRONG>kf2</STRONG> <STRONG>k2</STRONG> F2 function key + <STRONG>key_f3</STRONG> <STRONG>kf3</STRONG> <STRONG>k3</STRONG> F3 function key + <STRONG>key_f4</STRONG> <STRONG>kf4</STRONG> <STRONG>k4</STRONG> F4 function key + <STRONG>key_f5</STRONG> <STRONG>kf5</STRONG> <STRONG>k5</STRONG> F5 function key + <STRONG>key_f6</STRONG> <STRONG>kf6</STRONG> <STRONG>k6</STRONG> F6 function key + <STRONG>key_f7</STRONG> <STRONG>kf7</STRONG> <STRONG>k7</STRONG> F7 function key + <STRONG>key_f8</STRONG> <STRONG>kf8</STRONG> <STRONG>k8</STRONG> F8 function key + <STRONG>key_f9</STRONG> <STRONG>kf9</STRONG> <STRONG>k9</STRONG> F9 function key + <STRONG>key_home</STRONG> <STRONG>khome</STRONG> <STRONG>kh</STRONG> home key + <STRONG>key_ic</STRONG> <STRONG>kich1</STRONG> <STRONG>kI</STRONG> insert-character key + <STRONG>key_il</STRONG> <STRONG>kil1</STRONG> <STRONG>kA</STRONG> insert-line key + <STRONG>key_left</STRONG> <STRONG>kcub1</STRONG> <STRONG>kl</STRONG> left-arrow key + <STRONG>key_ll</STRONG> <STRONG>kll</STRONG> <STRONG>kH</STRONG> lower-left key (home down) + <STRONG>key_npage</STRONG> <STRONG>knp</STRONG> <STRONG>kN</STRONG> next-page key + <STRONG>key_ppage</STRONG> <STRONG>kpp</STRONG> <STRONG>kP</STRONG> previous-page key + <STRONG>key_right</STRONG> <STRONG>kcuf1</STRONG> <STRONG>kr</STRONG> right-arrow key + <STRONG>key_sf</STRONG> <STRONG>kind</STRONG> <STRONG>kF</STRONG> scroll-forward key + <STRONG>key_sr</STRONG> <STRONG>kri</STRONG> <STRONG>kR</STRONG> scroll-backward key + <STRONG>key_stab</STRONG> <STRONG>khts</STRONG> <STRONG>kT</STRONG> set-tab key + <STRONG>key_up</STRONG> <STRONG>kcuu1</STRONG> <STRONG>ku</STRONG> up-arrow key + <STRONG>keypad_local</STRONG> <STRONG>rmkx</STRONG> <STRONG>ke</STRONG> leave keyboard transmit mode + <STRONG>keypad_xmit</STRONG> <STRONG>smkx</STRONG> <STRONG>ks</STRONG> enter keyboard transmit mode + <STRONG>lab_f0</STRONG> <STRONG>lf0</STRONG> <STRONG>l0</STRONG> label on function key f0 if + not f0 + <STRONG>lab_f1</STRONG> <STRONG>lf1</STRONG> <STRONG>l1</STRONG> label on function key f1 if + not f1 + <STRONG>lab_f10</STRONG> <STRONG>lf10</STRONG> <STRONG>la</STRONG> label on function key f10 if + not f10 + <STRONG>lab_f2</STRONG> <STRONG>lf2</STRONG> <STRONG>l2</STRONG> label on function key f2 if + not f2 + <STRONG>lab_f3</STRONG> <STRONG>lf3</STRONG> <STRONG>l3</STRONG> label on function key f3 if + not f3 + <STRONG>lab_f4</STRONG> <STRONG>lf4</STRONG> <STRONG>l4</STRONG> label on function key f4 if + not f4 + + + <STRONG>lab_f5</STRONG> <STRONG>lf5</STRONG> <STRONG>l5</STRONG> label on function key f5 if + not f5 + <STRONG>lab_f6</STRONG> <STRONG>lf6</STRONG> <STRONG>l6</STRONG> label on function key f6 if + not f6 + <STRONG>lab_f7</STRONG> <STRONG>lf7</STRONG> <STRONG>l7</STRONG> label on function key f7 if + not f7 + <STRONG>lab_f8</STRONG> <STRONG>lf8</STRONG> <STRONG>l8</STRONG> label on function key f8 if + not f8 + <STRONG>lab_f9</STRONG> <STRONG>lf9</STRONG> <STRONG>l9</STRONG> label on function key f9 if + not f9 + <STRONG>meta_off</STRONG> <STRONG>rmm</STRONG> <STRONG>mo</STRONG> turn off meta mode + <STRONG>meta_on</STRONG> <STRONG>smm</STRONG> <STRONG>mm</STRONG> turn on meta mode (8th-bit on) + <STRONG>newline</STRONG> <STRONG>nel</STRONG> <STRONG>nw</STRONG> newline (behave like cr + followed by lf) + <STRONG>pad_char</STRONG> <STRONG>pad</STRONG> <STRONG>pc</STRONG> padding char (instead of null) + <STRONG>parm_dch</STRONG> <STRONG>dch</STRONG> <STRONG>DC</STRONG> delete #1 characters (P*) + <STRONG>parm_delete_line</STRONG> <STRONG>dl</STRONG> <STRONG>DL</STRONG> delete #1 lines (P*) + <STRONG>parm_down_cursor</STRONG> <STRONG>cud</STRONG> <STRONG>DO</STRONG> down #1 lines (P*) + <STRONG>parm_ich</STRONG> <STRONG>ich</STRONG> <STRONG>IC</STRONG> insert #1 characters (P*) + <STRONG>parm_index</STRONG> <STRONG>indn</STRONG> <STRONG>SF</STRONG> scroll forward #1 lines (P) + <STRONG>parm_insert_line</STRONG> <STRONG>il</STRONG> <STRONG>AL</STRONG> insert #1 lines (P*) + <STRONG>parm_left_cursor</STRONG> <STRONG>cub</STRONG> <STRONG>LE</STRONG> move #1 characters to the left + (P) + <STRONG>parm_right_cursor</STRONG> <STRONG>cuf</STRONG> <STRONG>RI</STRONG> move #1 characters to the + right (P*) + <STRONG>parm_rindex</STRONG> <STRONG>rin</STRONG> <STRONG>SR</STRONG> scroll back #1 lines (P) + <STRONG>parm_up_cursor</STRONG> <STRONG>cuu</STRONG> <STRONG>UP</STRONG> up #1 lines (P*) + <STRONG>pkey_key</STRONG> <STRONG>pfkey</STRONG> <STRONG>pk</STRONG> program function key #1 to + type string #2 + <STRONG>pkey_local</STRONG> <STRONG>pfloc</STRONG> <STRONG>pl</STRONG> program function key #1 to + execute string #2 + <STRONG>pkey_xmit</STRONG> <STRONG>pfx</STRONG> <STRONG>px</STRONG> program function key #1 to + transmit string #2 + <STRONG>print_screen</STRONG> <STRONG>mc0</STRONG> <STRONG>ps</STRONG> print contents of screen + <STRONG>prtr_off</STRONG> <STRONG>mc4</STRONG> <STRONG>pf</STRONG> turn off printer + <STRONG>prtr_on</STRONG> <STRONG>mc5</STRONG> <STRONG>po</STRONG> turn on printer + <STRONG>repeat_char</STRONG> <STRONG>rep</STRONG> <STRONG>rp</STRONG> repeat char #1 #2 times (P*) + <STRONG>reset_1string</STRONG> <STRONG>rs1</STRONG> <STRONG>r1</STRONG> reset string + <STRONG>reset_2string</STRONG> <STRONG>rs2</STRONG> <STRONG>r2</STRONG> reset string + + <STRONG>reset_3string</STRONG> <STRONG>rs3</STRONG> <STRONG>r3</STRONG> reset string + <STRONG>reset_file</STRONG> <STRONG>rf</STRONG> <STRONG>rf</STRONG> name of reset file + <STRONG>restore_cursor</STRONG> <STRONG>rc</STRONG> <STRONG>rc</STRONG> restore cursor to position of + last save_cursor + <STRONG>row_address</STRONG> <STRONG>vpa</STRONG> <STRONG>cv</STRONG> vertical position #1 absolute + (P) + <STRONG>save_cursor</STRONG> <STRONG>sc</STRONG> <STRONG>sc</STRONG> save current cursor position + (P) + <STRONG>scroll_forward</STRONG> <STRONG>ind</STRONG> <STRONG>sf</STRONG> scroll text up (P) + <STRONG>scroll_reverse</STRONG> <STRONG>ri</STRONG> <STRONG>sr</STRONG> scroll text down (P) + <STRONG>set_attributes</STRONG> <STRONG>sgr</STRONG> <STRONG>sa</STRONG> define video attributes #1-#9 + (PG9) + <STRONG>set_tab</STRONG> <STRONG>hts</STRONG> <STRONG>st</STRONG> set a tab in every row, + current columns + <STRONG>set_window</STRONG> <STRONG>wind</STRONG> <STRONG>wi</STRONG> current window is lines #1-#2 + cols #3-#4 + <STRONG>tab</STRONG> <STRONG>ht</STRONG> <STRONG>ta</STRONG> tab to next 8-space hardware + tab stop + <STRONG>to_status_line</STRONG> <STRONG>tsl</STRONG> <STRONG>ts</STRONG> move to status line, column #1 + <STRONG>underline_char</STRONG> <STRONG>uc</STRONG> <STRONG>uc</STRONG> underline char and move past + it + <STRONG>up_half_line</STRONG> <STRONG>hu</STRONG> <STRONG>hu</STRONG> half a line up + <STRONG>init_prog</STRONG> <STRONG>iprog</STRONG> <STRONG>iP</STRONG> path name of program for + initialization + <STRONG>key_a1</STRONG> <STRONG>ka1</STRONG> <STRONG>K1</STRONG> upper left of keypad + + <STRONG>key_a3</STRONG> <STRONG>ka3</STRONG> <STRONG>K3</STRONG> upper right of keypad + <STRONG>key_b2</STRONG> <STRONG>kb2</STRONG> <STRONG>K2</STRONG> center of keypad + <STRONG>key_c1</STRONG> <STRONG>kc1</STRONG> <STRONG>K4</STRONG> lower left of keypad + <STRONG>key_c3</STRONG> <STRONG>kc3</STRONG> <STRONG>K5</STRONG> lower right of keypad + <STRONG>prtr_non</STRONG> <STRONG>mc5p</STRONG> <STRONG>pO</STRONG> turn on printer for #1 bytes + <STRONG>char_padding</STRONG> <STRONG>rmp</STRONG> <STRONG>rP</STRONG> like ip but when in insert + mode + <STRONG>acs_chars</STRONG> <STRONG>acsc</STRONG> <STRONG>ac</STRONG> graphics charset pairs, based + on vt100 + <STRONG>plab_norm</STRONG> <STRONG>pln</STRONG> <STRONG>pn</STRONG> program label #1 to show + string #2 + <STRONG>key_btab</STRONG> <STRONG>kcbt</STRONG> <STRONG>kB</STRONG> back-tab key + <STRONG>enter_xon_mode</STRONG> <STRONG>smxon</STRONG> <STRONG>SX</STRONG> turn on xon/xoff handshaking + <STRONG>exit_xon_mode</STRONG> <STRONG>rmxon</STRONG> <STRONG>RX</STRONG> turn off xon/xoff handshaking + <STRONG>enter_am_mode</STRONG> <STRONG>smam</STRONG> <STRONG>SA</STRONG> turn on automatic margins + <STRONG>exit_am_mode</STRONG> <STRONG>rmam</STRONG> <STRONG>RA</STRONG> turn off automatic margins + <STRONG>xon_character</STRONG> <STRONG>xonc</STRONG> <STRONG>XN</STRONG> XON character + <STRONG>xoff_character</STRONG> <STRONG>xoffc</STRONG> <STRONG>XF</STRONG> XOFF character + <STRONG>ena_acs</STRONG> <STRONG>enacs</STRONG> <STRONG>eA</STRONG> enable alternate char set + <STRONG>label_on</STRONG> <STRONG>smln</STRONG> <STRONG>LO</STRONG> turn on soft labels + <STRONG>label_off</STRONG> <STRONG>rmln</STRONG> <STRONG>LF</STRONG> turn off soft labels + <STRONG>key_beg</STRONG> <STRONG>kbeg</STRONG> <STRONG>@1</STRONG> begin key + <STRONG>key_cancel</STRONG> <STRONG>kcan</STRONG> <STRONG>@2</STRONG> cancel key + <STRONG>key_close</STRONG> <STRONG>kclo</STRONG> <STRONG>@3</STRONG> close key + <STRONG>key_command</STRONG> <STRONG>kcmd</STRONG> <STRONG>@4</STRONG> command key + <STRONG>key_copy</STRONG> <STRONG>kcpy</STRONG> <STRONG>@5</STRONG> copy key + <STRONG>key_create</STRONG> <STRONG>kcrt</STRONG> <STRONG>@6</STRONG> create key + <STRONG>key_end</STRONG> <STRONG>kend</STRONG> <STRONG>@7</STRONG> end key + <STRONG>key_enter</STRONG> <STRONG>kent</STRONG> <STRONG>@8</STRONG> enter/send key + <STRONG>key_exit</STRONG> <STRONG>kext</STRONG> <STRONG>@9</STRONG> exit key + <STRONG>key_find</STRONG> <STRONG>kfnd</STRONG> <STRONG>@0</STRONG> find key + <STRONG>key_help</STRONG> <STRONG>khlp</STRONG> <STRONG>%1</STRONG> help key + <STRONG>key_mark</STRONG> <STRONG>kmrk</STRONG> <STRONG>%2</STRONG> mark key + <STRONG>key_message</STRONG> <STRONG>kmsg</STRONG> <STRONG>%3</STRONG> message key + <STRONG>key_move</STRONG> <STRONG>kmov</STRONG> <STRONG>%4</STRONG> move key + <STRONG>key_next</STRONG> <STRONG>knxt</STRONG> <STRONG>%5</STRONG> next key + <STRONG>key_open</STRONG> <STRONG>kopn</STRONG> <STRONG>%6</STRONG> open key + <STRONG>key_options</STRONG> <STRONG>kopt</STRONG> <STRONG>%7</STRONG> options key + <STRONG>key_previous</STRONG> <STRONG>kprv</STRONG> <STRONG>%8</STRONG> previous key + <STRONG>key_print</STRONG> <STRONG>kprt</STRONG> <STRONG>%9</STRONG> print key + <STRONG>key_redo</STRONG> <STRONG>krdo</STRONG> <STRONG>%0</STRONG> redo key + <STRONG>key_reference</STRONG> <STRONG>kref</STRONG> <STRONG>&1</STRONG> reference key + <STRONG>key_refresh</STRONG> <STRONG>krfr</STRONG> <STRONG>&2</STRONG> refresh key + <STRONG>key_replace</STRONG> <STRONG>krpl</STRONG> <STRONG>&3</STRONG> replace key + <STRONG>key_restart</STRONG> <STRONG>krst</STRONG> <STRONG>&4</STRONG> restart key + <STRONG>key_resume</STRONG> <STRONG>kres</STRONG> <STRONG>&5</STRONG> resume key + <STRONG>key_save</STRONG> <STRONG>ksav</STRONG> <STRONG>&6</STRONG> save key + <STRONG>key_suspend</STRONG> <STRONG>kspd</STRONG> <STRONG>&7</STRONG> suspend key + <STRONG>key_undo</STRONG> <STRONG>kund</STRONG> <STRONG>&8</STRONG> undo key + + <STRONG>key_sbeg</STRONG> <STRONG>kBEG</STRONG> <STRONG>&9</STRONG> shifted begin key + <STRONG>key_scancel</STRONG> <STRONG>kCAN</STRONG> <STRONG>&0</STRONG> shifted cancel key + <STRONG>key_scommand</STRONG> <STRONG>kCMD</STRONG> <STRONG>*1</STRONG> shifted command key + <STRONG>key_scopy</STRONG> <STRONG>kCPY</STRONG> <STRONG>*2</STRONG> shifted copy key + <STRONG>key_screate</STRONG> <STRONG>kCRT</STRONG> <STRONG>*3</STRONG> shifted create key + <STRONG>key_sdc</STRONG> <STRONG>kDC</STRONG> <STRONG>*4</STRONG> shifted delete-character key + <STRONG>key_sdl</STRONG> <STRONG>kDL</STRONG> <STRONG>*5</STRONG> shifted delete-line key + <STRONG>key_select</STRONG> <STRONG>kslt</STRONG> <STRONG>*6</STRONG> select key + <STRONG>key_send</STRONG> <STRONG>kEND</STRONG> <STRONG>*7</STRONG> shifted end key + <STRONG>key_seol</STRONG> <STRONG>kEOL</STRONG> <STRONG>*8</STRONG> shifted clear-to-end-of-line + key + <STRONG>key_sexit</STRONG> <STRONG>kEXT</STRONG> <STRONG>*9</STRONG> shifted exit key + <STRONG>key_sfind</STRONG> <STRONG>kFND</STRONG> <STRONG>*0</STRONG> shifted find key + <STRONG>key_shelp</STRONG> <STRONG>kHLP</STRONG> <STRONG>#1</STRONG> shifted help key + <STRONG>key_shome</STRONG> <STRONG>kHOM</STRONG> <STRONG>#2</STRONG> shifted home key + + <STRONG>key_sic</STRONG> <STRONG>kIC</STRONG> <STRONG>#3</STRONG> shifted insert-character key + <STRONG>key_sleft</STRONG> <STRONG>kLFT</STRONG> <STRONG>#4</STRONG> shifted left-arrow key + <STRONG>key_smessage</STRONG> <STRONG>kMSG</STRONG> <STRONG>%a</STRONG> shifted message key + <STRONG>key_smove</STRONG> <STRONG>kMOV</STRONG> <STRONG>%b</STRONG> shifted move key + <STRONG>key_snext</STRONG> <STRONG>kNXT</STRONG> <STRONG>%c</STRONG> shifted next key + <STRONG>key_soptions</STRONG> <STRONG>kOPT</STRONG> <STRONG>%d</STRONG> shifted options key + <STRONG>key_sprevious</STRONG> <STRONG>kPRV</STRONG> <STRONG>%e</STRONG> shifted previous key + <STRONG>key_sprint</STRONG> <STRONG>kPRT</STRONG> <STRONG>%f</STRONG> shifted print key + <STRONG>key_sredo</STRONG> <STRONG>kRDO</STRONG> <STRONG>%g</STRONG> shifted redo key + <STRONG>key_sreplace</STRONG> <STRONG>kRPL</STRONG> <STRONG>%h</STRONG> shifted replace key + <STRONG>key_sright</STRONG> <STRONG>kRIT</STRONG> <STRONG>%i</STRONG> shifted right-arrow key + <STRONG>key_srsume</STRONG> <STRONG>kRES</STRONG> <STRONG>%j</STRONG> shifted resume key + <STRONG>key_ssave</STRONG> <STRONG>kSAV</STRONG> <STRONG>!1</STRONG> shifted save key + <STRONG>key_ssuspend</STRONG> <STRONG>kSPD</STRONG> <STRONG>!2</STRONG> shifted suspend key + <STRONG>key_sundo</STRONG> <STRONG>kUND</STRONG> <STRONG>!3</STRONG> shifted undo key + <STRONG>req_for_input</STRONG> <STRONG>rfi</STRONG> <STRONG>RF</STRONG> send next input char (for + ptys) + <STRONG>key_f11</STRONG> <STRONG>kf11</STRONG> <STRONG>F1</STRONG> F11 function key + <STRONG>key_f12</STRONG> <STRONG>kf12</STRONG> <STRONG>F2</STRONG> F12 function key + <STRONG>key_f13</STRONG> <STRONG>kf13</STRONG> <STRONG>F3</STRONG> F13 function key + <STRONG>key_f14</STRONG> <STRONG>kf14</STRONG> <STRONG>F4</STRONG> F14 function key + <STRONG>key_f15</STRONG> <STRONG>kf15</STRONG> <STRONG>F5</STRONG> F15 function key + <STRONG>key_f16</STRONG> <STRONG>kf16</STRONG> <STRONG>F6</STRONG> F16 function key + <STRONG>key_f17</STRONG> <STRONG>kf17</STRONG> <STRONG>F7</STRONG> F17 function key + <STRONG>key_f18</STRONG> <STRONG>kf18</STRONG> <STRONG>F8</STRONG> F18 function key + <STRONG>key_f19</STRONG> <STRONG>kf19</STRONG> <STRONG>F9</STRONG> F19 function key + <STRONG>key_f20</STRONG> <STRONG>kf20</STRONG> <STRONG>FA</STRONG> F20 function key + <STRONG>key_f21</STRONG> <STRONG>kf21</STRONG> <STRONG>FB</STRONG> F21 function key + <STRONG>key_f22</STRONG> <STRONG>kf22</STRONG> <STRONG>FC</STRONG> F22 function key + <STRONG>key_f23</STRONG> <STRONG>kf23</STRONG> <STRONG>FD</STRONG> F23 function key + <STRONG>key_f24</STRONG> <STRONG>kf24</STRONG> <STRONG>FE</STRONG> F24 function key + <STRONG>key_f25</STRONG> <STRONG>kf25</STRONG> <STRONG>FF</STRONG> F25 function key + <STRONG>key_f26</STRONG> <STRONG>kf26</STRONG> <STRONG>FG</STRONG> F26 function key + <STRONG>key_f27</STRONG> <STRONG>kf27</STRONG> <STRONG>FH</STRONG> F27 function key + <STRONG>key_f28</STRONG> <STRONG>kf28</STRONG> <STRONG>FI</STRONG> F28 function key + <STRONG>key_f29</STRONG> <STRONG>kf29</STRONG> <STRONG>FJ</STRONG> F29 function key + <STRONG>key_f30</STRONG> <STRONG>kf30</STRONG> <STRONG>FK</STRONG> F30 function key + <STRONG>key_f31</STRONG> <STRONG>kf31</STRONG> <STRONG>FL</STRONG> F31 function key + <STRONG>key_f32</STRONG> <STRONG>kf32</STRONG> <STRONG>FM</STRONG> F32 function key + <STRONG>key_f33</STRONG> <STRONG>kf33</STRONG> <STRONG>FN</STRONG> F33 function key + <STRONG>key_f34</STRONG> <STRONG>kf34</STRONG> <STRONG>FO</STRONG> F34 function key + <STRONG>key_f35</STRONG> <STRONG>kf35</STRONG> <STRONG>FP</STRONG> F35 function key + <STRONG>key_f36</STRONG> <STRONG>kf36</STRONG> <STRONG>FQ</STRONG> F36 function key + <STRONG>key_f37</STRONG> <STRONG>kf37</STRONG> <STRONG>FR</STRONG> F37 function key + <STRONG>key_f38</STRONG> <STRONG>kf38</STRONG> <STRONG>FS</STRONG> F38 function key + <STRONG>key_f39</STRONG> <STRONG>kf39</STRONG> <STRONG>FT</STRONG> F39 function key + <STRONG>key_f40</STRONG> <STRONG>kf40</STRONG> <STRONG>FU</STRONG> F40 function key + <STRONG>key_f41</STRONG> <STRONG>kf41</STRONG> <STRONG>FV</STRONG> F41 function key + <STRONG>key_f42</STRONG> <STRONG>kf42</STRONG> <STRONG>FW</STRONG> F42 function key + + <STRONG>key_f43</STRONG> <STRONG>kf43</STRONG> <STRONG>FX</STRONG> F43 function key + <STRONG>key_f44</STRONG> <STRONG>kf44</STRONG> <STRONG>FY</STRONG> F44 function key + <STRONG>key_f45</STRONG> <STRONG>kf45</STRONG> <STRONG>FZ</STRONG> F45 function key + <STRONG>key_f46</STRONG> <STRONG>kf46</STRONG> <STRONG>Fa</STRONG> F46 function key + <STRONG>key_f47</STRONG> <STRONG>kf47</STRONG> <STRONG>Fb</STRONG> F47 function key + <STRONG>key_f48</STRONG> <STRONG>kf48</STRONG> <STRONG>Fc</STRONG> F48 function key + <STRONG>key_f49</STRONG> <STRONG>kf49</STRONG> <STRONG>Fd</STRONG> F49 function key + <STRONG>key_f50</STRONG> <STRONG>kf50</STRONG> <STRONG>Fe</STRONG> F50 function key + <STRONG>key_f51</STRONG> <STRONG>kf51</STRONG> <STRONG>Ff</STRONG> F51 function key + <STRONG>key_f52</STRONG> <STRONG>kf52</STRONG> <STRONG>Fg</STRONG> F52 function key + <STRONG>key_f53</STRONG> <STRONG>kf53</STRONG> <STRONG>Fh</STRONG> F53 function key + <STRONG>key_f54</STRONG> <STRONG>kf54</STRONG> <STRONG>Fi</STRONG> F54 function key + <STRONG>key_f55</STRONG> <STRONG>kf55</STRONG> <STRONG>Fj</STRONG> F55 function key + <STRONG>key_f56</STRONG> <STRONG>kf56</STRONG> <STRONG>Fk</STRONG> F56 function key + <STRONG>key_f57</STRONG> <STRONG>kf57</STRONG> <STRONG>Fl</STRONG> F57 function key + + <STRONG>key_f58</STRONG> <STRONG>kf58</STRONG> <STRONG>Fm</STRONG> F58 function key + <STRONG>key_f59</STRONG> <STRONG>kf59</STRONG> <STRONG>Fn</STRONG> F59 function key + <STRONG>key_f60</STRONG> <STRONG>kf60</STRONG> <STRONG>Fo</STRONG> F60 function key + <STRONG>key_f61</STRONG> <STRONG>kf61</STRONG> <STRONG>Fp</STRONG> F61 function key + <STRONG>key_f62</STRONG> <STRONG>kf62</STRONG> <STRONG>Fq</STRONG> F62 function key + <STRONG>key_f63</STRONG> <STRONG>kf63</STRONG> <STRONG>Fr</STRONG> F63 function key + <STRONG>clr_bol</STRONG> <STRONG>el1</STRONG> <STRONG>cb</STRONG> Clear to beginning of line + <STRONG>clear_margins</STRONG> <STRONG>mgc</STRONG> <STRONG>MC</STRONG> clear right and left soft + margins + <STRONG>set_left_margin</STRONG> <STRONG>smgl</STRONG> <STRONG>ML</STRONG> set left soft margin at + current column (not in BSD + <EM>termcap</EM>) + <STRONG>set_right_margin</STRONG> <STRONG>smgr</STRONG> <STRONG>MR</STRONG> set right soft margin at + current column + <STRONG>label_format</STRONG> <STRONG>fln</STRONG> <STRONG>Lf</STRONG> label format + <STRONG>set_clock</STRONG> <STRONG>sclk</STRONG> <STRONG>SC</STRONG> set clock, #1 hrs #2 mins #3 + secs + <STRONG>display_clock</STRONG> <STRONG>dclk</STRONG> <STRONG>DK</STRONG> display clock + <STRONG>remove_clock</STRONG> <STRONG>rmclk</STRONG> <STRONG>RC</STRONG> remove clock + <STRONG>create_window</STRONG> <STRONG>cwin</STRONG> <STRONG>CW</STRONG> define a window #1 from #2,#3 + to #4,#5 + <STRONG>goto_window</STRONG> <STRONG>wingo</STRONG> <STRONG>WG</STRONG> go to window #1 + <STRONG>hangup</STRONG> <STRONG>hup</STRONG> <STRONG>HU</STRONG> hang-up phone + <STRONG>dial_phone</STRONG> <STRONG>dial</STRONG> <STRONG>DI</STRONG> dial number #1 + <STRONG>quick_dial</STRONG> <STRONG>qdial</STRONG> <STRONG>QD</STRONG> dial number #1 without + checking + <STRONG>tone</STRONG> <STRONG>tone</STRONG> <STRONG>TO</STRONG> select touch tone dialing + <STRONG>pulse</STRONG> <STRONG>pulse</STRONG> <STRONG>PU</STRONG> select pulse dialing + <STRONG>flash_hook</STRONG> <STRONG>hook</STRONG> <STRONG>fh</STRONG> flash switch hook + <STRONG>fixed_pause</STRONG> <STRONG>pause</STRONG> <STRONG>PA</STRONG> pause for 2-3 seconds + <STRONG>wait_tone</STRONG> <STRONG>wait</STRONG> <STRONG>WA</STRONG> wait for dial-tone + <STRONG>user0</STRONG> <STRONG>u0</STRONG> <STRONG>u0</STRONG> User string #0 + <STRONG>user1</STRONG> <STRONG>u1</STRONG> <STRONG>u1</STRONG> User string #1 + <STRONG>user2</STRONG> <STRONG>u2</STRONG> <STRONG>u2</STRONG> User string #2 + <STRONG>user3</STRONG> <STRONG>u3</STRONG> <STRONG>u3</STRONG> User string #3 + <STRONG>user4</STRONG> <STRONG>u4</STRONG> <STRONG>u4</STRONG> User string #4 + <STRONG>user5</STRONG> <STRONG>u5</STRONG> <STRONG>u5</STRONG> User string #5 + <STRONG>user6</STRONG> <STRONG>u6</STRONG> <STRONG>u6</STRONG> User string #6 + <STRONG>user7</STRONG> <STRONG>u7</STRONG> <STRONG>u7</STRONG> User string #7 + <STRONG>user8</STRONG> <STRONG>u8</STRONG> <STRONG>u8</STRONG> User string #8 + <STRONG>user9</STRONG> <STRONG>u9</STRONG> <STRONG>u9</STRONG> User string #9 + <STRONG>orig_pair</STRONG> <STRONG>op</STRONG> <STRONG>op</STRONG> Set default pair to its + original value + <STRONG>orig_colors</STRONG> <STRONG>oc</STRONG> <STRONG>oc</STRONG> Set all color pairs to the + original ones + <STRONG>initialize_color</STRONG> <STRONG>initc</STRONG> <STRONG>Ic</STRONG> initialize color #1 to + (#2,#3,#4) + <STRONG>initialize_pair</STRONG> <STRONG>initp</STRONG> <STRONG>Ip</STRONG> Initialize color pair #1 to + fg=(#2,#3,#4), bg=(#5,#6,#7) + <STRONG>set_color_pair</STRONG> <STRONG>scp</STRONG> <STRONG>sp</STRONG> Set current color pair to #1 + <STRONG>set_foreground</STRONG> <STRONG>setf</STRONG> <STRONG>Sf</STRONG> Set foreground color #1 + <STRONG>set_background</STRONG> <STRONG>setb</STRONG> <STRONG>Sb</STRONG> Set background color #1 + <STRONG>change_char_pitch</STRONG> <STRONG>cpi</STRONG> <STRONG>ZA</STRONG> Change number of characters + per inch to #1 + <STRONG>change_line_pitch</STRONG> <STRONG>lpi</STRONG> <STRONG>ZB</STRONG> Change number of lines per + inch to #1 + <STRONG>change_res_horz</STRONG> <STRONG>chr</STRONG> <STRONG>ZC</STRONG> Change horizontal resolution + to #1 + <STRONG>change_res_vert</STRONG> <STRONG>cvr</STRONG> <STRONG>ZD</STRONG> Change vertical resolution to + #1 + <STRONG>define_char</STRONG> <STRONG>defc</STRONG> <STRONG>ZE</STRONG> Define a character #1, #2 dots + wide, descender #3 + <STRONG>enter_doublewide_mode</STRONG> <STRONG>swidm</STRONG> <STRONG>ZF</STRONG> Enter double-wide mode + + <STRONG>enter_draft_quality</STRONG> <STRONG>sdrfq</STRONG> <STRONG>ZG</STRONG> Enter draft-quality mode + + <STRONG>enter_italics_mode</STRONG> <STRONG>sitm</STRONG> <STRONG>ZH</STRONG> Enter italic mode + <STRONG>enter_leftward_mode</STRONG> <STRONG>slm</STRONG> <STRONG>ZI</STRONG> Start leftward carriage motion + <STRONG>enter_micro_mode</STRONG> <STRONG>smicm</STRONG> <STRONG>ZJ</STRONG> Start micro-motion mode + <STRONG>enter_near_letter_quality</STRONG> <STRONG>snlq</STRONG> <STRONG>ZK</STRONG> Enter NLQ mode + <STRONG>enter_normal_quality</STRONG> <STRONG>snrmq</STRONG> <STRONG>ZL</STRONG> Enter normal-quality mode + <STRONG>enter_shadow_mode</STRONG> <STRONG>sshm</STRONG> <STRONG>ZM</STRONG> Enter shadow-print mode + <STRONG>enter_subscript_mode</STRONG> <STRONG>ssubm</STRONG> <STRONG>ZN</STRONG> Enter subscript mode + <STRONG>enter_superscript_mode</STRONG> <STRONG>ssupm</STRONG> <STRONG>ZO</STRONG> Enter superscript mode + <STRONG>enter_upward_mode</STRONG> <STRONG>sum</STRONG> <STRONG>ZP</STRONG> Start upward carriage motion + <STRONG>exit_doublewide_mode</STRONG> <STRONG>rwidm</STRONG> <STRONG>ZQ</STRONG> End double-wide mode + <STRONG>exit_italics_mode</STRONG> <STRONG>ritm</STRONG> <STRONG>ZR</STRONG> End italic mode + <STRONG>exit_leftward_mode</STRONG> <STRONG>rlm</STRONG> <STRONG>ZS</STRONG> End left-motion mode + <STRONG>exit_micro_mode</STRONG> <STRONG>rmicm</STRONG> <STRONG>ZT</STRONG> End micro-motion mode + <STRONG>exit_shadow_mode</STRONG> <STRONG>rshm</STRONG> <STRONG>ZU</STRONG> End shadow-print mode + <STRONG>exit_subscript_mode</STRONG> <STRONG>rsubm</STRONG> <STRONG>ZV</STRONG> End subscript mode + <STRONG>exit_superscript_mode</STRONG> <STRONG>rsupm</STRONG> <STRONG>ZW</STRONG> End superscript mode + <STRONG>exit_upward_mode</STRONG> <STRONG>rum</STRONG> <STRONG>ZX</STRONG> End reverse character motion + <STRONG>micro_column_address</STRONG> <STRONG>mhpa</STRONG> <STRONG>ZY</STRONG> Like column_address in micro + mode + <STRONG>micro_down</STRONG> <STRONG>mcud1</STRONG> <STRONG>ZZ</STRONG> Like cursor_down in micro mode + <STRONG>micro_left</STRONG> <STRONG>mcub1</STRONG> <STRONG>Za</STRONG> Like cursor_left in micro mode + <STRONG>micro_right</STRONG> <STRONG>mcuf1</STRONG> <STRONG>Zb</STRONG> Like cursor_right in micro + mode + <STRONG>micro_row_address</STRONG> <STRONG>mvpa</STRONG> <STRONG>Zc</STRONG> Like row_address #1 in micro + mode + <STRONG>micro_up</STRONG> <STRONG>mcuu1</STRONG> <STRONG>Zd</STRONG> Like cursor_up in micro mode + <STRONG>order_of_pins</STRONG> <STRONG>porder</STRONG> <STRONG>Ze</STRONG> Match software bits to print- + head pins + <STRONG>parm_down_micro</STRONG> <STRONG>mcud</STRONG> <STRONG>Zf</STRONG> Like parm_down_cursor in micro + mode + <STRONG>parm_left_micro</STRONG> <STRONG>mcub</STRONG> <STRONG>Zg</STRONG> Like parm_left_cursor in micro + mode + <STRONG>parm_right_micro</STRONG> <STRONG>mcuf</STRONG> <STRONG>Zh</STRONG> Like parm_right_cursor in + micro mode + <STRONG>parm_up_micro</STRONG> <STRONG>mcuu</STRONG> <STRONG>Zi</STRONG> Like parm_up_cursor in micro + mode + <STRONG>select_char_set</STRONG> <STRONG>scs</STRONG> <STRONG>Zj</STRONG> Select character set, #1 + <STRONG>set_bottom_margin</STRONG> <STRONG>smgb</STRONG> <STRONG>Zk</STRONG> Set bottom margin at current + line + <STRONG>set_bottom_margin_parm</STRONG> <STRONG>smgbp</STRONG> <STRONG>Zl</STRONG> Set bottom margin at line #1 + or (if smgtp is not given) #2 + lines from bottom + <STRONG>set_left_margin_parm</STRONG> <STRONG>smglp</STRONG> <STRONG>Zm</STRONG> Set left (right) margin at + column #1 + <STRONG>set_right_margin_parm</STRONG> <STRONG>smgrp</STRONG> <STRONG>Zn</STRONG> Set right margin at column #1 + <STRONG>set_top_margin</STRONG> <STRONG>smgt</STRONG> <STRONG>Zo</STRONG> Set top margin at current line + <STRONG>set_top_margin_parm</STRONG> <STRONG>smgtp</STRONG> <STRONG>Zp</STRONG> Set top (bottom) margin at row + #1 + <STRONG>start_bit_image</STRONG> <STRONG>sbim</STRONG> <STRONG>Zq</STRONG> Start printing bit image + graphics + <STRONG>start_char_set_def</STRONG> <STRONG>scsd</STRONG> <STRONG>Zr</STRONG> Start character set definition + #1, with #2 characters in the + set + <STRONG>stop_bit_image</STRONG> <STRONG>rbim</STRONG> <STRONG>Zs</STRONG> Stop printing bit image + graphics + <STRONG>stop_char_set_def</STRONG> <STRONG>rcsd</STRONG> <STRONG>Zt</STRONG> End definition of character + set #1 + <STRONG>subscript_characters</STRONG> <STRONG>subcs</STRONG> <STRONG>Zu</STRONG> List of subscriptable + characters + <STRONG>superscript_characters</STRONG> <STRONG>supcs</STRONG> <STRONG>Zv</STRONG> List of superscriptable + characters + <STRONG>these_cause_cr</STRONG> <STRONG>docr</STRONG> <STRONG>Zw</STRONG> Printing any of these + characters causes CR + <STRONG>zero_motion</STRONG> <STRONG>zerom</STRONG> <STRONG>Zx</STRONG> No motion for subsequent + character + + The following string capabilities are present in the SVr4.0 term structure, but were originally not documented in the man page. - - <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG> - <STRONG>String</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG> - alt_scancode_esc scesa S8 Alternate escape - for scancode - emulation - bit_image_carriage_return bicr Yv Move to beginning - of same row - bit_image_newline binel Zz Move to next row - of the bit image - bit_image_repeat birep Xy Repeat bit image - cell #1 #2 times - char_set_names csnm Zy Produce #1'th item - from list of - character set - names - code_set_init csin ci Init sequence for - multiple codesets - color_names colornm Yw Give name for - color #1 - define_bit_image_region defbi Yx Define rectangular - bit image region - device_type devt dv Indicate - language/codeset - support - display_pc_char dispc S1 Display PC - character #1 - end_bit_image_region endbi Yy End a bit-image - region - enter_pc_charset_mode smpch S2 Enter PC character - display mode - enter_scancode_mode smsc S4 Enter PC scancode - mode - exit_pc_charset_mode rmpch S3 Exit PC character - display mode - exit_scancode_mode rmsc S5 Exit PC scancode - mode - get_mouse getm Gm Curses should get - button events, - parameter #1 not - documented. - key_mouse kmous Km Mouse event has - occurred - mouse_info minfo Mi Mouse status - information - pc_term_options pctrm S6 PC terminal - options - pkey_plab pfxl xl Program function - key #1 to type - string #2 and show - string #3 - - - req_mouse_pos reqmp RQ Request mouse - position - scancode_escape scesc S7 Escape for - scancode emulation - set0_des_seq s0ds s0 Shift to codeset 0 - (EUC set 0, ASCII) - set1_des_seq s1ds s1 Shift to codeset 1 - set2_des_seq s2ds s2 Shift to codeset 2 - set3_des_seq s3ds s3 Shift to codeset 3 - set_a_background setab AB Set background - color to #1, using - ANSI escape - set_a_foreground setaf AF Set foreground - color to #1, using - ANSI escape - set_color_band setcolor Yz Change to ribbon - color #1 - set_lr_margin smglr ML Set both left and - right margins to - #1, #2. (ML is - not in BSD - termcap). - set_page_length slines YZ Set page length to - #1 lines - set_tb_margin smgtb MT Sets both top and - bottom margins to - #1, #2 - - The XSI Curses standard added these hardcopy capabilities. They were - used in some post-4.1 versions of System V curses, e.g., Solaris 2.5 - and IRIX 6.x. Except for <STRONG>YI</STRONG>, the <STRONG>ncurses</STRONG> termcap names for them are - invented. According to the XSI Curses standard, they have no termcap - names. If your compiled terminfo entries use these, they may not be - binary-compatible with System V terminfo entries after SVr4.1; beware! - - - <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG> - <STRONG>String</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG> - enter_horizontal_hl_mode ehhlm Xh Enter horizontal - highlight mode - enter_left_hl_mode elhlm Xl Enter left highlight - mode - enter_low_hl_mode elohlm Xo Enter low highlight - mode - enter_right_hl_mode erhlm Xr Enter right - highlight mode - enter_top_hl_mode ethlm Xt Enter top highlight - mode - enter_vertical_hl_mode evhlm Xv Enter vertical - highlight mode - set_a_attributes sgr1 sA Define second set of - video attributes - #1-#6 - set_pglen_inch slength YI Set page length to - #1 hundredth of an - inch (some - implementations use - sL for termcap). + <STRONG>Code</STRONG> + <STRONG>String</STRONG> <STRONG>Capability</STRONG> <STRONG>Name</STRONG> <STRONG>TI</STRONG> <STRONG>TC</STRONG> <STRONG>Description</STRONG> + ------------------------------------------------------------------------ + <STRONG>char_set_names</STRONG> <STRONG>csnm</STRONG> <STRONG>Zy</STRONG> Produce #1'th item from list + of character set names + <STRONG>key_mouse</STRONG> <STRONG>kmous</STRONG> <STRONG>Km</STRONG> Mouse event has occurred + <STRONG>mouse_info</STRONG> <STRONG>minfo</STRONG> <STRONG>Mi</STRONG> Mouse status information + <STRONG>req_mouse_pos</STRONG> <STRONG>reqmp</STRONG> <STRONG>RQ</STRONG> Request mouse position + <STRONG>get_mouse</STRONG> <STRONG>getm</STRONG> <STRONG>Gm</STRONG> Curses should get button + events, parameter #1 not + documented. + <STRONG>set_a_foreground</STRONG> <STRONG>setaf</STRONG> <STRONG>AF</STRONG> Set foreground color to #1, + using ANSI escape + <STRONG>set_a_background</STRONG> <STRONG>setab</STRONG> <STRONG>AB</STRONG> Set background color to #1, + using ANSI escape + <STRONG>pkey_plab</STRONG> <STRONG>pfxl</STRONG> <STRONG>xl</STRONG> Program function key #1 to + type string #2 and show string + #3 + <STRONG>device_type</STRONG> <STRONG>devt</STRONG> <STRONG>dv</STRONG> Indicate language, codeset + support + <STRONG>code_set_init</STRONG> <STRONG>csin</STRONG> <STRONG>ci</STRONG> Init sequence for multiple + codesets + <STRONG>set0_des_seq</STRONG> <STRONG>s0ds</STRONG> <STRONG>s0</STRONG> Shift to codeset 0 (EUC set 0, + ASCII) + <STRONG>set1_des_seq</STRONG> <STRONG>s1ds</STRONG> <STRONG>s1</STRONG> Shift to codeset 1 + <STRONG>set2_des_seq</STRONG> <STRONG>s2ds</STRONG> <STRONG>s2</STRONG> Shift to codeset 2 + <STRONG>set3_des_seq</STRONG> <STRONG>s3ds</STRONG> <STRONG>s3</STRONG> Shift to codeset 3 + <STRONG>set_lr_margin</STRONG> <STRONG>smglr</STRONG> <STRONG>ML</STRONG> Set both left and right + margins to #1, #2. (ML is not + in BSD termcap). + <STRONG>set_tb_margin</STRONG> <STRONG>smgtb</STRONG> <STRONG>MT</STRONG> Sets both top and bottom + margins to #1, #2 + <STRONG>bit_image_repeat</STRONG> <STRONG>birep</STRONG> <STRONG>Xy</STRONG> Repeat bit image cell #1 #2 + times + <STRONG>bit_image_newline</STRONG> <STRONG>binel</STRONG> <STRONG>Zz</STRONG> Move to next row of the bit + image + <STRONG>bit_image_carriage_return</STRONG> <STRONG>bicr</STRONG> <STRONG>Yv</STRONG> Move to beginning of same row + <STRONG>color_names</STRONG> <STRONG>colornm</STRONG> <STRONG>Yw</STRONG> Give name for color #1 + <STRONG>define_bit_image_region</STRONG> <STRONG>defbi</STRONG> <STRONG>Yx</STRONG> Define rectangular bit image + region + <STRONG>end_bit_image_region</STRONG> <STRONG>endbi</STRONG> <STRONG>Yy</STRONG> End a bit-image region + <STRONG>set_color_band</STRONG> <STRONG>setcolor</STRONG> <STRONG>Yz</STRONG> Change to ribbon color #1 + <STRONG>set_page_length</STRONG> <STRONG>slines</STRONG> <STRONG>YZ</STRONG> Set page length to #1 lines + <STRONG>display_pc_char</STRONG> <STRONG>dispc</STRONG> <STRONG>S1</STRONG> Display PC character #1 + <STRONG>enter_pc_charset_mode</STRONG> <STRONG>smpch</STRONG> <STRONG>S2</STRONG> Enter PC character display + mode + <STRONG>exit_pc_charset_mode</STRONG> <STRONG>rmpch</STRONG> <STRONG>S3</STRONG> Exit PC character display mode + <STRONG>enter_scancode_mode</STRONG> <STRONG>smsc</STRONG> <STRONG>S4</STRONG> Enter PC scancode mode + <STRONG>exit_scancode_mode</STRONG> <STRONG>rmsc</STRONG> <STRONG>S5</STRONG> Exit PC scancode mode + <STRONG>pc_term_options</STRONG> <STRONG>pctrm</STRONG> <STRONG>S6</STRONG> PC terminal options + <STRONG>scancode_escape</STRONG> <STRONG>scesc</STRONG> <STRONG>S7</STRONG> Escape for scancode emulation + <STRONG>alt_scancode_esc</STRONG> <STRONG>scesa</STRONG> <STRONG>S8</STRONG> Alternate escape for scancode + emulation + + The XSI Curses standard added these hardcopy capabilities. They were + used in some post-4.1 versions of System V curses, e.g., Solaris 2.5 + and IRIX 6.x. Except for <STRONG>YI</STRONG>, the <STRONG>ncurses</STRONG> termcap names for them are + invented. According to the XSI Curses standard, they have no termcap + names. If your compiled terminfo entries use these, they may not be + binary-compatible with System V terminfo entries after SVr4.1; beware! + + <STRONG>Code</STRONG> + + <STRONG>String</STRONG> <STRONG>Capability</STRONG> <STRONG>Name</STRONG> <STRONG>TI</STRONG> <STRONG>TC</STRONG> <STRONG>Description</STRONG> + ------------------------------------------------------------------------ + <STRONG>enter_horizontal_hl_mode</STRONG> <STRONG>ehhlm</STRONG> <STRONG>Xh</STRONG> Enter horizontal highlight + mode + <STRONG>enter_left_hl_mode</STRONG> <STRONG>elhlm</STRONG> <STRONG>Xl</STRONG> Enter left highlight mode + <STRONG>enter_low_hl_mode</STRONG> <STRONG>elohlm</STRONG> <STRONG>Xo</STRONG> Enter low highlight mode + <STRONG>enter_right_hl_mode</STRONG> <STRONG>erhlm</STRONG> <STRONG>Xr</STRONG> Enter right highlight mode + <STRONG>enter_top_hl_mode</STRONG> <STRONG>ethlm</STRONG> <STRONG>Xt</STRONG> Enter top highlight mode + <STRONG>enter_vertical_hl_mode</STRONG> <STRONG>evhlm</STRONG> <STRONG>Xv</STRONG> Enter vertical highlight mode + <STRONG>set_a_attributes</STRONG> <STRONG>sgr1</STRONG> <STRONG>sA</STRONG> Define second set of video + attributes #1-#6 + <STRONG>set_pglen_inch</STRONG> <STRONG>slength</STRONG> <STRONG>YI</STRONG> Set page length to #1 + hundredth of an inch (some + implementations use sL for + termcap). </PRE><H3><a name="h3-User-Defined-Capabilities">User-Defined Capabilities</a></H3><PRE> - The preceding section listed the <EM>predefined</EM> capabilities. They deal - with some special features for terminals no longer (or possibly never) - produced. Occasionally there are special features of newer terminals - which are awkward or impossible to represent by reusing the predefined + The preceding section listed the <EM>predefined</EM> capabilities. They deal + with some special features for terminals no longer (or possibly never) + produced. Occasionally there are special features of newer terminals + which are awkward or impossible to represent by reusing the predefined capabilities. - <STRONG>ncurses</STRONG> addresses this limitation by allowing user-defined - capabilities. The <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> programs provide the <STRONG>-x</STRONG> option for + <EM>ncurses</EM> addresses this limitation by allowing user-defined + capabilities. The <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> programs provide the <STRONG>-x</STRONG> option for this purpose. When <STRONG>-x</STRONG> is set, <STRONG>tic</STRONG> treats unknown capabilities as user- - defined. That is, if <STRONG>tic</STRONG> encounters a capability name which it does - not recognize, it infers its type (boolean, number or string) from the - syntax and makes an extended table entry for that capability. The - <STRONG><A HREF="curs_extend.3x.html">use_extended_names(3x)</A></STRONG> function makes this information conditionally - available to applications. The ncurses library provides the data + defined. That is, if <STRONG>tic</STRONG> encounters a capability name which it does + not recognize, it infers its type (Boolean, number or string) from the + syntax and makes an extended table entry for that capability. The + <STRONG><A HREF="curs_extend.3x.html">use_extended_names(3x)</A></STRONG> function makes this information conditionally + available to applications. The <EM>ncurses</EM> library provides the data leaving most of the behavior to applications: - <STRONG>o</STRONG> User-defined capability strings whose name begins with "k" are + <STRONG>o</STRONG> User-defined capability strings whose name begins with "k" are treated as function keys. - <STRONG>o</STRONG> The types (boolean, number, string) determined by <STRONG>tic</STRONG> can be + <STRONG>o</STRONG> The types (Boolean, number, string) determined by <STRONG>tic</STRONG> can be inferred by successful calls on <STRONG>tigetflag</STRONG>, etc. <STRONG>o</STRONG> If the capability name happens to be two characters, the capability is also available through the termcap interface. - While termcap is said to be extensible because it does not use a - predefined set of capabilities, in practice it has been limited to the - capabilities defined by terminfo implementations. As a rule, user- + While termcap is said to be extensible because it does not use a + predefined set of capabilities, in practice it has been limited to the + capabilities defined by terminfo implementations. As a rule, user- defined capabilities intended for use by termcap applications should be - limited to booleans and numbers to avoid running past the 1023 byte - limit assumed by termcap implementations and their applications. In - particular, providing extended sets of function keys (past the 60 + limited to Booleans and numbers to avoid running past the 1023 byte + limit assumed by termcap implementations and their applications. In + particular, providing extended sets of function keys (past the 60 numbered keys and the handful of special named keys) is best done using the longer names available using terminfo. + The <EM>ncurses</EM> library uses a few of these user-defined capabilities, as + described in <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>. Other user-defined capabilities (including + function keys) are described in the terminal database, in the section + on <EM>NCURSES</EM> <EM>USER-DEFINABLE</EM> <EM>CAPABILITIES</EM> + </PRE><H3><a name="h3-A-Sample-Entry">A Sample Entry</a></H3><PRE> The following entry, describing an ANSI-standard terminal, is @@ -1233,7 +1028,7 @@ are followed by the character "#" and then a positive value. Thus <STRONG>cols</STRONG>, which indicates the number of columns the terminal has, gives the value "80" for ansi. Values for numeric capabilities may be specified - in decimal, octal or hexadecimal, using the C programming language + in decimal, octal, or hexadecimal, using the C programming language conventions (e.g., 255, 0377 and 0xff or 0xFF). Finally, string valued capabilities, such as <STRONG>el</STRONG> (clear to end of line @@ -1245,7 +1040,7 @@ <STRONG>o</STRONG> Both <STRONG>\E</STRONG> and <STRONG>\e</STRONG> map to an ESCAPE character, - <STRONG>o</STRONG> <STRONG>^x</STRONG> maps to a control-x for any appropriate <EM>x</EM>, and + <STRONG>o</STRONG> <STRONG>^</STRONG><STRONG><EM>x</EM></STRONG> maps to a control-<EM>x</EM> for any appropriate <EM>x</EM>, and <STRONG>o</STRONG> the sequences @@ -1313,104 +1108,123 @@ </PRE><H3><a name="h3-Fetching-Compiled-Descriptions">Fetching Compiled Descriptions</a></H3><PRE> - The <STRONG>ncurses</STRONG> library searches for terminal descriptions in several - places. It uses only the first description found. The library has a - compiled-in list of places to search which can be overridden by - environment variables. Before starting to search, <STRONG>ncurses</STRONG> eliminates - duplicates in its search list. + Terminal descriptions in <EM>ncurses</EM> are stored in terminal databases. + These databases, which are found by their pathname, may be configured + either as directory trees or hashed databases (see <STRONG><A HREF="term.5.html">term(5)</A></STRONG>), - <STRONG>o</STRONG> If the environment variable TERMINFO is set, it is interpreted as - the pathname of a directory containing the compiled description you - are working on. Only that directory is searched. + The library uses a compiled-in list of pathnames, which can be + overridden by environment variables. Before starting to search, + <EM>ncurses</EM> checks the search list, eliminating duplicates and pathnames + where no terminal database is found. The <EM>ncurses</EM> library reads the + first description which passes its consistency checks. - <STRONG>o</STRONG> If TERMINFO is not set, <STRONG>ncurses</STRONG> will instead look in the directory - <STRONG>$HOME/.terminfo</STRONG> for a compiled description. + <STRONG>o</STRONG> The environment variable <STRONG>TERMINFO</STRONG> is checked first, for a terminal + database containing the terminal description. - <STRONG>o</STRONG> Next, if the environment variable TERMINFO_DIRS is set, <STRONG>ncurses</STRONG> - will interpret the contents of that variable as a list of colon- - separated directories (or database files) to be searched. + <STRONG>o</STRONG> Next, <EM>ncurses</EM> looks in <EM>$HOME/.terminfo</EM> for a compiled description. - An empty directory name (i.e., if the variable begins or ends with - a colon, or contains adjacent colons) is interpreted as the system + This is an optional feature which may be omitted entirely from the + library, or limited to prevent accidental use by privileged + applications. + + <STRONG>o</STRONG> Next, if the environment variable <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> is set, <EM>ncurses</EM> + interprets the contents of that variable as a list of colon- + separated pathnames of terminal databases to be searched. + + An empty pathname (i.e., if the variable begins or ends with a + colon, or contains adjacent colons) is interpreted as the system location <EM>/usr/share/terminfo</EM>. - <STRONG>o</STRONG> Finally, <STRONG>ncurses</STRONG> searches these compiled-in locations: + <STRONG>o</STRONG> Finally, <EM>ncurses</EM> searches these compiled-in locations: + + <STRONG>o</STRONG> a list of directories (/usr/share/terminfo), and - <STRONG>o</STRONG> a list of directories (no default value), and + <STRONG>o</STRONG> the system terminfo directory, <EM>/usr/share/terminfo</EM> - <STRONG>o</STRONG> the system terminfo directory, <EM>/usr/share/terminfo</EM> (the - compiled-in default). + The <STRONG>TERMINFO</STRONG> variable can contain a terminal description instead of the + pathname of a terminal database. If this variable begins with "hex:" + or "b64:" then <EM>ncurses</EM> reads a terminal description from hexadecimal- + or base64-encoded data, and if that description matches the name + sought, will use that. This encoded data can be set using the "-Q" + option of <STRONG>tic</STRONG> or <STRONG>infocmp</STRONG>. + + The preceding addresses the usual configuration of <EM>ncurses</EM>, which uses + terminal descriptions prepared in <EM>terminfo</EM> format. While <EM>termcap</EM> is + less expressive, <EM>ncurses</EM> can also be configured to read <EM>termcap</EM> + descriptions. In that configuration, it checks the <EM>TERMCAP</EM> and + <EM>TERMPATH</EM> variables (for content and search path, respectively) after + the system terminal database. </PRE><H3><a name="h3-Preparing-Descriptions">Preparing Descriptions</a></H3><PRE> - We now outline how to prepare descriptions of terminals. The most - effective way to prepare a terminal description is by imitating the - description of a similar terminal in <EM>terminfo</EM> and to build up a + We now outline how to prepare descriptions of terminals. The most + effective way to prepare a terminal description is by imitating the + description of a similar terminal in <EM>terminfo</EM> and to build up a description gradually, using partial descriptions with <EM>vi</EM> or some other - screen-oriented program to check that they are correct. Be aware that - a very unusual terminal may expose deficiencies in the ability of the + screen-oriented program to check that they are correct. Be aware that + a very unusual terminal may expose deficiencies in the ability of the <EM>terminfo</EM> file to describe it or bugs in the screen-handling code of the test program. - To get the padding for insert line right (if the terminal manufacturer - did not document it) a severe test is to edit a large file at 9600 + To get the padding for insert line right (if the terminal manufacturer + did not document it) a severe test is to edit a large file at 9600 baud, delete 16 or so lines from the middle of the screen, then hit the "u" key several times quickly. If the terminal messes up, more padding is usually needed. A similar test can be used for insert character. </PRE><H3><a name="h3-Basic-Capabilities">Basic Capabilities</a></H3><PRE> - The number of columns on each line for the terminal is given by the - <STRONG>cols</STRONG> numeric capability. If the terminal is a CRT, then the number of - lines on the screen is given by the <STRONG>lines</STRONG> capability. If the terminal - wraps around to the beginning of the next line when it reaches the - right margin, then it should have the <STRONG>am</STRONG> capability. If the terminal - can clear its screen, leaving the cursor in the home position, then - this is given by the <STRONG>clear</STRONG> string capability. If the terminal + The number of columns on each line for the terminal is given by the + <STRONG>cols</STRONG> numeric capability. If the terminal is a CRT, then the number of + lines on the screen is given by the <STRONG>lines</STRONG> capability. If the terminal + wraps around to the beginning of the next line when it reaches the + right margin, then it should have the <STRONG>am</STRONG> capability. If the terminal + can clear its screen, leaving the cursor in the home position, then + this is given by the <STRONG>clear</STRONG> string capability. If the terminal overstrikes (rather than clearing a position when a character is struck - over) then it should have the <STRONG>os</STRONG> capability. If the terminal is a + over) then it should have the <STRONG>os</STRONG> capability. If the terminal is a printing terminal, with no soft copy unit, give it both <STRONG>hc</STRONG> and <STRONG>os</STRONG>. (<STRONG>os</STRONG> - applies to storage scope terminals, such as TEKTRONIX 4010 series, as - well as hard copy and APL terminals.) If there is a code to move the + applies to storage scope terminals, such as TEKTRONIX 4010 series, as + well as hard copy and APL terminals.) If there is a code to move the cursor to the left edge of the current row, give this as <STRONG>cr</STRONG>. (Normally - this will be carriage return, control/M.) If there is a code to + this will be carriage return, control/M.) If there is a code to produce an audible signal (bell, beep, etc) give this as <STRONG>bel</STRONG>. If there is a code to move the cursor one position to the left (such as - backspace) that capability should be given as <STRONG>cub1</STRONG>. Similarly, codes - to move to the right, up, and down should be given as <STRONG>cuf1</STRONG>, <STRONG>cuu1</STRONG>, and - <STRONG>cud1</STRONG>. These local cursor motions should not alter the text they pass - over, for example, you would not normally use "<STRONG>cuf1</STRONG>= " because the + backspace) that capability should be given as <STRONG>cub1</STRONG>. Similarly, codes + to move to the right, up, and down should be given as <STRONG>cuf1</STRONG>, <STRONG>cuu1</STRONG>, and + <STRONG>cud1</STRONG>. These local cursor motions should not alter the text they pass + over, for example, you would not normally use "<STRONG>cuf1</STRONG>= " because the space would erase the character moved over. A very important point here is that the local cursor motions encoded in - <EM>terminfo</EM> are undefined at the left and top edges of a CRT terminal. + <EM>terminfo</EM> are undefined at the left and top edges of a CRT terminal. Programs should never attempt to backspace around the left edge, unless - <STRONG>bw</STRONG> is given, and never attempt to go up locally off the top. In order - to scroll text up, a program will go to the bottom left corner of the + <STRONG>bw</STRONG> is given, and never attempt to go up locally off the top. In order + to scroll text up, a program will go to the bottom left corner of the screen and send the <STRONG>ind</STRONG> (index) string. - To scroll text down, a program goes to the top left corner of the + To scroll text down, a program goes to the top left corner of the screen and sends the <STRONG>ri</STRONG> (reverse index) string. The strings <STRONG>ind</STRONG> and <STRONG>ri</STRONG> are undefined when not on their respective corners of the screen. - Parameterized versions of the scrolling sequences are <STRONG>indn</STRONG> and <STRONG>rin</STRONG> - which have the same semantics as <STRONG>ind</STRONG> and <STRONG>ri</STRONG> except that they take one - parameter, and scroll that many lines. They are also undefined except + Parameterized versions of the scrolling sequences are <STRONG>indn</STRONG> and <STRONG>rin</STRONG> + which have the same semantics as <STRONG>ind</STRONG> and <STRONG>ri</STRONG> except that they take one + parameter, and scroll that many lines. They are also undefined except at the appropriate edge of the screen. - The <STRONG>am</STRONG> capability tells whether the cursor sticks at the right edge of - the screen when text is output, but this does not necessarily apply to - a <STRONG>cuf1</STRONG> from the last column. The only local motion which is defined - from the left edge is if <STRONG>bw</STRONG> is given, then a <STRONG>cub1</STRONG> from the left edge - will move to the right edge of the previous row. If <STRONG>bw</STRONG> is not given, - the effect is undefined. This is useful for drawing a box around the + The <STRONG>am</STRONG> capability tells whether the cursor sticks at the right edge of + the screen when text is output, but this does not necessarily apply to + a <STRONG>cuf1</STRONG> from the last column. The only local motion which is defined + from the left edge is if <STRONG>bw</STRONG> is given, then a <STRONG>cub1</STRONG> from the left edge + will move to the right edge of the previous row. If <STRONG>bw</STRONG> is not given, + the effect is undefined. This is useful for drawing a box around the edge of the screen, for example. If the terminal has switch selectable - automatic margins, the <EM>terminfo</EM> file usually assumes that this is on; - i.e., <STRONG>am</STRONG>. If the terminal has a command which moves to the first - column of the next line, that command can be given as <STRONG>nel</STRONG> (newline). - It does not matter if the command clears the remainder of the current - line, so if the terminal has no <STRONG>cr</STRONG> and <STRONG>lf</STRONG> it may still be possible to + automatic margins, the <EM>terminfo</EM> file usually assumes that this is on; + i.e., <STRONG>am</STRONG>. If the terminal has a command which moves to the first + column of the next line, that command can be given as <STRONG>nel</STRONG> (newline). + It does not matter if the command clears the remainder of the current + line, so if the terminal has no <STRONG>cr</STRONG> and <STRONG>lf</STRONG> it may still be possible to craft a working <STRONG>nel</STRONG> out of one or both of them. These capabilities suffice to describe hard-copy and "glass-tty" @@ -1428,19 +1242,19 @@ </PRE><H3><a name="h3-Parameterized-Strings">Parameterized Strings</a></H3><PRE> Cursor addressing and other strings requiring parameters in the - terminal are described by a parameterized string capability, with - <EM>printf</EM>-like escapes such as <EM>%x</EM> in it. For example, to address the - cursor, the <STRONG>cup</STRONG> capability is given, using two parameters: the row and - column to address to. (Rows and columns are numbered from zero and - refer to the physical screen visible to the user, not to any unseen - memory.) If the terminal has memory relative cursor addressing, that + terminal are described by a parameterized string capability, with + <EM>printf</EM>-like escapes such as <EM>%x</EM> in it. For example, to address the + cursor, the <STRONG>cup</STRONG> capability is given, using two parameters: the row and + column to address to. (Rows and columns are numbered from zero and + refer to the physical screen visible to the user, not to any unseen + memory.) If the terminal has memory relative cursor addressing, that can be indicated by <STRONG>mrcup</STRONG>. - The parameter mechanism uses a stack and special <STRONG>%</STRONG> codes to manipulate - it. Typically a sequence will push one of the parameters onto the - stack and then print it in some format. Print (e.g., "%d") is a - special case. Other operations, including "%t" pop their operand from - the stack. It is noted that more complex operations are often + The parameter mechanism uses a stack and special <STRONG>%</STRONG> codes to manipulate + it. Typically a sequence will push one of the parameters onto the + stack and then print it in some format. Print (e.g., "%d") is a + special case. Other operations, including "%t" pop their operand from + the stack. It is noted that more complex operations are often necessary, e.g., in the <STRONG>sgr</STRONG> string. The <STRONG>%</STRONG> encodings have the following meanings: @@ -1448,11 +1262,11 @@ <STRONG>%%</STRONG> outputs "%" <STRONG>%</STRONG><EM>[[</EM>:<EM>]flags][width[.precision]][</EM><STRONG>doxXs</STRONG><EM>]</EM> - as in <STRONG>printf(3)</STRONG>, flags are <EM>[-+#]</EM> and <EM>space</EM>. Use a ":" to allow + as in <STRONG>printf(3)</STRONG>, flags are <EM>[-+#]</EM> and <EM>space</EM>. Use a ":" to allow the next character to be a "-" flag, avoiding interpreting "%-" as an operator. - %c print <EM>pop()</EM> like %c in <STRONG>printf</STRONG> + <STRONG>%c</STRONG> print <EM>pop()</EM> like %c in <STRONG>printf</STRONG> <STRONG>%s</STRONG> print <EM>pop()</EM> like %s in <STRONG>printf</STRONG> @@ -1462,7 +1276,7 @@ <STRONG>%P</STRONG><EM>[a-z]</EM> set dynamic variable <EM>[a-z]</EM> to <EM>pop()</EM> - <STRONG>%g</STRONG><EM>[a-z]/</EM> + <STRONG>%g</STRONG><EM>[a-z]</EM> get dynamic variable <EM>[a-z]</EM> and push it <STRONG>%P</STRONG><EM>[A-Z]</EM> @@ -1471,11 +1285,41 @@ <STRONG>%g</STRONG><EM>[A-Z]</EM> get static variable <EM>[a-z]</EM> and push it - The terms "static" and "dynamic" are misleading. Historically, + The terms "static" and "dynamic" are misleading. Historically, these are simply two different sets of variables, whose values are - not reset between calls to <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>. However, that fact is not + not reset between calls to <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>. However, that fact is not documented in other implementations. Relying on it will adversely - impact portability to other implementations. + impact portability to other implementations: + + <STRONG>o</STRONG> SVr2 curses supported <EM>dynamic</EM> variables. Those are set only + by a <STRONG>%P</STRONG> operator. A <STRONG>%g</STRONG> for a given variable without first + setting it with <STRONG>%P</STRONG> will give unpredictable results, because + dynamic variables are an uninitialized local array on the + stack in the <STRONG>tparm</STRONG> function. + + <STRONG>o</STRONG> SVr3.2 curses supported <EM>static</EM> variables. Those are an array + in the <EM>TERMINAL</EM> structure (declared in <STRONG>term.h</STRONG>), and are zeroed + automatically when the <STRONG>setupterm</STRONG> function allocates the data. + + <STRONG>o</STRONG> SVr4 curses made no further improvements to the <EM>dynamic/static</EM> + variable feature. + + <STRONG>o</STRONG> Solaris XPG4 curses does not distinguish between <EM>dynamic</EM> and + <EM>static</EM> variables. They are the same. Like SVr4 curses, XPG4 + curses does not initialize these explicitly. + + <STRONG>o</STRONG> Before version 6.3, <EM>ncurses</EM> stores both <EM>dynamic</EM> and <EM>static</EM> + variables in persistent storage, initialized to zeros. + + <STRONG>o</STRONG> Beginning with version 6.3, <EM>ncurses</EM> stores <EM>static</EM> and <EM>dynamic</EM> + variables in the same manner as SVr4. + + <STRONG>o</STRONG> Unlike other implementations, <EM>ncurses</EM> zeros dynamic + variables before the first <STRONG>%g</STRONG> or <STRONG>%P</STRONG> operator. + + <STRONG>o</STRONG> Like SVr2, the scope of dynamic variables in <EM>ncurses</EM> is + within the current call to <STRONG>tparm</STRONG>. Use static variables if + persistent storage is needed. <STRONG>%'</STRONG><EM>c</EM><STRONG>'</STRONG> char constant <EM>c</EM> @@ -1503,8 +1347,8 @@ <STRONG>%?</STRONG> <EM>expr</EM> <STRONG>%t</STRONG> <EM>thenpart</EM> <STRONG>%e</STRONG> <EM>elsepart</EM> <STRONG>%;</STRONG> This forms an if-then-else. The <STRONG>%e</STRONG> <EM>elsepart</EM> is optional. Usually - the <STRONG>%?</STRONG> <EM>expr</EM> part pushes a value onto the stack, and <STRONG>%t</STRONG> pops it - from the stack, testing if it is nonzero (true). If it is zero + the <STRONG>%?</STRONG> <EM>expr</EM> part pushes a value onto the stack, and <STRONG>%t</STRONG> pops it + from the stack, testing if it is nonzero (true). If it is zero (false), control passes to the <STRONG>%e</STRONG> (else) part. It is possible to form else-if's a la Algol 68: @@ -1512,344 +1356,456 @@ where ci are conditions, bi are bodies. - Use the <STRONG>-f</STRONG> option of <STRONG>tic</STRONG> or <STRONG>infocmp</STRONG> to see the structure of if- + Use the <STRONG>-f</STRONG> option of <STRONG>tic</STRONG> or <STRONG>infocmp</STRONG> to see the structure of if- then-else's. Some strings, e.g., <STRONG>sgr</STRONG> can be very complicated when - written on one line. The <STRONG>-f</STRONG> option splits the string into lines + written on one line. The <STRONG>-f</STRONG> option splits the string into lines with the parts indented. - Binary operations are in postfix form with the operands in the usual - order. That is, to get x-5 one would use "%gx%{5}%-". <STRONG>%P</STRONG> and <STRONG>%g</STRONG> + Binary operations are in postfix form with the operands in the usual + order. That is, to get x-5 one would use "%gx%{5}%-". <STRONG>%P</STRONG> and <STRONG>%g</STRONG> variables are persistent across escape-string evaluations. - Consider the HP2645, which, to get to row 3 and column 12, needs to be - sent \E&a12c03Y padded for 6 milliseconds. Note that the order of the - rows and columns is inverted here, and that the row and column are - printed as two digits. Thus its <STRONG>cup</STRONG> capability is - "cup=6\E&%p2%2dc%p1%2dY". + Consider the HP2645, which, to get to row 3 and column 12, needs to be + sent \E&a12c03Y padded for 6 milliseconds. The order of the rows and + columns is inverted here, and the row and column are printed as two + digits. The corresponding terminal description is expressed thus: + cup=\E&a%p2%dc%p1%dY$<6>, The Microterm ACT-IV needs the current row and column sent preceded by - a <STRONG>^T</STRONG>, with the row and column simply encoded in binary, - "cup=^T%p1%c%p2%c". Terminals which use "%c" need to be able to - backspace the cursor (<STRONG>cub1</STRONG>), and to move the cursor up one line on the - screen (<STRONG>cuu1</STRONG>). This is necessary because it is not always safe to - transmit <STRONG>\n</STRONG> <STRONG>^D</STRONG> and <STRONG>\r</STRONG>, as the system may change or discard them. (The - library routines dealing with terminfo set tty modes so that tabs are - never expanded, so \t is safe to send. This turns out to be essential - for the Ann Arbor 4080.) + a <STRONG>^T</STRONG>, with the row and column simply encoded in binary, + cup=^T%p1%c%p2%c + + Terminals which use "%c" need to be able to backspace the cursor + (<STRONG>cub1</STRONG>), and to move the cursor up one line on the screen (<STRONG>cuu1</STRONG>). This + is necessary because it is not always safe to transmit <STRONG>\n</STRONG> <STRONG>^D</STRONG> and <STRONG>\r</STRONG>, as + the system may change or discard them. (The library routines dealing + with terminfo set tty modes so that tabs are never expanded, so \t is + safe to send. This turns out to be essential for the Ann Arbor 4080.) A final example is the LSI ADM-3a, which uses row and column offset by - a blank character, thus "cup=\E=%p1%' '%+%c%p2%' '%+%c". After sending - "\E=", this pushes the first parameter, pushes the ASCII value for a - space (32), adds them (pushing the sum on the stack in place of the two - previous values) and outputs that value as a character. Then the same - is done for the second parameter. More complex arithmetic is possible - using the stack. + a blank character, thus + cup=\E=%p1%' '%+%c%p2%' '%+%c + + After sending "\E=", this pushes the first parameter, pushes the ASCII + value for a space (32), adds them (pushing the sum on the stack in + place of the two previous values) and outputs that value as a + character. Then the same is done for the second parameter. More + complex arithmetic is possible using the stack. </PRE><H3><a name="h3-Cursor-Motions">Cursor Motions</a></H3><PRE> - If the terminal has a fast way to home the cursor (to very upper left - corner of screen) then this can be given as <STRONG>home</STRONG>; similarly a fast way - of getting to the lower left-hand corner can be given as <STRONG>ll</STRONG>; this may + If the terminal has a fast way to home the cursor (to very upper left + corner of screen) then this can be given as <STRONG>home</STRONG>; similarly a fast way + of getting to the lower left-hand corner can be given as <STRONG>ll</STRONG>; this may involve going up with <STRONG>cuu1</STRONG> from the home position, but a program should never do this itself (unless <STRONG>ll</STRONG> does) because it can make no assumption - about the effect of moving up from the home position. Note that the - home position is the same as addressing to (0,0): to the top left - corner of the screen, not of memory. (Thus, the \EH sequence on HP + about the effect of moving up from the home position. Note that the + home position is the same as addressing to (0,0): to the top left + corner of the screen, not of memory. (Thus, the \EH sequence on HP terminals cannot be used for <STRONG>home</STRONG>.) If the terminal has row or column absolute cursor addressing, these can - be given as single parameter capabilities <STRONG>hpa</STRONG> (horizontal position - absolute) and <STRONG>vpa</STRONG> (vertical position absolute). Sometimes these are - shorter than the more general two parameter sequence (as with the - hp2645) and can be used in preference to <STRONG>cup</STRONG>. If there are - parameterized local motions (e.g., move <EM>n</EM> spaces to the right) these - can be given as <STRONG>cud</STRONG>, <STRONG>cub</STRONG>, <STRONG>cuf</STRONG>, and <STRONG>cuu</STRONG> with a single parameter - indicating how many spaces to move. These are primarily useful if the + be given as single parameter capabilities <STRONG>hpa</STRONG> (horizontal position + absolute) and <STRONG>vpa</STRONG> (vertical position absolute). Sometimes these are + shorter than the more general two parameter sequence (as with the + hp2645) and can be used in preference to <STRONG>cup</STRONG>. If there are + parameterized local motions (e.g., move <EM>n</EM> spaces to the right) these + can be given as <STRONG>cud</STRONG>, <STRONG>cub</STRONG>, <STRONG>cuf</STRONG>, and <STRONG>cuu</STRONG> with a single parameter + indicating how many spaces to move. These are primarily useful if the terminal does not have <STRONG>cup</STRONG>, such as the TEKTRONIX 4025. - If the terminal needs to be in a special mode when running a program + If the terminal needs to be in a special mode when running a program that uses these capabilities, the codes to enter and exit this mode can - be given as <STRONG>smcup</STRONG> and <STRONG>rmcup</STRONG>. This arises, for example, from terminals - like the Concept with more than one page of memory. If the terminal - has only memory relative cursor addressing and not screen relative - cursor addressing, a one screen-sized window must be fixed into the + be given as <STRONG>smcup</STRONG> and <STRONG>rmcup</STRONG>. This arises, for example, from terminals + like the Concept with more than one page of memory. If the terminal + has only memory relative cursor addressing and not screen relative + cursor addressing, a one screen-sized window must be fixed into the terminal for cursor addressing to work properly. This is also used for - the TEKTRONIX 4025, where <STRONG>smcup</STRONG> sets the command character to be the - one used by terminfo. If the <STRONG>smcup</STRONG> sequence will not restore the - screen after an <STRONG>rmcup</STRONG> sequence is output (to the state prior to + the TEKTRONIX 4025, where <STRONG>smcup</STRONG> sets the command character to be the + one used by terminfo. If the <STRONG>smcup</STRONG> sequence will not restore the + screen after an <STRONG>rmcup</STRONG> sequence is output (to the state prior to outputting <STRONG>rmcup</STRONG>), specify <STRONG>nrrmc</STRONG>. +</PRE><H3><a name="h3-Margins">Margins</a></H3><PRE> + SVr4 (and X/Open Curses) list several string capabilities for setting + margins. Two were intended for use with terminals, and another six + were intended for use with printers. + + <STRONG>o</STRONG> The two terminal capabilities assume that the terminal may have the + capability of setting the left and/or right margin at the current + cursor column position. + + <STRONG>o</STRONG> The printer capabilities assume that the printer may have two types + of capability: + + <STRONG>o</STRONG> the ability to set a top and/or bottom margin using the current + line position, and + + <STRONG>o</STRONG> parameterized capabilities for setting the top, bottom, left, + right margins given the number of rows or columns. + + In practice, the categorization into "terminal" and "printer" is not + suitable: + + <STRONG>o</STRONG> The AT&T SVr4 terminal database uses <STRONG>smgl</STRONG> four times, for AT&T + hardware. + + Three of the four are printers. They lack the ability to set + left/right margins by specifying the column. + + <STRONG>o</STRONG> Other (non-AT&T) terminals may support margins but using different + assumptions from AT&T. + + For instance, the DEC VT420 supports left/right margins, but only + using a column parameter. As an added complication, the VT420 uses + two settings to fully enable left/right margins (left/right margin + mode, and origin mode). The former enables the margins, which + causes printed text to wrap within margins, but the latter is + needed to prevent cursor-addressing outside those margins. + + <STRONG>o</STRONG> Both DEC VT420 left/right margins are set with a single control + sequence. If either is omitted, the corresponding margin is set to + the left or right edge of the display (rather than leaving the + margin unmodified). + + These are the margin-related capabilities: + + <STRONG>Name</STRONG> <STRONG>Description</STRONG> + --------------------------------------------------- + <STRONG>smgl</STRONG> Set left margin at current column + <STRONG>smgr</STRONG> Set right margin at current column + <STRONG>smgb</STRONG> Set bottom margin at current line + <STRONG>smgt</STRONG> Set top margin at current line + <STRONG>smgbp</STRONG> Set bottom margin at line <EM>N</EM> + <STRONG>smglp</STRONG> Set left margin at column <EM>N</EM> + <STRONG>smgrp</STRONG> Set right margin at column <EM>N</EM> + <STRONG>smgtp</STRONG> Set top margin at line <EM>N</EM> + <STRONG>smglr</STRONG> Set both left and right margins to <EM>L</EM> and <EM>R</EM> + <STRONG>smgtb</STRONG> Set both top and bottom margins to <EM>T</EM> and <EM>B</EM> + + When writing an application that uses these string capabilities, the + pairs should be first checked to see if each capability in the pair is + set or only one is set: + + <STRONG>o</STRONG> If both <STRONG>smglp</STRONG> and <STRONG>smgrp</STRONG> are set, each is used with a single + argument, <EM>N</EM>, that gives the column number of the left and right + margin, respectively. + + <STRONG>o</STRONG> If both <STRONG>smgtp</STRONG> and <STRONG>smgbp</STRONG> are set, each is used to set the top and + bottom margin, respectively: + + <STRONG>o</STRONG> <STRONG>smgtp</STRONG> is used with a single argument, <EM>N</EM>, the line number of the + top margin. + + <STRONG>o</STRONG> <STRONG>smgbp</STRONG> is used with two arguments, <EM>N</EM> and <EM>M</EM>, that give the line + number of the bottom margin, the first counting from the top of + the page and the second counting from the bottom. This + accommodates the two styles of specifying the bottom margin in + different manufacturers' printers. + + When designing a terminfo entry for a printer that has a settable + bottom margin, only the first or second argument should be used, + depending on the printer. When developing an application that uses + <STRONG>smgbp</STRONG> to set the bottom margin, both arguments must be given. + + Conversely, when only one capability in the pair is set: + + <STRONG>o</STRONG> If only one of <STRONG>smglp</STRONG> and <STRONG>smgrp</STRONG> is set, then it is used with two + arguments, the column number of the left and right margins, in that + order. + + <STRONG>o</STRONG> Likewise, if only one of <STRONG>smgtp</STRONG> and <STRONG>smgbp</STRONG> is set, then it is used + with two arguments that give the top and bottom margins, in that + order, counting from the top of the page. + + When designing a terminfo entry for a printer that requires setting + both left and right or top and bottom margins simultaneously, only + one capability in the pairs <STRONG>smglp</STRONG> and <STRONG>smgrp</STRONG> or <STRONG>smgtp</STRONG> and <STRONG>smgbp</STRONG> + should be defined, leaving the other unset. + + Except for very old terminal descriptions, e.g., those developed for + SVr4, the scheme just described should be considered obsolete. An + improved set of capabilities was added late in the SVr4 releases (<STRONG>smglr</STRONG> + and <STRONG>smgtb</STRONG>), which explicitly use two parameters for setting the + left/right or top/bottom margins. + + When setting margins, the line- and column-values are zero-based. + + The <STRONG>mgc</STRONG> string capability should be defined. Applications such as + <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG> rely upon this to reset all margins. + + </PRE><H3><a name="h3-Area-Clears">Area Clears</a></H3><PRE> - If the terminal can clear from the current position to the end of the - line, leaving the cursor where it is, this should be given as <STRONG>el</STRONG>. If - the terminal can clear from the beginning of the line to the current - position inclusive, leaving the cursor where it is, this should be - given as <STRONG>el1</STRONG>. If the terminal can clear from the current position to - the end of the display, then this should be given as <STRONG>ed</STRONG>. <STRONG>Ed</STRONG> is only + If the terminal can clear from the current position to the end of the + line, leaving the cursor where it is, this should be given as <STRONG>el</STRONG>. If + the terminal can clear from the beginning of the line to the current + position inclusive, leaving the cursor where it is, this should be + given as <STRONG>el1</STRONG>. If the terminal can clear from the current position to + the end of the display, then this should be given as <STRONG>ed</STRONG>. <STRONG>Ed</STRONG> is only defined from the first column of a line. (Thus, it can be simulated by - a request to delete a large number of lines, if a true <STRONG>ed</STRONG> is not + a request to delete a large number of lines, if a true <STRONG>ed</STRONG> is not available.) -</PRE><H3><a name="h3-Insert_delete-line-and-vertical-motions">Insert/delete line and vertical motions</a></H3><PRE> - If the terminal can open a new blank line before the line where the - cursor is, this should be given as <STRONG>il1</STRONG>; this is done only from the - first position of a line. The cursor must then appear on the newly - blank line. If the terminal can delete the line which the cursor is - on, then this should be given as <STRONG>dl1</STRONG>; this is done only from the first +</PRE><H3><a name="h3-Insert_Delete-Line-and-Vertical-Motions">Insert/Delete Line and Vertical Motions</a></H3><PRE> + If the terminal can open a new blank line before the line where the + cursor is, this should be given as <STRONG>il1</STRONG>; this is done only from the + first position of a line. The cursor must then appear on the newly + blank line. If the terminal can delete the line which the cursor is + on, then this should be given as <STRONG>dl1</STRONG>; this is done only from the first position on the line to be deleted. Versions of <STRONG>il1</STRONG> and <STRONG>dl1</STRONG> which take a single parameter and insert or delete that many lines can be given as <STRONG>il</STRONG> and <STRONG>dl</STRONG>. - If the terminal has a settable scrolling region (like the vt100) the - command to set this can be described with the <STRONG>csr</STRONG> capability, which + If the terminal has a settable scrolling region (like the vt100) the + command to set this can be described with the <STRONG>csr</STRONG> capability, which takes two parameters: the top and bottom lines of the scrolling region. The cursor position is, alas, undefined after using this command. - It is possible to get the effect of insert or delete line using <STRONG>csr</STRONG> on - a properly chosen region; the <STRONG>sc</STRONG> and <STRONG>rc</STRONG> (save and restore cursor) + It is possible to get the effect of insert or delete line using <STRONG>csr</STRONG> on + a properly chosen region; the <STRONG>sc</STRONG> and <STRONG>rc</STRONG> (save and restore cursor) commands may be useful for ensuring that your synthesized insert/delete - string does not move the cursor. (Note that the <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> library - does this synthesis automatically, so you need not compose + string does not move the cursor. (Note that the <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> library + does this synthesis automatically, so you need not compose insert/delete strings for an entry with <STRONG>csr</STRONG>). - Yet another way to construct insert and delete might be to use a - combination of index with the memory-lock feature found on some - terminals (like the HP-700/90 series, which however also has + Yet another way to construct insert and delete might be to use a + combination of index with the memory-lock feature found on some + terminals (like the HP-700/90 series, which however also has insert/delete). - Inserting lines at the top or bottom of the screen can also be done - using <STRONG>ri</STRONG> or <STRONG>ind</STRONG> on many terminals without a true insert/delete line, + Inserting lines at the top or bottom of the screen can also be done + using <STRONG>ri</STRONG> or <STRONG>ind</STRONG> on many terminals without a true insert/delete line, and is often faster even on terminals with those features. - The boolean <STRONG>non_dest_scroll_region</STRONG> should be set if each scrolling - window is effectively a view port on a screen-sized canvas. To test - for this capability, create a scrolling region in the middle of the - screen, write something to the bottom line, move the cursor to the top - of the region, and do <STRONG>ri</STRONG> followed by <STRONG>dl1</STRONG> or <STRONG>ind</STRONG>. If the data scrolled - off the bottom of the region by the <STRONG>ri</STRONG> re-appears, then scrolling is - non-destructive. System V and XSI Curses expect that <STRONG>ind</STRONG>, <STRONG>ri</STRONG>, <STRONG>indn</STRONG>, + The Boolean <STRONG>non_dest_scroll_region</STRONG> should be set if each scrolling + window is effectively a view port on a screen-sized canvas. To test + for this capability, create a scrolling region in the middle of the + screen, write something to the bottom line, move the cursor to the top + of the region, and do <STRONG>ri</STRONG> followed by <STRONG>dl1</STRONG> or <STRONG>ind</STRONG>. If the data scrolled + off the bottom of the region by the <STRONG>ri</STRONG> re-appears, then scrolling is + non-destructive. System V and X/Open Curses expect that <STRONG>ind</STRONG>, <STRONG>ri</STRONG>, <STRONG>indn</STRONG>, and <STRONG>rin</STRONG> will simulate destructive scrolling; their documentation - cautions you not to define <STRONG>csr</STRONG> unless this is true. This <STRONG>curses</STRONG> - implementation is more liberal and will do explicit erases after + cautions you not to define <STRONG>csr</STRONG> unless this is true. This <STRONG>curses</STRONG> + implementation is more liberal and will do explicit erases after scrolling if <STRONG>ndsrc</STRONG> is defined. - If the terminal has the ability to define a window as part of memory, - which all commands affect, it should be given as the parameterized - string <STRONG>wind</STRONG>. The four parameters are the starting and ending lines in + If the terminal has the ability to define a window as part of memory, + which all commands affect, it should be given as the parameterized + string <STRONG>wind</STRONG>. The four parameters are the starting and ending lines in memory and the starting and ending columns in memory, in that order. If the terminal can retain display memory above, then the <STRONG>da</STRONG> capability - should be given; if display memory can be retained below, then <STRONG>db</STRONG> - should be given. These indicate that deleting a line or scrolling may - bring non-blank lines up from below or that scrolling back with <STRONG>ri</STRONG> may + should be given; if display memory can be retained below, then <STRONG>db</STRONG> + should be given. These indicate that deleting a line or scrolling may + bring non-blank lines up from below or that scrolling back with <STRONG>ri</STRONG> may bring down non-blank lines. </PRE><H3><a name="h3-Insert_Delete-Character">Insert/Delete Character</a></H3><PRE> - There are two basic kinds of intelligent terminals with respect to - insert/delete character which can be described using <EM>terminfo.</EM> The - most common insert/delete character operations affect only the - characters on the current line and shift characters off the end of the - line rigidly. Other terminals, such as the Concept 100 and the Perkin - Elmer Owl, make a distinction between typed and untyped blanks on the - screen, shifting upon an insert or delete only to an untyped blank on - the screen which is either eliminated, or expanded to two untyped + There are two basic kinds of intelligent terminals with respect to + insert/delete character which can be described using <EM>terminfo</EM>. The + most common insert/delete character operations affect only the + characters on the current line and shift characters off the end of the + line rigidly. Other terminals, such as the Concept 100 and the Perkin + Elmer Owl, make a distinction between typed and untyped blanks on the + screen, shifting upon an insert or delete only to an untyped blank on + the screen which is either eliminated, or expanded to two untyped blanks. - You can determine the kind of terminal you have by clearing the screen - and then typing text separated by cursor motions. Type "abc def" - using local cursor motions (not spaces) between the "abc" and the - "def". Then position the cursor before the "abc" and put the terminal - in insert mode. If typing characters causes the rest of the line to - shift rigidly and characters to fall off the end, then your terminal - does not distinguish between blanks and untyped positions. If the - "abc" shifts over to the "def" which then move together around the end - of the current line and onto the next as you insert, you have the - second type of terminal, and should give the capability <STRONG>in</STRONG>, which + You can determine the kind of terminal you have by clearing the screen + and then typing text separated by cursor motions. Type "abc def" + using local cursor motions (not spaces) between the "abc" and the + "def". Then position the cursor before the "abc" and put the terminal + in insert mode. If typing characters causes the rest of the line to + shift rigidly and characters to fall off the end, then your terminal + does not distinguish between blanks and untyped positions. If the + "abc" shifts over to the "def" which then move together around the end + of the current line and onto the next as you insert, you have the + second type of terminal, and should give the capability <STRONG>in</STRONG>, which stands for "insert null". - While these are two logically separate attributes (one line versus - multi-line insert mode, and special treatment of untyped spaces) we - have seen no terminals whose insert mode cannot be described with the + While these are two logically separate attributes (one line versus + multi-line insert mode, and special treatment of untyped spaces) we + have seen no terminals whose insert mode cannot be described with the single attribute. - Terminfo can describe both terminals which have an insert mode, and - terminals which send a simple sequence to open a blank position on the + Terminfo can describe both terminals which have an insert mode, and + terminals which send a simple sequence to open a blank position on the current line. Give as <STRONG>smir</STRONG> the sequence to get into insert mode. Give - as <STRONG>rmir</STRONG> the sequence to leave insert mode. Now give as <STRONG>ich1</STRONG> any - sequence needed to be sent just before sending the character to be - inserted. Most terminals with a true insert mode will not give <STRONG>ich1</STRONG>; - terminals which send a sequence to open a screen position should give + as <STRONG>rmir</STRONG> the sequence to leave insert mode. Now give as <STRONG>ich1</STRONG> any + sequence needed to be sent just before sending the character to be + inserted. Most terminals with a true insert mode will not give <STRONG>ich1</STRONG>; + terminals which send a sequence to open a screen position should give it here. - If your terminal has both, insert mode is usually preferable to <STRONG>ich1</STRONG>. - Technically, you should not give both unless the terminal actually - requires both to be used in combination. Accordingly, some non-curses - applications get confused if both are present; the symptom is doubled - characters in an update using insert. This requirement is now rare; - most <STRONG>ich</STRONG> sequences do not require previous smir, and most smir insert - modes do not require <STRONG>ich1</STRONG> before each character. Therefore, the new - <STRONG>curses</STRONG> actually assumes this is the case and uses either <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> or - <STRONG>ich</STRONG>/<STRONG>ich1</STRONG> as appropriate (but not both). If you have to write an entry - to be used under new curses for a terminal old enough to need both, + If your terminal has both, insert mode is usually preferable to <STRONG>ich1</STRONG>. + Technically, you should not give both unless the terminal actually + requires both to be used in combination. Accordingly, some non-curses + applications get confused if both are present; the symptom is doubled + characters in an update using insert. This requirement is now rare; + most <STRONG>ich</STRONG> sequences do not require previous smir, and most smir insert + modes do not require <STRONG>ich1</STRONG> before each character. Therefore, the new + <STRONG>curses</STRONG> actually assumes this is the case and uses either <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> or + <STRONG>ich</STRONG>/<STRONG>ich1</STRONG> as appropriate (but not both). If you have to write an entry + to be used under new curses for a terminal old enough to need both, include the <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> sequences in <STRONG>ich1</STRONG>. If post insert padding is needed, give this as a number of milliseconds - in <STRONG>ip</STRONG> (a string option). Any other sequence which may need to be sent + in <STRONG>ip</STRONG> (a string option). Any other sequence which may need to be sent after an insert of a single character may also be given in <STRONG>ip</STRONG>. If your - terminal needs both to be placed into an "insert mode" and a special - code to precede each inserted character, then both <STRONG>smir</STRONG>/<STRONG>rmir</STRONG> and <STRONG>ich1</STRONG> - can be given, and both will be used. The <STRONG>ich</STRONG> capability, with one + terminal needs both to be placed into an "insert mode" and a special + code to precede each inserted character, then both <STRONG>smir</STRONG>/<STRONG>rmir</STRONG> and <STRONG>ich1</STRONG> + can be given, and both will be used. The <STRONG>ich</STRONG> capability, with one parameter, <EM>n</EM>, will repeat the effects of <STRONG>ich1</STRONG> <EM>n</EM> times. - If padding is necessary between characters typed while not in insert + If padding is necessary between characters typed while not in insert mode, give this as a number of milliseconds padding in <STRONG>rmp</STRONG>. - It is occasionally necessary to move around while in insert mode to - delete characters on the same line (e.g., if there is a tab after the - insertion position). If your terminal allows motion while in insert - mode you can give the capability <STRONG>mir</STRONG> to speed up inserting in this - case. Omitting <STRONG>mir</STRONG> will affect only speed. Some terminals (notably - Datamedia's) must not have <STRONG>mir</STRONG> because of the way their insert mode + It is occasionally necessary to move around while in insert mode to + delete characters on the same line (e.g., if there is a tab after the + insertion position). If your terminal allows motion while in insert + mode you can give the capability <STRONG>mir</STRONG> to speed up inserting in this + case. Omitting <STRONG>mir</STRONG> will affect only speed. Some terminals (notably + Datamedia's) must not have <STRONG>mir</STRONG> because of the way their insert mode works. - Finally, you can specify <STRONG>dch1</STRONG> to delete a single character, <STRONG>dch</STRONG> with - one parameter, <EM>n</EM>, to delete <EM>n</EM> <EM>characters,</EM> and delete mode by giving - <STRONG>smdc</STRONG> and <STRONG>rmdc</STRONG> to enter and exit delete mode (any mode the terminal - needs to be placed in for <STRONG>dch1</STRONG> to work). + Finally, you can specify <STRONG>dch1</STRONG> to delete a single character, <STRONG>dch</STRONG> with + one parameter, <EM>n</EM>, to delete <EM>n</EM>characters, and delete mode by giving <STRONG>smdc</STRONG> + and <STRONG>rmdc</STRONG> to enter and exit delete mode (any mode the terminal needs to + be placed in for <STRONG>dch1</STRONG> to work). - A command to erase <EM>n</EM> characters (equivalent to outputting <EM>n</EM> blanks + A command to erase <EM>n</EM> characters (equivalent to outputting <EM>n</EM> blanks without moving the cursor) can be given as <STRONG>ech</STRONG> with one parameter. -</PRE><H3><a name="h3-Highlighting_-Underlining_-and-Visible-Bells">Highlighting, Underlining, and Visible Bells</a></H3><PRE> +</PRE><H3><a name="h3-Highlighting_Underlining_and-Visible-Bells">Highlighting, Underlining, and Visible Bells</a></H3><PRE> If your terminal has one or more kinds of display attributes, these can - be represented in a number of different ways. You should choose one - display form as <EM>standout</EM> <EM>mode</EM>, representing a good, high contrast, - easy-on-the-eyes, format for highlighting error messages and other - attention getters. (If you have a choice, reverse video plus half- - bright is good, or reverse video alone.) The sequences to enter and - exit standout mode are given as <STRONG>smso</STRONG> and <STRONG>rmso</STRONG>, respectively. If the - code to change into or out of standout mode leaves one or even two - blank spaces on the screen, as the TVI 912 and Teleray 1061 do, then + be represented in a number of different ways. You should choose one + display form as <EM>standout</EM> <EM>mode</EM>, representing a good, high contrast, + easy-on-the-eyes, format for highlighting error messages and other + attention getters. (If you have a choice, reverse video plus half- + bright is good, or reverse video alone.) The sequences to enter and + exit standout mode are given as <STRONG>smso</STRONG> and <STRONG>rmso</STRONG>, respectively. If the + code to change into or out of standout mode leaves one or even two + blank spaces on the screen, as the TVI 912 and Teleray 1061 do, then <STRONG>xmc</STRONG> should be given to tell how many spaces are left. Codes to begin underlining and end underlining can be given as <STRONG>smul</STRONG> and <STRONG>rmul</STRONG> respectively. If the terminal has a code to underline the current - character and move the cursor one space to the right, such as the + character and move the cursor one space to the right, such as the Microterm Mime, this can be given as <STRONG>uc</STRONG>. - Other capabilities to enter various highlighting modes include <STRONG>blink</STRONG> - (blinking) <STRONG>bold</STRONG> (bold or extra bright) <STRONG>dim</STRONG> (dim or half-bright) <STRONG>invis</STRONG> - (blanking or invisible text) <STRONG>prot</STRONG> (protected) <STRONG>rev</STRONG> (reverse video) <STRONG>sgr0</STRONG> - (turn off <EM>all</EM> attribute modes) <STRONG>smacs</STRONG> (enter alternate character set + Other capabilities to enter various highlighting modes include <STRONG>blink</STRONG> + (blinking) <STRONG>bold</STRONG> (bold or extra bright) <STRONG>dim</STRONG> (dim or half-bright) <STRONG>invis</STRONG> + (blanking or invisible text) <STRONG>prot</STRONG> (protected) <STRONG>rev</STRONG> (reverse video) <STRONG>sgr0</STRONG> + (turn off <EM>all</EM> attribute modes) <STRONG>smacs</STRONG> (enter alternate character set mode) and <STRONG>rmacs</STRONG> (exit alternate character set mode). Turning on any of these modes singly may or may not turn off other modes. - If there is a sequence to set arbitrary combinations of modes, this - should be given as <STRONG>sgr</STRONG> (set attributes), taking 9 parameters. Each - parameter is either 0 or nonzero, as the corresponding attribute is on - or off. The 9 parameters are, in order: standout, underline, reverse, - blink, dim, bold, blank, protect, alternate character set. Not all - modes need be supported by <STRONG>sgr</STRONG>, only those for which corresponding - separate attribute commands exist. + If there is a sequence to set arbitrary combinations of modes, this + should be given as <STRONG>sgr</STRONG> (set attributes), taking 9 parameters. Each + parameter is either zero (0) or nonzero, as the corresponding attribute + is on or off. The 9 parameters are, in order: standout, underline, + reverse, blink, dim, bold, blank, protect, alternate character set. + Not all modes need be supported by <STRONG>sgr</STRONG>, only those for which + corresponding separate attribute commands exist. For example, the DEC vt220 supports most of the modes: - <STRONG>tparm</STRONG> <STRONG>parameter</STRONG> <STRONG>attribute</STRONG> <STRONG>escape</STRONG> <STRONG>sequence</STRONG> - - none none \E[0m - p1 standout \E[0;1;7m - p2 underline \E[0;4m - p3 reverse \E[0;7m - p4 blink \E[0;5m - p5 dim not available - p6 bold \E[0;1m - p7 invis \E[0;8m - p8 protect not used - p9 altcharset ^O (off) ^N (on) - - We begin each escape sequence by turning off any existing modes, since - there is no quick way to determine whether they are active. Standout - is set up to be the combination of reverse and bold. The vt220 - terminal has a protect mode, though it is not commonly used in sgr - because it protects characters on the screen from the host's erasures. - The altcharset mode also is different in that it is either ^O or ^N, - depending on whether it is off or on. If all modes are turned on, the + <STRONG>tparm</STRONG> <STRONG>Parameter</STRONG> <STRONG>Attribute</STRONG> <STRONG>Escape</STRONG> <STRONG>Sequence</STRONG> + ------------------------------------------------ + none none \E[0m + p1 standout \E[0;1;7m + p2 underline \E[0;4m + p3 reverse \E[0;7m + p4 blink \E[0;5m + p5 dim not available + p6 bold \E[0;1m + p7 invis \E[0;8m + p8 protect not used + p9 altcharset ^O (off) ^N (on) + + We begin each escape sequence by turning off any existing modes, since + there is no quick way to determine whether they are active. Standout + is set up to be the combination of reverse and bold. The vt220 + terminal has a protect mode, though it is not commonly used in sgr + because it protects characters on the screen from the host's erasures. + The altcharset mode also is different in that it is either ^O or ^N, + depending on whether it is off or on. If all modes are turned on, the resulting sequence is \E[0;1;4;5;7;8m^N. - Some sequences are common to different modes. For example, ;7 is - output when either p1 or p3 is true, that is, if either standout or + Some sequences are common to different modes. For example, ;7 is + output when either p1 or p3 is true, that is, if either standout or reverse modes are turned on. Writing out the above sequences, along with their dependencies yields - <STRONG>sequence</STRONG> <STRONG>when</STRONG> <STRONG>to</STRONG> <STRONG>output</STRONG> <STRONG>terminfo</STRONG> <STRONG>translation</STRONG> - - \E[0 always \E[0 - ;1 if p1 or p6 %?%p1%p6%|%t;1%; - ;4 if p2 %?%p2%|%t;4%; - ;5 if p4 %?%p4%|%t;5%; - ;7 if p1 or p3 %?%p1%p3%|%t;7%; - ;8 if p7 %?%p7%|%t;8%; - m always m - ^N or ^O if p9 ^N, else ^O %?%p9%t^N%e^O%; + <STRONG>Sequence</STRONG> <STRONG>When</STRONG> <STRONG>to</STRONG> <STRONG>Output</STRONG> <STRONG>terminfo</STRONG> <STRONG>Translation</STRONG> + ---------------------------------------------------- + \E[0 always \E[0 + ;1 if p1 or p6 %?%p1%p6%|%t;1%; + ;4 if p2 %?%p2%|%t;4%; + ;5 if p4 %?%p4%|%t;5%; + ;7 if p1 or p3 %?%p1%p3%|%t;7%; + ;8 if p7 %?%p7%|%t;8%; + m always m + ^N or ^O if p9 ^N, else ^O %?%p9%t^N%e^O%; Putting this all together into the sgr sequence gives: sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p4%t;5%; %?%p1%p3%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - Remember that if you specify sgr, you must also specify sgr0. Also, - some implementations rely on sgr being given if sgr0 is, Not all + Remember that if you specify sgr, you must also specify sgr0. Also, + some implementations rely on sgr being given if sgr0 is, Not all terminfo entries necessarily have an sgr string, however. Many - terminfo entries are derived from termcap entries which have no sgr + terminfo entries are derived from termcap entries which have no sgr string. The only drawback to adding an sgr string is that termcap also assumes that sgr0 does not exit alternate character set mode. - Terminals with the "magic cookie" glitch (<STRONG>xmc</STRONG>) deposit special - "cookies" when they receive mode-setting sequences, which affect the - display algorithm rather than having extra bits for each character. - Some terminals, such as the HP 2621, automatically leave standout mode - when they move to a new line or the cursor is addressed. Programs - using standout mode should exit standout mode before moving the cursor - or sending a newline, unless the <STRONG>msgr</STRONG> capability, asserting that it is + Terminals with the "magic cookie" glitch (<STRONG>xmc</STRONG>) deposit special + "cookies" when they receive mode-setting sequences, which affect the + display algorithm rather than having extra bits for each character. + Some terminals, such as the HP 2621, automatically leave standout mode + when they move to a new line or the cursor is addressed. Programs + using standout mode should exit standout mode before moving the cursor + or sending a newline, unless the <STRONG>msgr</STRONG> capability, asserting that it is safe to move in standout mode, is present. - If the terminal has a way of flashing the screen to indicate an error - quietly (a bell replacement) then this can be given as <STRONG>flash</STRONG>; it must + If the terminal has a way of flashing the screen to indicate an error + quietly (a bell replacement) then this can be given as <STRONG>flash</STRONG>; it must not move the cursor. - If the cursor needs to be made more visible than normal when it is not + If the cursor needs to be made more visible than normal when it is not on the bottom line (to make, for example, a non-blinking underline into - an easier to find block or blinking underline) give this sequence as + an easier to find block or blinking underline) give this sequence as <STRONG>cvvis</STRONG>. If there is a way to make the cursor completely invisible, give - that as <STRONG>civis</STRONG>. The capability <STRONG>cnorm</STRONG> should be given which undoes the + that as <STRONG>civis</STRONG>. The capability <STRONG>cnorm</STRONG> should be given which undoes the effects of both of these modes. - If your terminal correctly generates underlined characters (with no - special codes needed) even though it does not overstrike, then you - should give the capability <STRONG>ul</STRONG>. If a character overstriking another - leaves both characters on the screen, specify the capability <STRONG>os</STRONG>. If + If your terminal correctly generates underlined characters (with no + special codes needed) even though it does not overstrike, then you + should give the capability <STRONG>ul</STRONG>. If a character overstriking another + leaves both characters on the screen, specify the capability <STRONG>os</STRONG>. If overstrikes are erasable with a blank, then this should be indicated by giving <STRONG>eo</STRONG>. </PRE><H3><a name="h3-Keypad-and-Function-Keys">Keypad and Function Keys</a></H3><PRE> - If the terminal has a keypad that transmits codes when the keys are - pressed, this information can be given. Note that it is not possible + If the terminal has a keypad that transmits codes when the keys are + pressed, this information can be given. Note that it is not possible to handle terminals where the keypad only works in local (this applies, - for example, to the unshifted HP 2621 keys). If the keypad can be set - to transmit or not transmit, give these codes as <STRONG>smkx</STRONG> and <STRONG>rmkx</STRONG>. + for example, to the unshifted HP 2621 keys). If the keypad can be set + to transmit or not transmit, give these codes as <STRONG>smkx</STRONG> and <STRONG>rmkx</STRONG>. Otherwise the keypad is assumed to always transmit. - The codes sent by the left arrow, right arrow, up arrow, down arrow, - and home keys can be given as <STRONG>kcub1,</STRONG> <STRONG>kcuf1,</STRONG> <STRONG>kcuu1,</STRONG> <STRONG>kcud1,</STRONG> and <STRONG>khome</STRONG> + The codes sent by the left arrow, right arrow, up arrow, down arrow, + and home keys can be given as <STRONG>kcub1,</STRONG> <STRONG>kcuf1,</STRONG> <STRONG>kcuu1,</STRONG> <STRONG>kcud1,</STRONG> and <STRONG>khome</STRONG> respectively. If there are function keys such as f0, f1, ..., f10, the - codes they send can be given as <STRONG>kf0,</STRONG> <STRONG>kf1,</STRONG> <STRONG>...,</STRONG> <STRONG>kf10</STRONG>. If these keys - have labels other than the default f0 through f10, the labels can be + codes they send can be given as <STRONG>kf0,</STRONG> <STRONG>kf1,</STRONG> <STRONG>...,</STRONG> <STRONG>kf10</STRONG>. If these keys + have labels other than the default f0 through f10, the labels can be given as <STRONG>lf0,</STRONG> <STRONG>lf1,</STRONG> <STRONG>...,</STRONG> <STRONG>lf10</STRONG>. The codes transmitted by certain other special keys can be given: @@ -1888,64 +1844,64 @@ <STRONG>o</STRONG> <STRONG>khts</STRONG> (set a tab stop in this column). - In addition, if the keypad has a 3 by 3 array of keys including the - four arrow keys, the other five keys can be given as <STRONG>ka1</STRONG>, <STRONG>ka3</STRONG>, <STRONG>kb2</STRONG>, - <STRONG>kc1</STRONG>, and <STRONG>kc3</STRONG>. These keys are useful when the effects of a 3 by 3 + In addition, if the keypad has a 3 by 3 array of keys including the + four arrow keys, the other five keys can be given as <STRONG>ka1</STRONG>, <STRONG>ka3</STRONG>, <STRONG>kb2</STRONG>, + <STRONG>kc1</STRONG>, and <STRONG>kc3</STRONG>. These keys are useful when the effects of a 3 by 3 directional pad are needed. Strings to program function keys can be given as <STRONG>pfkey</STRONG>, <STRONG>pfloc</STRONG>, and <STRONG>pfx</STRONG>. - A string to program screen labels should be specified as <STRONG>pln</STRONG>. Each of - these strings takes two parameters: the function key number to program + A string to program screen labels should be specified as <STRONG>pln</STRONG>. Each of + these strings takes two parameters: the function key number to program (from 0 to 10) and the string to program it with. Function key numbers - out of this range may program undefined keys in a terminal dependent - manner. The difference between the capabilities is that <STRONG>pfkey</STRONG> causes - pressing the given key to be the same as the user typing the given - string; <STRONG>pfloc</STRONG> causes the string to be executed by the terminal in + out of this range may program undefined keys in a terminal dependent + manner. The difference between the capabilities is that <STRONG>pfkey</STRONG> causes + pressing the given key to be the same as the user typing the given + string; <STRONG>pfloc</STRONG> causes the string to be executed by the terminal in local; and <STRONG>pfx</STRONG> causes the string to be transmitted to the computer. - The capabilities <STRONG>nlab</STRONG>, <STRONG>lw</STRONG> and <STRONG>lh</STRONG> define the number of programmable - screen labels and their width and height. If there are commands to - turn the labels on and off, give them in <STRONG>smln</STRONG> and <STRONG>rmln</STRONG>. <STRONG>smln</STRONG> is - normally output after one or more pln sequences to make sure that the + The capabilities <STRONG>nlab</STRONG>, <STRONG>lw</STRONG> and <STRONG>lh</STRONG> define the number of programmable + screen labels and their width and height. If there are commands to + turn the labels on and off, give them in <STRONG>smln</STRONG> and <STRONG>rmln</STRONG>. <STRONG>smln</STRONG> is + normally output after one or more pln sequences to make sure that the change becomes visible. </PRE><H3><a name="h3-Tabs-and-Initialization">Tabs and Initialization</a></H3><PRE> A few capabilities are used only for tabs: - <STRONG>o</STRONG> If the terminal has hardware tabs, the command to advance to the + <STRONG>o</STRONG> If the terminal has hardware tabs, the command to advance to the next tab stop can be given as <STRONG>ht</STRONG> (usually control/I). <STRONG>o</STRONG> A "back-tab" command which moves leftward to the preceding tab stop can be given as <STRONG>cbt</STRONG>. - By convention, if the teletype modes indicate that tabs are being - expanded by the computer rather than being sent to the terminal, - programs should not use <STRONG>ht</STRONG> or <STRONG>cbt</STRONG> even if they are present, since + By convention, if the teletype modes indicate that tabs are being + expanded by the computer rather than being sent to the terminal, + programs should not use <STRONG>ht</STRONG> or <STRONG>cbt</STRONG> even if they are present, since the user may not have the tab stops properly set. - <STRONG>o</STRONG> If the terminal has hardware tabs which are initially set every <EM>n</EM> + <STRONG>o</STRONG> If the terminal has hardware tabs which are initially set every <EM>n</EM> spaces when the terminal is powered up, the numeric parameter <STRONG>it</STRONG> is given, showing the number of spaces the tabs are set to. The <STRONG>it</STRONG> capability is normally used by the <STRONG>tset</STRONG> command to determine - whether to set the mode for hardware tab expansion, and whether to + whether to set the mode for hardware tab expansion, and whether to set the tab stops. If the terminal has tab stops that can be saved - in non-volatile memory, the terminfo description can assume that + in non-volatile memory, the terminfo description can assume that they are properly set. Other capabilities include <STRONG>o</STRONG> <STRONG>is1</STRONG>, <STRONG>is2</STRONG>, and <STRONG>is3</STRONG>, initialization strings for the terminal, - <STRONG>o</STRONG> <STRONG>iprog</STRONG>, the path name of a program to be run to initialize the + <STRONG>o</STRONG> <STRONG>iprog</STRONG>, the path name of a program to be run to initialize the terminal, <STRONG>o</STRONG> and <STRONG>if</STRONG>, the name of a file containing long initialization strings. - These strings are expected to set the terminal into modes consistent - with the rest of the terminfo description. They are normally sent to - the terminal, by the <EM>init</EM> option of the <STRONG>tput</STRONG> program, each time the + These strings are expected to set the terminal into modes consistent + with the rest of the terminfo description. They are normally sent to + the terminal, by the <EM>init</EM> option of the <STRONG>tput</STRONG> program, each time the user logs in. They will be printed in the following order: run the program @@ -1969,34 +1925,34 @@ and finally output <STRONG>is3</STRONG>. - Most initialization is done with <STRONG>is2</STRONG>. Special terminal modes can be - set up without duplicating strings by putting the common sequences in + Most initialization is done with <STRONG>is2</STRONG>. Special terminal modes can be + set up without duplicating strings by putting the common sequences in <STRONG>is2</STRONG> and special cases in <STRONG>is1</STRONG> and <STRONG>is3</STRONG>. - A set of sequences that does a harder reset from a totally unknown + A set of sequences that does a harder reset from a totally unknown state can be given as <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rf</STRONG> and <STRONG>rs3</STRONG>, analogous to <STRONG>is1</STRONG> <STRONG>,</STRONG> <STRONG>is2</STRONG> <STRONG>,</STRONG> <STRONG>if</STRONG> - and <STRONG>is3</STRONG> respectively. These strings are output by <EM>reset</EM> option of - <STRONG>tput</STRONG>, or by the <STRONG>reset</STRONG> program (an alias of <STRONG>tset</STRONG>), which is used when + and <STRONG>is3</STRONG> respectively. These strings are output by <EM>reset</EM> option of + <STRONG>tput</STRONG>, or by the <STRONG>reset</STRONG> program (an alias of <STRONG>tset</STRONG>), which is used when the terminal gets into a wedged state. Commands are normally placed in <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG> <STRONG>rs3</STRONG> and <STRONG>rf</STRONG> only if they produce annoying effects on the screen and are not necessary when logging in. For example, the command to set - the vt100 into 80-column mode would normally be part of <STRONG>is2</STRONG>, but it - causes an annoying glitch of the screen and is not normally needed + the vt100 into 80-column mode would normally be part of <STRONG>is2</STRONG>, but it + causes an annoying glitch of the screen and is not normally needed since the terminal is usually already in 80-column mode. - The <STRONG>reset</STRONG> program writes strings including <STRONG>iprog</STRONG>, etc., in the same - order as the <EM>init</EM> program, using <STRONG>rs1</STRONG>, etc., instead of <STRONG>is1</STRONG>, etc. If - any of <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, or <STRONG>rf</STRONG> reset capability strings are missing, the - <STRONG>reset</STRONG> program falls back upon the corresponding initialization + The <STRONG>reset</STRONG> program writes strings including <STRONG>iprog</STRONG>, etc., in the same + order as the <EM>init</EM> program, using <STRONG>rs1</STRONG>, etc., instead of <STRONG>is1</STRONG>, etc. If + any of <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, or <STRONG>rf</STRONG> reset capability strings are missing, the + <STRONG>reset</STRONG> program falls back upon the corresponding initialization capability string. - If there are commands to set and clear tab stops, they can be given as + If there are commands to set and clear tab stops, they can be given as <STRONG>tbc</STRONG> (clear all tab stops) and <STRONG>hts</STRONG> (set a tab stop in the current column - of every row). If a more complex sequence is needed to set the tabs + of every row). If a more complex sequence is needed to set the tabs than can be described by this, the sequence can be placed in <STRONG>is2</STRONG> or <STRONG>if</STRONG>. - The <STRONG>tput</STRONG> <STRONG>reset</STRONG> command uses the same capability strings as the <STRONG>reset</STRONG> - command, although the two programs (<STRONG>tput</STRONG> and <STRONG>reset</STRONG>) provide different + The <STRONG>tput</STRONG> <STRONG>reset</STRONG> command uses the same capability strings as the <STRONG>reset</STRONG> + command, although the two programs (<STRONG>tput</STRONG> and <STRONG>reset</STRONG>) provide different command-line options. In practice, these terminfo capabilities are not often used in @@ -2005,393 +1961,402 @@ <STRONG>o</STRONG> Almost all hardware terminals (at least those which supported tabs) initialized those to every <EM>eight</EM> columns: - The only exception was the AT&T 2300 series, which set tabs to + The only exception was the AT&T 2300 series, which set tabs to every <EM>five</EM> columns. - <STRONG>o</STRONG> In particular, developers of the hardware terminals which are - commonly used as models for modern terminal emulators provided + <STRONG>o</STRONG> In particular, developers of the hardware terminals which are + commonly used as models for modern terminal emulators provided documentation demonstrating that <EM>eight</EM> columns were the standard. <STRONG>o</STRONG> Because of this, the terminal initialization programs <STRONG>tput</STRONG> and <STRONG>tset</STRONG> - use the <STRONG>tbc</STRONG> (<STRONG>clear_all_tabs</STRONG>) and <STRONG>hts</STRONG> (<STRONG>set_tab</STRONG>) capabilities - directly only when the <STRONG>it</STRONG> (<STRONG>init_tabs</STRONG>) capability is set to a value + use the <STRONG>tbc</STRONG> (<STRONG>clear_all_tabs</STRONG>) and <STRONG>hts</STRONG> (<STRONG>set_tab</STRONG>) capabilities + directly only when the <STRONG>it</STRONG> (<STRONG>init_tabs</STRONG>) capability is set to a value other than <EM>eight</EM>. </PRE><H3><a name="h3-Delays-and-Padding">Delays and Padding</a></H3><PRE> - Many older and slower terminals do not support either XON/XOFF or DTR - handshaking, including hard copy terminals and some very archaic CRTs - (including, for example, DEC VT100s). These may require padding + Many older and slower terminals do not support either XON/XOFF or DTR + handshaking, including hard copy terminals and some very archaic CRTs + (including, for example, DEC VT100s). These may require padding characters after certain cursor motions and screen changes. If the terminal uses xon/xoff handshaking for flow control (that is, it - automatically emits ^S back to the host when its input buffers are - close to full), set <STRONG>xon</STRONG>. This capability suppresses the emission of - padding. You can also set it for memory-mapped console devices + automatically emits ^S back to the host when its input buffers are + close to full), set <STRONG>xon</STRONG>. This capability suppresses the emission of + padding. You can also set it for memory-mapped console devices effectively that do not have a speed limit. Padding information should - still be included so that routines can make better decisions about + still be included so that routines can make better decisions about relative costs, but actual pad characters will not be transmitted. If <STRONG>pb</STRONG> (padding baud rate) is given, padding is suppressed at baud rates - below the value of <STRONG>pb</STRONG>. If the entry has no padding baud rate, then + below the value of <STRONG>pb</STRONG>. If the entry has no padding baud rate, then whether padding is emitted or not is completely controlled by <STRONG>xon</STRONG>. - If the terminal requires other than a null (zero) character as a pad, - then this can be given as <STRONG>pad</STRONG>. Only the first character of the <STRONG>pad</STRONG> + If the terminal requires other than a null (zero) character as a pad, + then this can be given as <STRONG>pad</STRONG>. Only the first character of the <STRONG>pad</STRONG> string is used. </PRE><H3><a name="h3-Status-Lines">Status Lines</a></H3><PRE> - Some terminals have an extra "status line" which is not normally used + Some terminals have an extra "status line" which is not normally used by software (and thus not counted in the terminal's <STRONG>lines</STRONG> capability). - The simplest case is a status line which is cursor-addressable but not + The simplest case is a status line which is cursor-addressable but not part of the main scrolling region on the screen; the Heathkit H19 has a - status line of this kind, as would a 24-line VT100 with a 23-line + status line of this kind, as would a 24-line VT100 with a 23-line scrolling region set up on initialization. This situation is indicated by the <STRONG>hs</STRONG> capability. - Some terminals with status lines need special sequences to access the - status line. These may be expressed as a string with single parameter - <STRONG>tsl</STRONG> which takes the cursor to a given zero-origin column on the status - line. The capability <STRONG>fsl</STRONG> must return to the main-screen cursor + Some terminals with status lines need special sequences to access the + status line. These may be expressed as a string with single parameter + <STRONG>tsl</STRONG> which takes the cursor to a given zero-origin column on the status + line. The capability <STRONG>fsl</STRONG> must return to the main-screen cursor positions before the last <STRONG>tsl</STRONG>. You may need to embed the string values - of <STRONG>sc</STRONG> (save cursor) and <STRONG>rc</STRONG> (restore cursor) in <STRONG>tsl</STRONG> and <STRONG>fsl</STRONG> to + of <STRONG>sc</STRONG> (save cursor) and <STRONG>rc</STRONG> (restore cursor) in <STRONG>tsl</STRONG> and <STRONG>fsl</STRONG> to accomplish this. - The status line is normally assumed to be the same width as the width - of the terminal. If this is untrue, you can specify it with the + The status line is normally assumed to be the same width as the width + of the terminal. If this is untrue, you can specify it with the numeric capability <STRONG>wsl</STRONG>. A command to erase or blank the status line may be specified as <STRONG>dsl</STRONG>. - The boolean capability <STRONG>eslok</STRONG> specifies that escape sequences, tabs, + The Boolean capability <STRONG>eslok</STRONG> specifies that escape sequences, tabs, etc., work ordinarily in the status line. - The <STRONG>ncurses</STRONG> implementation does not yet use any of these capabilities. + The <EM>ncurses</EM> implementation does not yet use any of these capabilities. They are documented here in case they ever become important. </PRE><H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE> - Many terminals have alternate character sets useful for forms-drawing. - Terminfo and <STRONG>curses</STRONG> have built-in support for most of the drawing - characters supported by the VT100, with some characters from the AT&T - 4410v1 added. This alternate character set may be specified by the + Many terminals have alternate character sets useful for forms-drawing. + Terminfo and <STRONG>curses</STRONG> have built-in support for most of the drawing + characters supported by the VT100, with some characters from the AT&T + 4410v1 added. This alternate character set may be specified by the <STRONG>acsc</STRONG> capability. - <STRONG>Glyph</STRONG> <STRONG>ACS</STRONG> <STRONG>Ascii</STRONG> <STRONG>acsc</STRONG> <STRONG>acsc</STRONG> - <STRONG>Name</STRONG> <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Char</STRONG> <STRONG>Value</STRONG> - -------------------------------------------------------------------- - arrow pointing right ACS_RARROW > + 0x2b - arrow pointing left ACS_LARROW < , 0x2c - arrow pointing up ACS_UARROW ^ - 0x2d - arrow pointing down ACS_DARROW v . 0x2e - solid square block ACS_BLOCK # 0 0x30 - diamond ACS_DIAMOND + ` 0x60 - checker board (stipple) ACS_CKBOARD : a 0x61 - degree symbol ACS_DEGREE \ f 0x66 - plus/minus ACS_PLMINUS # g 0x67 - board of squares ACS_BOARD # h 0x68 - lantern symbol ACS_LANTERN # i 0x69 - lower right corner ACS_LRCORNER + j 0x6a - - upper right corner ACS_URCORNER + k 0x6b - upper left corner ACS_ULCORNER + l 0x6c - lower left corner ACS_LLCORNER + m 0x6d - large plus or crossover ACS_PLUS + n 0x6e - scan line 1 ACS_S1 ~ o 0x6f - scan line 3 ACS_S3 - p 0x70 - horizontal line ACS_HLINE - q 0x71 - scan line 7 ACS_S7 - r 0x72 - scan line 9 ACS_S9 _ s 0x73 - tee pointing right ACS_LTEE + t 0x74 - tee pointing left ACS_RTEE + u 0x75 - tee pointing up ACS_BTEE + v 0x76 - tee pointing down ACS_TTEE + w 0x77 - vertical line ACS_VLINE | x 0x78 - less-than-or-equal-to ACS_LEQUAL < y 0x79 - greater-than-or-equal-to ACS_GEQUAL > z 0x7a - greek pi ACS_PI * { 0x7b - not-equal ACS_NEQUAL ! | 0x7c - UK pound sign ACS_STERLING f } 0x7d - bullet ACS_BULLET o ~ 0x7e + <STRONG>acsc</STRONG> + <STRONG>ACS</STRONG> <STRONG>Name</STRONG> <STRONG>Value</STRONG> <STRONG>Symbol</STRONG> <STRONG>ASCII</STRONG> <STRONG>Fallback</STRONG> <STRONG>/</STRONG> <STRONG>Glyph</STRONG> <STRONG>Name</STRONG> + ------------------------------------------------------------------------ + <STRONG>ACS_RARROW</STRONG> 0x2b + <STRONG>></STRONG> arrow pointing right + <STRONG>ACS_LARROW</STRONG> 0x2c , <STRONG><</STRONG> arrow pointing left + <STRONG>ACS_UARROW</STRONG> 0x2d - <STRONG>^</STRONG> arrow pointing up + <STRONG>ACS_DARROW</STRONG> 0x2e . <STRONG>v</STRONG> arrow pointing down + <STRONG>ACS_BLOCK</STRONG> 0x30 0 <STRONG>#</STRONG> solid square block + <STRONG>ACS_DIAMOND</STRONG> 0x60 ` <STRONG>+</STRONG> diamond + <STRONG>ACS_CKBOARD</STRONG> 0x61 a <STRONG>:</STRONG> checker board (stipple) + <STRONG>ACS_DEGREE</STRONG> 0x66 f <STRONG>\</STRONG> degree symbol + <STRONG>ACS_PLMINUS</STRONG> 0x67 g <STRONG>#</STRONG> plus/minus + <STRONG>ACS_BOARD</STRONG> 0x68 h <STRONG>#</STRONG> board of squares + <STRONG>ACS_LANTERN</STRONG> 0x69 i <STRONG>#</STRONG> lantern symbol + <STRONG>ACS_LRCORNER</STRONG> 0x6a j <STRONG>+</STRONG> lower right corner + + <STRONG>ACS_URCORNER</STRONG> 0x6b k <STRONG>+</STRONG> upper right corner + <STRONG>ACS_ULCORNER</STRONG> 0x6c l <STRONG>+</STRONG> upper left corner + <STRONG>ACS_LLCORNER</STRONG> 0x6d m <STRONG>+</STRONG> lower left corner + <STRONG>ACS_PLUS</STRONG> 0x6e n <STRONG>+</STRONG> large plus or crossover + <STRONG>ACS_S1</STRONG> 0x6f o <STRONG>~</STRONG> scan line 1 + <STRONG>ACS_S3</STRONG> 0x70 p <STRONG>-</STRONG> scan line 3 + <STRONG>ACS_HLINE</STRONG> 0x71 q <STRONG>-</STRONG> horizontal line + <STRONG>ACS_S7</STRONG> 0x72 r <STRONG>-</STRONG> scan line 7 + <STRONG>ACS_S9</STRONG> 0x73 s <STRONG>_</STRONG> scan line 9 + <STRONG>ACS_LTEE</STRONG> 0x74 t <STRONG>+</STRONG> tee pointing right + <STRONG>ACS_RTEE</STRONG> 0x75 u <STRONG>+</STRONG> tee pointing left + <STRONG>ACS_BTEE</STRONG> 0x76 v <STRONG>+</STRONG> tee pointing up + <STRONG>ACS_TTEE</STRONG> 0x77 w <STRONG>+</STRONG> tee pointing down + <STRONG>ACS_VLINE</STRONG> 0x78 x <STRONG>|</STRONG> vertical line + <STRONG>ACS_LEQUAL</STRONG> 0x79 y <STRONG><</STRONG> less-than-or-equal-to + <STRONG>ACS_GEQUAL</STRONG> 0x7a z <STRONG>></STRONG> greater-than-or-equal-to + <STRONG>ACS_PI</STRONG> 0x7b { <STRONG>*</STRONG> greek pi + <STRONG>ACS_NEQUAL</STRONG> 0x7c | <STRONG>!</STRONG> not-equal + <STRONG>ACS_STERLING</STRONG> 0x7d } <STRONG>f</STRONG> UK pound sign + <STRONG>ACS_BULLET</STRONG> 0x7e ~ <STRONG>o</STRONG> bullet A few notes apply to the table itself: - <STRONG>o</STRONG> X/Open Curses incorrectly states that the mapping for <EM>lantern</EM> is - uppercase "I" although Unix implementations use the lowercase "i" + <STRONG>o</STRONG> X/Open Curses incorrectly states that the mapping for <EM>lantern</EM> is + uppercase "I" although Unix implementations use the lowercase "i" mapping. - <STRONG>o</STRONG> The DEC VT100 implemented graphics using the alternate character - set feature, temporarily switching <EM>modes</EM> and sending characters in - the range 0x60 (96) to 0x7e (126) (the <STRONG>acsc</STRONG> <STRONG>Value</STRONG> column in the + <STRONG>o</STRONG> The DEC VT100 implemented graphics using the alternate character + set feature, temporarily switching <EM>modes</EM> and sending characters in + the range 0x60 (96) to 0x7e (126) (the <STRONG>acsc</STRONG> <STRONG>Value</STRONG> column in the table). <STRONG>o</STRONG> The AT&T terminal added graphics characters outside that range. - Some of the characters within the range do not match the VT100; - presumably they were used in the AT&T terminal: <EM>board</EM> <EM>of</EM> <EM>squares</EM> - replaces the VT100 <EM>newline</EM> symbol, while <EM>lantern</EM> <EM>symbol</EM> replaces + Some of the characters within the range do not match the VT100; + presumably they were used in the AT&T terminal: <EM>board</EM> <EM>of</EM> <EM>squares</EM> + replaces the VT100 <EM>newline</EM> symbol, while <EM>lantern</EM> <EM>symbol</EM> replaces the VT100 <EM>vertical</EM> <EM>tab</EM> symbol. The other VT100 symbols for control - characters (<EM>horizontal</EM> <EM>tab</EM>, <EM>carriage</EM> <EM>return</EM> and <EM>line-feed</EM>) are not + characters (<EM>horizontal</EM> <EM>tab</EM>, <EM>carriage</EM> <EM>return</EM> and <EM>line-feed</EM>) are not (re)used in curses. - The best way to define a new device's graphics set is to add a column - to a copy of this table for your terminal, giving the character which - (when emitted between <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG> switches) will be rendered as the + The best way to define a new device's graphics set is to add a column + to a copy of this table for your terminal, giving the character which + (when emitted between <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG> switches) will be rendered as the corresponding graphic. Then read off the VT100/your terminal character pairs right to left in sequence; these become the ACSC string. </PRE><H3><a name="h3-Color-Handling">Color Handling</a></H3><PRE> - The curses library functions <STRONG>init_pair</STRONG> and <STRONG>init_color</STRONG> manipulate the - <EM>color</EM> <EM>pairs</EM> and <EM>color</EM> <EM>values</EM> discussed in this section (see + The curses library functions <STRONG>init_pair</STRONG> and <STRONG>init_color</STRONG> manipulate the + <EM>color</EM> <EM>pairs</EM> and <EM>color</EM> <EM>values</EM> discussed in this section (see <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> for details on these and related functions). Most color terminals are either "Tektronix-like" or "HP-like": <STRONG>o</STRONG> Tektronix-like terminals have a predefined set of <EM>N</EM> colors (where <EM>N</EM> is usually 8), and can set character-cell foreground and background - characters independently, mixing them into <EM>N</EM> * <EM>N</EM> color-pairs. + characters independently, mixing them into <EM>N</EM> * <EM>N</EM> color pairs. - <STRONG>o</STRONG> On HP-like terminals, the user must set each color pair up - separately (foreground and background are not independently - settable). Up to <EM>M</EM> color-pairs may be set up from 2*<EM>M</EM> different + <STRONG>o</STRONG> On HP-like terminals, the user must set each color pair up + separately (foreground and background are not independently + settable). Up to <EM>M</EM> color pairs may be set up from 2*<EM>M</EM> different colors. ANSI-compatible terminals are Tektronix-like. Some basic color capabilities are independent of the color method. The - numeric capabilities <STRONG>colors</STRONG> and <STRONG>pairs</STRONG> specify the maximum numbers of - colors and color-pairs that can be displayed simultaneously. The <STRONG>op</STRONG> + numeric capabilities <STRONG>colors</STRONG> and <STRONG>pairs</STRONG> specify the maximum numbers of + colors and color pairs that can be displayed simultaneously. The <STRONG>op</STRONG> (original pair) string resets foreground and background colors to their - default values for the terminal. The <STRONG>oc</STRONG> string resets all colors or - color-pairs to their default values for the terminal. Some terminals - (including many PC terminal emulators) erase screen areas with the - current background color rather than the power-up default background; - these should have the boolean capability <STRONG>bce</STRONG>. - - While the curses library works with <EM>color</EM> <EM>pairs</EM> (reflecting the - inability of some devices to set foreground and background colors - independently), there are separate capabilities for setting these + default values for the terminal. The <STRONG>oc</STRONG> string resets all colors or + color pairs to their default values for the terminal. Some terminals + (including many PC terminal emulators) erase screen areas with the + current background color rather than the power-up default background; + these should have the Boolean capability <STRONG>bce</STRONG>. + + While the curses library works with <EM>color</EM> <EM>pairs</EM> (reflecting the + inability of some devices to set foreground and background colors + independently), there are separate capabilities for setting these features: - <STRONG>o</STRONG> To change the current foreground or background color on a - Tektronix-type terminal, use <STRONG>setaf</STRONG> (set ANSI foreground) and <STRONG>setab</STRONG> - (set ANSI background) or <STRONG>setf</STRONG> (set foreground) and <STRONG>setb</STRONG> (set + <STRONG>o</STRONG> To change the current foreground or background color on a + Tektronix-type terminal, use <STRONG>setaf</STRONG> (set ANSI foreground) and <STRONG>setab</STRONG> + (set ANSI background) or <STRONG>setf</STRONG> (set foreground) and <STRONG>setb</STRONG> (set background). These take one parameter, the color number. The SVr4 - documentation describes only <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>; the XPG4 draft says that - "If the terminal supports ANSI escape sequences to set background - and foreground, they should be coded as <STRONG>setaf</STRONG> and <STRONG>setab</STRONG>, + documentation describes only <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>; the XPG4 draft says that + "If the terminal supports ANSI escape sequences to set background + and foreground, they should be coded as <STRONG>setaf</STRONG> and <STRONG>setab</STRONG>, respectively. - <STRONG>o</STRONG> If the terminal supports other escape sequences to set background - and foreground, they should be coded as <STRONG>setf</STRONG> and <STRONG>setb</STRONG>, - respectively. The <STRONG>vidputs</STRONG> and the <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> functions use the + <STRONG>o</STRONG> If the terminal supports other escape sequences to set background + and foreground, they should be coded as <STRONG>setf</STRONG> and <STRONG>setb</STRONG>, + respectively. The <STRONG>vidputs</STRONG> and the <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> functions use the <STRONG>setaf</STRONG> and <STRONG>setab</STRONG> capabilities if they are defined. - The <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> and <STRONG>setf</STRONG>/<STRONG>setb</STRONG> capabilities take a single numeric + The <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> and <STRONG>setf</STRONG>/<STRONG>setb</STRONG> capabilities take a single numeric argument each. Argument values 0-7 of <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> are portably defined - as follows (the middle column is the symbolic #define available in the - header for the <STRONG>curses</STRONG> or <STRONG>ncurses</STRONG> libraries). The terminal hardware is - free to map these as it likes, but the RGB values indicate normal + as follows (the middle column is the symbolic #define available in the + header for the <STRONG>curses</STRONG> or <EM>ncurses</EM> libraries). The terminal hardware is + free to map these as it likes, but the RGB values indicate normal locations in color space. - <STRONG>Color</STRONG> <STRONG>#define</STRONG> <STRONG>Value</STRONG> <STRONG>RGB</STRONG> - black <STRONG>COLOR_BLACK</STRONG> 0 0, 0, 0 - red <STRONG>COLOR_RED</STRONG> 1 max,0,0 - green <STRONG>COLOR_GREEN</STRONG> 2 0,max,0 - yellow <STRONG>COLOR_YELLOW</STRONG> 3 max,max,0 - blue <STRONG>COLOR_BLUE</STRONG> 4 0,0,max - magenta <STRONG>COLOR_MAGENTA</STRONG> 5 max,0,max - cyan <STRONG>COLOR_CYAN</STRONG> 6 0,max,max - white <STRONG>COLOR_WHITE</STRONG> 7 max,max,max + <STRONG>Color</STRONG> <STRONG>#define</STRONG> <STRONG>Value</STRONG> <STRONG>RGB</STRONG> + ------------------------------------------------ + black <STRONG>COLOR_BLACK</STRONG> 0 0, 0, 0 + red <STRONG>COLOR_RED</STRONG> 1 max, 0, 0 + green <STRONG>COLOR_GREEN</STRONG> 2 0, max, 0 + yellow <STRONG>COLOR_YELLOW</STRONG> 3 max, max, 0 + blue <STRONG>COLOR_BLUE</STRONG> 4 0, 0, max + magenta <STRONG>COLOR_MAGENTA</STRONG> 5 max, 0, max + cyan <STRONG>COLOR_CYAN</STRONG> 6 0, max, max + white <STRONG>COLOR_WHITE</STRONG> 7 max, max, max The argument values of <STRONG>setf</STRONG>/<STRONG>setb</STRONG> historically correspond to a different mapping, i.e., - <STRONG>Color</STRONG> <STRONG>#define</STRONG> <STRONG>Value</STRONG> <STRONG>RGB</STRONG> - black <STRONG>COLOR_BLACK</STRONG> 0 0, 0, 0 - blue <STRONG>COLOR_BLUE</STRONG> 1 0,0,max - green <STRONG>COLOR_GREEN</STRONG> 2 0,max,0 - cyan <STRONG>COLOR_CYAN</STRONG> 3 0,max,max - red <STRONG>COLOR_RED</STRONG> 4 max,0,0 - magenta <STRONG>COLOR_MAGENTA</STRONG> 5 max,0,max - yellow <STRONG>COLOR_YELLOW</STRONG> 6 max,max,0 - white <STRONG>COLOR_WHITE</STRONG> 7 max,max,max - - It is important to not confuse the two sets of color capabilities; + <STRONG>Color</STRONG> <STRONG>#define</STRONG> <STRONG>Value</STRONG> <STRONG>RGB</STRONG> + ------------------------------------------------ + black <STRONG>COLOR_BLACK</STRONG> 0 0, 0, 0 + blue <STRONG>COLOR_BLUE</STRONG> 1 0, 0, max + green <STRONG>COLOR_GREEN</STRONG> 2 0, max, 0 + cyan <STRONG>COLOR_CYAN</STRONG> 3 0, max, max + red <STRONG>COLOR_RED</STRONG> 4 max, 0, 0 + magenta <STRONG>COLOR_MAGENTA</STRONG> 5 max, 0, max + yellow <STRONG>COLOR_YELLOW</STRONG> 6 max, max, 0 + white <STRONG>COLOR_WHITE</STRONG> 7 max, max, max + + It is important to not confuse the two sets of color capabilities; otherwise red/blue will be interchanged on the display. - On an HP-like terminal, use <STRONG>scp</STRONG> with a color-pair number parameter to + On an HP-like terminal, use <STRONG>scp</STRONG> with a color pair number parameter to set which color pair is current. Some terminals allow the <EM>color</EM> <EM>values</EM> to be modified: - <STRONG>o</STRONG> On a Tektronix-like terminal, the capability <STRONG>ccc</STRONG> may be present to - indicate that colors can be modified. If so, the <STRONG>initc</STRONG> capability + <STRONG>o</STRONG> On a Tektronix-like terminal, the capability <STRONG>ccc</STRONG> may be present to + indicate that colors can be modified. If so, the <STRONG>initc</STRONG> capability will take a color number (0 to <STRONG>colors</STRONG> - 1)and three more parameters - which describe the color. These three parameters default to being - interpreted as RGB (Red, Green, Blue) values. If the boolean + which describe the color. These three parameters default to being + interpreted as RGB (Red, Green, Blue) values. If the Boolean capability <STRONG>hls</STRONG> is present, they are instead as HLS (Hue, Lightness, Saturation) indices. The ranges are terminal-dependent. - <STRONG>o</STRONG> On an HP-like terminal, <STRONG>initp</STRONG> may give a capability for changing a - color-pair value. It will take seven parameters; a color-pair - number (0 to <STRONG>max_pairs</STRONG> - 1), and two triples describing first - background and then foreground colors. These parameters must be - (Red, Green, Blue) or (Hue, Lightness, Saturation) depending on + <STRONG>o</STRONG> On an HP-like terminal, <STRONG>initp</STRONG> may give a capability for changing a + color pair value. It will take seven parameters; a color pair + number (0 to <STRONG>max_pairs</STRONG> - 1), and two triples describing first + background and then foreground colors. These parameters must be + (Red, Green, Blue) or (Hue, Lightness, Saturation) depending on <STRONG>hls</STRONG>. - On some color terminals, colors collide with highlights. You can - register these collisions with the <STRONG>ncv</STRONG> capability. This is a bit-mask - of attributes not to be used when colors are enabled. The + On some color terminals, colors collide with highlights. You can + register these collisions with the <STRONG>ncv</STRONG> capability. This is a bit mask + of attributes not to be used when colors are enabled. The correspondence with the attributes understood by <STRONG>curses</STRONG> is as follows: - <STRONG>Attribute</STRONG> <STRONG>Bit</STRONG> <STRONG>Decimal</STRONG> <STRONG>Set</STRONG> <STRONG>by</STRONG> - A_STANDOUT 0 1 sgr - A_UNDERLINE 1 2 sgr - A_REVERSE 2 4 sgr - A_BLINK 3 8 sgr - A_DIM 4 16 sgr - A_BOLD 5 32 sgr - A_INVIS 6 64 sgr - A_PROTECT 7 128 sgr - A_ALTCHARSET 8 256 sgr - A_HORIZONTAL 9 512 sgr1 - A_LEFT 10 1024 sgr1 - A_LOW 11 2048 sgr1 - A_RIGHT 12 4096 sgr1 - A_TOP 13 8192 sgr1 - A_VERTICAL 14 16384 sgr1 - A_ITALIC 15 32768 sitm - - For example, on many IBM PC consoles, the underline attribute collides - with the foreground color blue and is not available in color mode. + <STRONG>Attribute</STRONG> <STRONG>Bit</STRONG> <STRONG>Decimal</STRONG> <STRONG>Set</STRONG> <STRONG>by</STRONG> + -------------------------------------- + <STRONG>A_STANDOUT</STRONG> 0 1 <STRONG>sgr</STRONG> + <STRONG>A_UNDERLINE</STRONG> 1 2 <STRONG>sgr</STRONG> + <STRONG>A_REVERSE</STRONG> 2 4 <STRONG>sgr</STRONG> + <STRONG>A_BLINK</STRONG> 3 8 <STRONG>sgr</STRONG> + <STRONG>A_DIM</STRONG> 4 16 <STRONG>sgr</STRONG> + <STRONG>A_BOLD</STRONG> 5 32 <STRONG>sgr</STRONG> + <STRONG>A_INVIS</STRONG> 6 64 <STRONG>sgr</STRONG> + <STRONG>A_PROTECT</STRONG> 7 128 <STRONG>sgr</STRONG> + <STRONG>A_ALTCHARSET</STRONG> 8 256 <STRONG>sgr</STRONG> + <STRONG>A_HORIZONTAL</STRONG> 9 512 <STRONG>sgr1</STRONG> + <STRONG>A_LEFT</STRONG> 10 1024 <STRONG>sgr1</STRONG> + <STRONG>A_LOW</STRONG> 11 2048 <STRONG>sgr1</STRONG> + <STRONG>A_RIGHT</STRONG> 12 4096 <STRONG>sgr1</STRONG> + <STRONG>A_TOP</STRONG> 13 8192 <STRONG>sgr1</STRONG> + <STRONG>A_VERTICAL</STRONG> 14 16384 <STRONG>sgr1</STRONG> + <STRONG>A_ITALIC</STRONG> 15 32768 <STRONG>sitm</STRONG> + + For example, on many IBM PC consoles, the underline attribute collides + with the foreground color blue and is not available in color mode. These should have an <STRONG>ncv</STRONG> capability of 2. - SVr4 curses does nothing with <STRONG>ncv</STRONG>, ncurses recognizes it and optimizes + SVr4 curses does nothing with <STRONG>ncv</STRONG>, <EM>ncurses</EM> recognizes it and optimizes the output in favor of colors. </PRE><H3><a name="h3-Miscellaneous">Miscellaneous</a></H3><PRE> - If the terminal requires other than a null (zero) character as a pad, - then this can be given as pad. Only the first character of the pad + If the terminal requires other than a null (zero) character as a pad, + then this can be given as pad. Only the first character of the pad string is used. If the terminal does not have a pad character, specify - npc. Note that ncurses implements the termcap-compatible <STRONG>PC</STRONG> variable; - though the application may set this value to something other than a - null, ncurses will test <STRONG>npc</STRONG> first and use napms if the terminal has no + npc. Note that <EM>ncurses</EM> implements the termcap-compatible <STRONG>PC</STRONG> variable; + though the application may set this value to something other than a + null, <EM>ncurses</EM> will test <STRONG>npc</STRONG> first and use napms if the terminal has no pad character. - If the terminal can move up or down half a line, this can be indicated - with <STRONG>hu</STRONG> (half-line up) and <STRONG>hd</STRONG> (half-line down). This is primarily - useful for superscripts and subscripts on hard-copy terminals. If a + If the terminal can move up or down half a line, this can be indicated + with <STRONG>hu</STRONG> (half-line up) and <STRONG>hd</STRONG> (half-line down). This is primarily + useful for superscripts and subscripts on hard-copy terminals. If a hard-copy terminal can eject to the next page (form feed), give this as <STRONG>ff</STRONG> (usually control/L). - If there is a command to repeat a given character a given number of - times (to save time transmitting a large number of identical - characters) this can be indicated with the parameterized string <STRONG>rep</STRONG>. - The first parameter is the character to be repeated and the second is + If there is a command to repeat a given character a given number of + times (to save time transmitting a large number of identical + characters) this can be indicated with the parameterized string <STRONG>rep</STRONG>. + The first parameter is the character to be repeated and the second is the number of times to repeat it. Thus, tparm(repeat_char, 'x', 10) is the same as "xxxxxxxxxx". If the terminal has a settable command character, such as the TEKTRONIX - 4025, this can be indicated with <STRONG>cmdch</STRONG>. A prototype command character - is chosen which is used in all capabilities. This character is given - in the <STRONG>cmdch</STRONG> capability to identify it. The following convention is - supported on some UNIX systems: The environment is to be searched for a - <STRONG>CC</STRONG> variable, and if found, all occurrences of the prototype character + 4025, this can be indicated with <STRONG>cmdch</STRONG>. A prototype command character + is chosen which is used in all capabilities. This character is given + in the <STRONG>cmdch</STRONG> capability to identify it. The following convention is + supported on some Unix systems: The environment is to be searched for a + <STRONG>CC</STRONG> variable, and if found, all occurrences of the prototype character are replaced with the character in the environment variable. - Terminal descriptions that do not represent a specific kind of known - terminal, such as <EM>switch</EM>, <EM>dialup</EM>, <EM>patch</EM>, and <EM>network</EM>, should include - the <STRONG>gn</STRONG> (generic) capability so that programs can complain that they do - not know how to talk to the terminal. (This capability does not apply - to <EM>virtual</EM> terminal descriptions for which the escape sequences are + Terminal descriptions that do not represent a specific kind of known + terminal, such as <EM>switch</EM>, <EM>dialup</EM>, <EM>patch</EM>, and <EM>network</EM>, should include + the <STRONG>gn</STRONG> (generic) capability so that programs can complain that they do + not know how to talk to the terminal. (This capability does not apply + to <EM>virtual</EM> terminal descriptions for which the escape sequences are known.) If the terminal has a "meta key" which acts as a shift key, setting the - 8th bit of any character transmitted, this fact can be indicated with - <STRONG>km</STRONG>. Otherwise, software will assume that the 8th bit is parity and it - will usually be cleared. If strings exist to turn this "meta mode" on + 8th bit of any character transmitted, this fact can be indicated with + <STRONG>km</STRONG>. Otherwise, software will assume that the 8th bit is parity and it + will usually be cleared. If strings exist to turn this "meta mode" on and off, they can be given as <STRONG>smm</STRONG> and <STRONG>rmm</STRONG>. If the terminal has more lines of memory than will fit on the screen at - once, the number of lines of memory can be indicated with <STRONG>lm</STRONG>. A value + once, the number of lines of memory can be indicated with <STRONG>lm</STRONG>. A value of <STRONG>lm</STRONG>#0 indicates that the number of lines is not fixed, but that there is still more memory than fits on the screen. - If the terminal is one of those supported by the UNIX virtual terminal + If the terminal is one of those supported by the Unix virtual terminal protocol, the terminal number can be given as <STRONG>vt</STRONG>. - Media copy strings which control an auxiliary printer connected to the - terminal can be given as <STRONG>mc0</STRONG>: print the contents of the screen, <STRONG>mc4</STRONG>: - turn off the printer, and <STRONG>mc5</STRONG>: turn on the printer. When the printer - is on, all text sent to the terminal will be sent to the printer. It - is undefined whether the text is also displayed on the terminal screen - when the printer is on. A variation <STRONG>mc5p</STRONG> takes one parameter, and - leaves the printer on for as many characters as the value of the + Media copy strings which control an auxiliary printer connected to the + terminal can be given as <STRONG>mc0</STRONG>: print the contents of the screen, <STRONG>mc4</STRONG>: + turn off the printer, and <STRONG>mc5</STRONG>: turn on the printer. When the printer + is on, all text sent to the terminal will be sent to the printer. It + is undefined whether the text is also displayed on the terminal screen + when the printer is on. A variation <STRONG>mc5p</STRONG> takes one parameter, and + leaves the printer on for as many characters as the value of the parameter, then turns the printer off. The parameter should not exceed - 255. All text, including <STRONG>mc4</STRONG>, is transparently passed to the printer + 255. All text, including <STRONG>mc4</STRONG>, is transparently passed to the printer while an <STRONG>mc5p</STRONG> is in effect. -</PRE><H3><a name="h3-Glitches-and-Braindamage">Glitches and Braindamage</a></H3><PRE> - Hazeltine terminals, which do not allow "~" characters to be displayed +</PRE><H3><a name="h3-Glitches-and-Brain-Damage">Glitches and Brain Damage</a></H3><PRE> + Hazeltine terminals, which do not allow "~" characters to be displayed should indicate <STRONG>hz</STRONG>. - Terminals which ignore a line-feed immediately after an <STRONG>am</STRONG> wrap, such + Terminals which ignore a line-feed immediately after an <STRONG>am</STRONG> wrap, such as the Concept and vt100, should indicate <STRONG>xenl</STRONG>. - If <STRONG>el</STRONG> is required to get rid of standout (instead of merely writing + If <STRONG>el</STRONG> is required to get rid of standout (instead of merely writing normal text on top of it), <STRONG>xhp</STRONG> should be given. Teleray terminals, where tabs turn all characters moved over to blanks, - should indicate <STRONG>xt</STRONG> (destructive tabs). Note: the variable indicating - this is now "dest_tabs_magic_smso"; in older versions, it was - teleray_glitch. This glitch is also taken to mean that it is not - possible to position the cursor on top of a "magic cookie", that to - erase standout mode it is instead necessary to use delete and insert - line. The ncurses implementation ignores this glitch. - - The Beehive Superbee, which is unable to correctly transmit the escape - or control/C characters, has <STRONG>xsb</STRONG>, indicating that the f1 key is used - for escape and f2 for control/C. (Only certain Superbees have this - problem, depending on the ROM.) Note that in older terminfo versions, + should indicate <STRONG>xt</STRONG> (destructive tabs). Note: the variable indicating + this is now "dest_tabs_magic_smso"; in older versions, it was + teleray_glitch. This glitch is also taken to mean that it is not + possible to position the cursor on top of a "magic cookie", that to + erase standout mode it is instead necessary to use delete and insert + line. The <EM>ncurses</EM> implementation ignores this glitch. + + The Beehive Superbee, which is unable to correctly transmit the escape + or control/C characters, has <STRONG>xsb</STRONG>, indicating that the f1 key is used + for escape and f2 for control/C. (Only certain Superbees have this + problem, depending on the ROM.) Note that in older terminfo versions, this capability was called "beehive_glitch"; it is now "no_esc_ctl_c". - Other specific terminal problems may be corrected by adding more + Other specific terminal problems may be corrected by adding more capabilities of the form <STRONG>x</STRONG><EM>x</EM>. </PRE><H3><a name="h3-Pitfalls-of-Long-Entries">Pitfalls of Long Entries</a></H3><PRE> - Long terminfo entries are unlikely to be a problem; to date, no entry - has even approached terminfo's 4096-byte string-table maximum. - Unfortunately, the termcap translations are much more strictly limited + Long terminfo entries are unlikely to be a problem; to date, no entry + has even approached terminfo's 4096-byte string-table maximum. + Unfortunately, the termcap translations are much more strictly limited (to 1023 bytes), thus termcap translations of long terminfo entries can cause problems. - The man pages for 4.3BSD and older versions of <STRONG>tgetent</STRONG> instruct the - user to allocate a 1024-byte buffer for the termcap entry. The entry - gets null-terminated by the termcap library, so that makes the maximum - safe length for a termcap entry 1k-1 (1023) bytes. Depending on what - the application and the termcap library being used does, and where in - the termcap file the terminal type that <STRONG>tgetent</STRONG> is searching for is, - several bad things can happen. - - Some termcap libraries print a warning message or exit if they find an - entry that's longer than 1023 bytes; others do not; others truncate the - entries to 1023 bytes. Some application programs allocate more than - the recommended 1K for the termcap entry; others do not. - - Each termcap entry has two important sizes associated with it: before - "tc" expansion, and after "tc" expansion. "tc" is the capability that + The man pages for 4.3BSD and older versions of <STRONG>tgetent</STRONG> instruct the + user to allocate a 1024-byte buffer for the termcap entry. The entry + gets null-terminated by the termcap library, so that makes the maximum + safe length for a termcap entry 1k-1 (1023) bytes. Depending on what + the application and the termcap library being used does, and where in + the termcap file the terminal type that <STRONG>tgetent</STRONG> is searching for is, + several bad things can happen: + + <STRONG>o</STRONG> some termcap libraries print a warning message, + + <STRONG>o</STRONG> some exit if they find an entry that's longer than 1023 bytes, + + <STRONG>o</STRONG> some neither exit nor warn, doing nothing useful, and + + <STRONG>o</STRONG> some simply truncate the entries to 1023 bytes. + + Some application programs allocate more than the recommended 1K for the + termcap entry; others do not. + + Each termcap entry has two important sizes associated with it: before + "tc" expansion, and after "tc" expansion. "tc" is the capability that tacks on another termcap entry to the end of the current one, to add on its capabilities. If a termcap entry does not use the "tc" capability, then of course the two lengths are the same. - The "before tc expansion" length is the most important one, because it - affects more than just users of that particular terminal. This is the - length of the entry as it exists in /etc/termcap, minus the backslash- + The "before tc expansion" length is the most important one, because it + affects more than just users of that particular terminal. This is the + length of the entry as it exists in /etc/termcap, minus the backslash- newline pairs, which <STRONG>tgetent</STRONG> strips out while reading it. Some termcap libraries strip off the final newline, too (GNU termcap does not). Now suppose: @@ -2400,54 +2365,50 @@ <STRONG>o</STRONG> and the application has only allocated a 1k buffer, - <STRONG>o</STRONG> and the termcap library (like the one in BSD/OS 1.1 and GNU) reads - the whole entry into the buffer, no matter what its length, to see + <STRONG>o</STRONG> and the termcap library (like the one in BSD/OS 1.1 and GNU) reads + the whole entry into the buffer, no matter what its length, to see if it is the entry it wants, - <STRONG>o</STRONG> and <STRONG>tgetent</STRONG> is searching for a terminal type that either is the - long entry, appears in the termcap file after the long entry, or - does not appear in the file at all (so that <STRONG>tgetent</STRONG> has to search + <STRONG>o</STRONG> and <STRONG>tgetent</STRONG> is searching for a terminal type that either is the + long entry, appears in the termcap file after the long entry, or + does not appear in the file at all (so that <STRONG>tgetent</STRONG> has to search the whole termcap file). - Then <STRONG>tgetent</STRONG> will overwrite memory, perhaps its stack, and probably - core dump the program. Programs like telnet are particularly - vulnerable; modern telnets pass along values like the terminal type - automatically. The results are almost as undesirable with a termcap - library, like SunOS 4.1.3 and Ultrix 4.4, that prints warning messages - when it reads an overly long termcap entry. If a termcap library - truncates long entries, like OSF/1 3.0, it is immune to dying here but + Then <STRONG>tgetent</STRONG> will overwrite memory, perhaps its stack, and probably + core dump the program. Programs like telnet are particularly + vulnerable; modern telnets pass along values like the terminal type + automatically. The results are almost as undesirable with a termcap + library, like SunOS 4.1.3 and Ultrix 4.4, that prints warning messages + when it reads an overly long termcap entry. If a termcap library + truncates long entries, like OSF/1 3.0, it is immune to dying here but will return incorrect data for the terminal. - The "after tc expansion" length will have a similar effect to the - above, but only for people who actually set TERM to that terminal type, - since <STRONG>tgetent</STRONG> only does "tc" expansion once it is found the terminal + The "after tc expansion" length will have a similar effect to the + above, but only for people who actually set <EM>TERM</EM> to that terminal type, + since <STRONG>tgetent</STRONG> only does "tc" expansion once it is found the terminal type it was looking for, not while searching. - In summary, a termcap entry that is longer than 1023 bytes can cause, - on various combinations of termcap libraries and applications, a core - dump, warnings, or incorrect operation. If it is too long even before - "tc" expansion, it will have this effect even for users of some other - terminal types and users whose TERM variable does not have a termcap + In summary, a termcap entry that is longer than 1023 bytes can cause, + on various combinations of termcap libraries and applications, a core + dump, warnings, or incorrect operation. If it is too long even before + "tc" expansion, it will have this effect even for users of some other + terminal types and users whose <EM>TERM</EM> variable does not have a termcap entry. - When in -C (translate to termcap) mode, the <STRONG>ncurses</STRONG> implementation of - <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> issues warning messages when the pre-tc length of a termcap - translation is too long. The -c (check) option also checks resolved + When in -C (translate to termcap) mode, the <EM>ncurses</EM> implementation of + <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> issues warning messages when the pre-tc length of a termcap + translation is too long. The -c (check) option also checks resolved (after tc expansion) lengths. -</PRE><H3><a name="h3-Binary-Compatibility">Binary Compatibility</a></H3><PRE> - It is not wise to count on portability of binary terminfo entries - between commercial UNIX versions. The problem is that there are at - least two versions of terminfo (under HP-UX and AIX) which diverged - from System V terminfo after SVr1, and have added extension - capabilities to the string table that (in the binary format) collide - with System V and XSI Curses extensions. +</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE> + <EM>/usr/share/terminfo</EM> + compiled terminal description database directory </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE> - Searching for terminal descriptions in <STRONG>$HOME/.terminfo</STRONG> and - TERMINFO_DIRS is not supported by older implementations. + Searching for terminal descriptions in <EM>$HOME/.terminfo</EM> and + <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> is not supported by older implementations. Some SVr4 <STRONG>curses</STRONG> implementations, and all previous to SVr4, do not interpret the %A and %O operators in parameter strings. @@ -2455,72 +2416,78 @@ SVr4/XPG4 do not specify whether <STRONG>msgr</STRONG> licenses movement while in an alternate-character-set mode (such modes may, among other things, map CR and NL to characters that do not trigger local motions). The - <STRONG>ncurses</STRONG> implementation ignores <STRONG>msgr</STRONG> in <STRONG>ALTCHARSET</STRONG> mode. This raises + <EM>ncurses</EM> implementation ignores <STRONG>msgr</STRONG> in <STRONG>ALTCHARSET</STRONG> mode. This raises the possibility that an XPG4 implementation making the opposite - interpretation may need terminfo entries made for <STRONG>ncurses</STRONG> to have <STRONG>msgr</STRONG> + interpretation may need terminfo entries made for <EM>ncurses</EM> to have <STRONG>msgr</STRONG> turned off. - The <STRONG>ncurses</STRONG> library handles insert-character and insert-character modes + The <EM>ncurses</EM> library handles insert-character and insert-character modes in a slightly non-standard way to get better update efficiency. See the <STRONG>Insert/Delete</STRONG> <STRONG>Character</STRONG> subsection above. The parameter substitutions for <STRONG>set_clock</STRONG> and <STRONG>display_clock</STRONG> are not - documented in SVr4 or the XSI Curses standard. They are deduced from - the documentation for the AT&T 505 terminal. + documented in SVr4 or X/Open Curses. They are deduced from the + documentation for the AT&T 505 terminal. - Be careful assigning the <STRONG>kmous</STRONG> capability. The <STRONG>ncurses</STRONG> library wants + Be careful assigning the <STRONG>kmous</STRONG> capability. The <EM>ncurses</EM> library wants to interpret it as <STRONG>KEY_MOUSE</STRONG>, for use by terminals and emulators like xterm that can return mouse-tracking information in the keyboard-input stream. X/Open Curses does not mention italics. Portable applications must assume that numeric capabilities are signed 16-bit values. This - includes the <EM>no</EM><STRONG>_</STRONG><EM>color</EM><STRONG>_</STRONG><EM>video</EM> (ncv) capability. The 32768 mask value - used for italics with ncv can be confused with an absent or cancelled - ncv. If italics should work with colors, then the ncv value must be + includes the <EM>no</EM><STRONG>_</STRONG><EM>color</EM><STRONG>_</STRONG><EM>video</EM> (<STRONG>ncv</STRONG>) capability. The 32768 mask value + used for italics with <STRONG>ncv</STRONG> can be confused with an absent or cancelled + <STRONG>ncv</STRONG>. If italics should work with colors, then the <STRONG>ncv</STRONG> value must be specified, even if it is zero. - Different commercial ports of terminfo and curses support different - subsets of the XSI Curses standard and (in some cases) different - extension sets. Here is a summary, accurate as of October 1995: + Different commercial ports of <EM>terminfo</EM> and <EM>curses</EM> support different + subsets of X/Open Curses and (in some cases) different extensions. + Here is a summary, accurate as of October 1995, after which the + commercial Unix market contracted and lost diversity. - <STRONG>o</STRONG> <STRONG>SVR4,</STRONG> <STRONG>Solaris,</STRONG> <STRONG>ncurses</STRONG> -- These support all SVr4 capabilities. + <STRONG>o</STRONG> SVr4, Solaris, and <EM>ncurses</EM> support all SVr4 capabilities. - <STRONG>o</STRONG> <STRONG>SGI</STRONG> -- Supports the SVr4 set, adds one undocumented extended string - capability (<STRONG>set_pglen</STRONG>). + <STRONG>o</STRONG> IRIX supports the SVr4 set and adds one undocumented extended + string capability (<STRONG>set_pglen</STRONG>). - <STRONG>o</STRONG> <STRONG>SVr1,</STRONG> <STRONG>Ultrix</STRONG> -- These support a restricted subset of terminfo - capabilities. The booleans end with <STRONG>xon_xoff</STRONG>; the numerics with + <STRONG>o</STRONG> SVr1 and Ultrix support a restricted subset of <EM>terminfo</EM> + capabilities. The Booleans end with <STRONG>xon_xoff</STRONG>; the numerics with <STRONG>width_status_line</STRONG>; and the strings with <STRONG>prtr_non</STRONG>. - <STRONG>o</STRONG> <STRONG>HP/UX</STRONG> -- Supports the SVr1 subset, plus the SVr[234] numerics - <STRONG>num_labels</STRONG>, <STRONG>label_height</STRONG>, <STRONG>label_width</STRONG>, plus function keys 11 - through 63, plus <STRONG>plab_norm</STRONG>, <STRONG>label_on</STRONG>, and <STRONG>label_off</STRONG>, plus some - incompatible extensions in the string table. + <STRONG>o</STRONG> HP/UX supports the SVr1 subset, plus the SVr[234] numerics + <STRONG>num_labels</STRONG>, <STRONG>label_height</STRONG>, <STRONG>label_width</STRONG>, plus function keys 11 + through 63, plus <STRONG>plab_norm</STRONG>, <STRONG>label_on</STRONG>, and <STRONG>label_off</STRONG>, plus a number + of incompatible string table extensions. - <STRONG>o</STRONG> <STRONG>AIX</STRONG> -- Supports the SVr1 subset, plus function keys 11 through 63, + <STRONG>o</STRONG> AIX supports the SVr1 subset, plus function keys 11 through 63, plus a number of incompatible string table extensions. - <STRONG>o</STRONG> <STRONG>OSF</STRONG> -- Supports both the SVr4 set and the AIX extensions. + <STRONG>o</STRONG> OSF/1 supports both the SVr4 set and the AIX extensions. -</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE> - /usr/share/terminfo/?/* files containing terminal descriptions - - -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>, - <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>printf(3)</STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>. <STRONG><A HREF="term.5.html">term(5)</A></STRONG>. - <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>. +</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> + Do not count on compiled (binary) <EM>terminfo</EM> entries being portable + between commercial Unix systems. At least two implementations of + <EM>terminfo</EM> (those of HP-UX and AIX) diverged from those of other System V + Unices after SVr1, adding extension capabilities to the string table + that (in the binary format) collide with subsequent System V and X/Open + Curses extensions. </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE> - Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey. Based on pcurses + Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey. Based on <EM>pcurses</EM> by Pavel Curtis. +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>, + <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>printf(3)</STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, + <STRONG><A HREF="term.5.html">term(5)</A></STRONG>, <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> + - <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> + +ncurses 6.5 2024-04-20 <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -2528,8 +2495,8 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a> <ul> -<li><a href="#h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></li> -<li><a href="#h3-Terminfo-Capabilities-Syntax">Terminfo Capabilities Syntax</a></li> +<li><a href="#h3-terminfo-Entry-Syntax">terminfo Entry Syntax</a></li> +<li><a href="#h3-terminfo-Capabilities-Syntax">terminfo Capabilities Syntax</a></li> <li><a href="#h3-Similar-Terminals">Similar Terminals</a></li> <li><a href="#h3-Predefined-Capabilities">Predefined Capabilities</a></li> <li><a href="#h3-User-Defined-Capabilities">User-Defined Capabilities</a></li> @@ -2540,10 +2507,11 @@ <li><a href="#h3-Basic-Capabilities">Basic Capabilities</a></li> <li><a href="#h3-Parameterized-Strings">Parameterized Strings</a></li> <li><a href="#h3-Cursor-Motions">Cursor Motions</a></li> +<li><a href="#h3-Margins">Margins</a></li> <li><a href="#h3-Area-Clears">Area Clears</a></li> -<li><a href="#h3-Insert_delete-line-and-vertical-motions">Insert/delete line and vertical motions</a></li> +<li><a href="#h3-Insert_Delete-Line-and-Vertical-Motions">Insert/Delete Line and Vertical Motions</a></li> <li><a href="#h3-Insert_Delete-Character">Insert/Delete Character</a></li> -<li><a href="#h3-Highlighting_-Underlining_-and-Visible-Bells">Highlighting, Underlining, and Visible Bells</a></li> +<li><a href="#h3-Highlighting_Underlining_and-Visible-Bells">Highlighting, Underlining, and Visible Bells</a></li> <li><a href="#h3-Keypad-and-Function-Keys">Keypad and Function Keys</a></li> <li><a href="#h3-Tabs-and-Initialization">Tabs and Initialization</a></li> <li><a href="#h3-Delays-and-Padding">Delays and Padding</a></li> @@ -2551,15 +2519,15 @@ <li><a href="#h3-Line-Graphics">Line Graphics</a></li> <li><a href="#h3-Color-Handling">Color Handling</a></li> <li><a href="#h3-Miscellaneous">Miscellaneous</a></li> -<li><a href="#h3-Glitches-and-Braindamage">Glitches and Braindamage</a></li> +<li><a href="#h3-Glitches-and-Brain-Damage">Glitches and Brain Damage</a></li> <li><a href="#h3-Pitfalls-of-Long-Entries">Pitfalls of Long Entries</a></li> -<li><a href="#h3-Binary-Compatibility">Binary Compatibility</a></li> </ul> </li> -<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li> <li><a href="#h2-FILES">FILES</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> +<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li> +<li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/tic.1m.html b/doc/html/man/tic.1m.html index cf74b772d248..e5e6107244cf 100644 --- a/doc/html/man/tic.1m.html +++ b/doc/html/man/tic.1m.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,32 +27,32 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: tic.1m,v 1.78 2020/12/19 21:32:45 tom Exp @ + * @Id: tic.1m,v 1.110 2024/04/27 17:57:06 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>tic 1m</TITLE> +<TITLE>tic 1m 2024-04-27 ncurses 6.5 User commands</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">tic 1m</H1> +<H1 class="no-header">tic 1m 2024-04-27 ncurses 6.5 User commands</H1> <PRE> -<STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> +<STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> User commands <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>tic</STRONG> - the <EM>terminfo</EM> entry-description compiler + <STRONG>tic</STRONG> - compile terminal descriptions for <EM>terminfo</EM> or <EM>termcap</EM> </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> - <STRONG>tic</STRONG> [<STRONG>-01CDGIKLNTUVWacfgqrstx</STRONG>] [<STRONG>-e</STRONG> <EM>names</EM>] [<STRONG>-o</STRONG> <EM>dir</EM>] [<STRONG>-Q</STRONG>[<EM>n</EM>]] [<STRONG>-R</STRONG> <EM>subset</EM>] - [<STRONG>-v</STRONG>[<EM>n</EM>]] [<STRONG>-w</STRONG>[<EM>n</EM>]] <EM>file</EM> + <STRONG>tic</STRONG> [<STRONG>-01acCDfgGIKLNqrstTUVWx</STRONG>] [<STRONG>-e</STRONG> <EM>terminal-type-list</EM>] [<STRONG>-o</STRONG> <EM>dir</EM>] [<STRONG>-Q</STRONG>[<EM>n</EM>]] + [<STRONG>-R</STRONG> <EM>subset</EM>] [<STRONG>-v</STRONG>[<EM>n</EM>]] [<STRONG>-w</STRONG>[<EM>n</EM>]] <EM>file</EM> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> @@ -84,30 +84,33 @@ in a different terminfo database. There are two ways to achieve this: <STRONG>o</STRONG> First, you may override the system default either by using the <STRONG>-o</STRONG> - option, or by setting the variable <STRONG>TERMINFO</STRONG> in your shell + option, or by setting the variable <EM>TERMINFO</EM> in your shell environment to a valid database location. <STRONG>o</STRONG> Secondly, if <STRONG>tic</STRONG> cannot write in <EM>/usr/share/terminfo</EM> or the - location specified using your TERMINFO variable, it looks for the + location specified using your <EM>TERMINFO</EM> variable, it looks for the directory <EM>$HOME/.terminfo</EM> (or hashed database <EM>$HOME/.terminfo.db)</EM>; if that location exists, the entry is placed there. Libraries that read terminfo entries are expected to check in succession - <STRONG>o</STRONG> a location specified with the TERMINFO environment variable, + <STRONG>o</STRONG> a location specified with the <EM>TERMINFO</EM> environment variable, <STRONG>o</STRONG> <EM>$HOME/.terminfo</EM>, - <STRONG>o</STRONG> directories listed in the TERMINFO_DIRS environment variable, + <STRONG>o</STRONG> directories listed in the <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> environment variable, - <STRONG>o</STRONG> a compiled-in list of directories (no default value), and + <STRONG>o</STRONG> a compiled-in list of directories (/usr/share/terminfo), and <STRONG>o</STRONG> the system terminfo database (<EM>/usr/share/terminfo</EM>). + The <EM>Fetching</EM> <EM>Compiled</EM> <EM>Descriptions</EM> section in the <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> manual + goes into further detail. + -</PRE><H3><a name="h3-ALIASES">ALIASES</a></H3><PRE> - This is the same program as infotocap and captoinfo; usually those are +</PRE><H3><a name="h3-Aliases">Aliases</a></H3><PRE> + This is the same program as infotocap and captoinfo; usually those are linked to, or copied from this program: <STRONG>o</STRONG> When invoked as infotocap, tic sets the <STRONG>-I</STRONG> option. @@ -115,101 +118,101 @@ <STRONG>o</STRONG> When invoked as captoinfo, tic sets the <STRONG>-C</STRONG> option. -</PRE><H3><a name="h3-OPTIONS">OPTIONS</a></H3><PRE> +</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE> <STRONG>-0</STRONG> restricts the output to a single line <STRONG>-1</STRONG> restricts the output to a single column - <STRONG>-a</STRONG> tells <STRONG>tic</STRONG> to retain commented-out capabilities rather than - discarding them. Capabilities are commented by prefixing them - with a period. This sets the <STRONG>-x</STRONG> option, because it treats the - commented-out entries as user-defined names. If the source is - termcap, accept the 2-character names required by version 6. + <STRONG>-a</STRONG> tells <STRONG>tic</STRONG> to retain commented-out capabilities rather than + discarding them. Capabilities are commented by prefixing them + with a period. This sets the <STRONG>-x</STRONG> option, because it treats the + commented-out entries as user-defined names. If the source is + termcap, accept the 2-character names required by version 6. Otherwise these are ignored. - <STRONG>-C</STRONG> Force source translation to termcap format. Note: this differs - from the <STRONG>-C</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> in that it does not merely + <STRONG>-C</STRONG> Force source translation to termcap format. Note: this differs + from the <STRONG>-C</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> in that it does not merely translate capability names, but also translates terminfo strings - to termcap format. Capabilities that are not translatable are - left in the entry under their terminfo names but commented out - with two preceding dots. The actual format used incorporates - some improvements for escaped characters from terminfo format. + to termcap format. Capabilities that are not translatable are + left in the entry under their terminfo names but commented out + with two preceding dots. The actual format used incorporates + some improvements for escaped characters from terminfo format. For a stricter BSD-compatible translation, add the <STRONG>-K</STRONG> option. - If this is combined with <STRONG>-c</STRONG>, <STRONG>tic</STRONG> makes additional checks to - report cases where the terminfo values do not have an exact + If this is combined with <STRONG>-c</STRONG>, <STRONG>tic</STRONG> makes additional checks to + report cases where the terminfo values do not have an exact equivalent in termcap form. For example: - <STRONG>o</STRONG> <STRONG>sgr</STRONG> usually will not convert, because termcap lacks the - ability to work with more than two parameters, and because - termcap lacks many of the arithmetic/logical operators used + <STRONG>o</STRONG> <STRONG>sgr</STRONG> usually will not convert, because termcap lacks the + ability to work with more than two parameters, and because + termcap lacks many of the arithmetic/logical operators used in terminfo. - <STRONG>o</STRONG> capabilities with more than one delay or with delays before + <STRONG>o</STRONG> capabilities with more than one delay or with delays before the end of the string will not convert completely. - <STRONG>-c</STRONG> tells <STRONG>tic</STRONG> to only check <EM>file</EM> for errors, including syntax - problems and bad use-links. If you specify <STRONG>-C</STRONG> (<STRONG>-I</STRONG>) with this - option, the code will print warnings about entries which, after - use resolution, are more than 1023 (4096) bytes long. Due to a + <STRONG>-c</STRONG> tells <STRONG>tic</STRONG> to only check <EM>file</EM> for errors, including syntax + problems and bad use-links. If you specify <STRONG>-C</STRONG> (<STRONG>-I</STRONG>) with this + option, the code will print warnings about entries which, after + use resolution, are more than 1023 (4096) bytes long. Due to a fixed buffer length in older termcap libraries, as well as buggy - checking for the buffer length (and a documented limit in + checking for the buffer length (and a documented limit in terminfo), these entries may cause core dumps with other implementations. <STRONG>tic</STRONG> checks string capabilities to ensure that those with - parameters will be valid expressions. It does this check only - for the predefined string capabilities; those which are defined + parameters will be valid expressions. It does this check only + for the predefined string capabilities; those which are defined with the <STRONG>-x</STRONG> option are ignored. - <STRONG>-D</STRONG> tells <STRONG>tic</STRONG> to print the database locations that it knows about, + <STRONG>-D</STRONG> tells <STRONG>tic</STRONG> to print the database locations that it knows about, and exit. The first location shown is the one to which it would - write compiled terminal descriptions. If <STRONG>tic</STRONG> is not able to + write compiled terminal descriptions. If <STRONG>tic</STRONG> is not able to find a writable database location according to the rules - summarized above, it will print a diagnostic and exit with an + summarized above, it will print a diagnostic and exit with an error rather than printing a list of database locations. - <STRONG>-e</STRONG> <EM>names</EM> - Limit writes and translations to the following comma-separated - list of terminals. If any name or alias of a terminal matches - one of the names in the list, the entry will be written or + <STRONG>-e</STRONG> <EM>list</EM> + Limit writes and translations to the comma-separated <EM>list</EM> of + terminal types. If any name or alias of a terminal matches one + of the names in the list, the entry will be written or translated as normal. Otherwise no output will be generated for - it. The option value is interpreted as a file containing the - list if it contains a '/'. (Note: depending on how tic was + it. The option value is interpreted as a file containing the + list if it contains a '/'. (Note: depending on how tic was compiled, this option may require <STRONG>-I</STRONG> or <STRONG>-C</STRONG>.) - <STRONG>-f</STRONG> Display complex terminfo strings which contain + <STRONG>-f</STRONG> Display complex terminfo strings which contain if/then/else/endif expressions indented for readability. - <STRONG>-G</STRONG> Display constant literals in decimal form rather than their + <STRONG>-G</STRONG> Display constant literals in decimal form rather than their character equivalents. - <STRONG>-g</STRONG> Display constant character literals in quoted form rather than + <STRONG>-g</STRONG> Display constant character literals in quoted form rather than their decimal equivalents. <STRONG>-I</STRONG> Force source translation to terminfo format. - <STRONG>-K</STRONG> Suppress some longstanding ncurses extensions to termcap format, + <STRONG>-K</STRONG> Suppress some longstanding <EM>ncurses</EM> extensions to termcap format, e.g., "\s" for space. - <STRONG>-L</STRONG> Force source translation to terminfo format using the long C + <STRONG>-L</STRONG> Force source translation to terminfo format using the long C variable names listed in <<STRONG>term.h</STRONG>> <STRONG>-N</STRONG> Disable smart defaults. Normally, when translating from termcap - to terminfo, the compiler makes a number of assumptions about - the defaults of string capabilities <STRONG>reset1_string</STRONG>, - <STRONG>carriage_return</STRONG>, <STRONG>cursor_left</STRONG>, <STRONG>cursor_down</STRONG>, <STRONG>scroll_forward</STRONG>, <STRONG>tab</STRONG>, + to terminfo, the compiler makes a number of assumptions about + the defaults of string capabilities <STRONG>reset1_string</STRONG>, + <STRONG>carriage_return</STRONG>, <STRONG>cursor_left</STRONG>, <STRONG>cursor_down</STRONG>, <STRONG>scroll_forward</STRONG>, <STRONG>tab</STRONG>, <STRONG>newline</STRONG>, <STRONG>key_backspace</STRONG>, <STRONG>key_left</STRONG>, and <STRONG>key_down</STRONG>, then attempts to - use obsolete termcap capabilities to deduce correct values. It + use obsolete termcap capabilities to deduce correct values. It also normally suppresses output of obsolete termcap capabilities - such as <STRONG>bs</STRONG>. This option forces a more literal translation that + such as <STRONG>bs</STRONG>. This option forces a more literal translation that also preserves the obsolete capabilities. - <STRONG>-o</STRONG><EM>dir</EM> Write compiled entries to given database location. Overrides - the TERMINFO environment variable. + <STRONG>-o</STRONG><EM>dir</EM> Write compiled entries to given database location. Overrides + the <EM>TERMINFO</EM> environment variable. - <STRONG>-Q</STRONG><EM>n</EM> Rather than show source in terminfo (text) format, print the - compiled (binary) format in hexadecimal or base64 form, + <STRONG>-Q</STRONG><EM>n</EM> Rather than show source in terminfo (text) format, print the + compiled (binary) format in hexadecimal or base64 form, depending on the option's value: 1 hexadecimal @@ -222,194 +225,135 @@ source. <STRONG>-R</STRONG><EM>subset</EM> - Restrict output to a given subset. This option is for use with - archaic versions of terminfo like those on SVr1, Ultrix, or - HP/UX that do not support the full set of SVR4/XSI Curses - terminfo; and outright broken ports like AIX 3.x that have their - own extensions incompatible with SVr4/XSI. Available subsets - are "SVr1", "Ultrix", "HP", "BSD" and "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for - details. - - <STRONG>-r</STRONG> Force entry resolution (so there are no remaining tc - capabilities) even when doing translation to termcap format. - This may be needed if you are preparing a termcap file for a - termcap library (such as GNU termcap through version 1.3 or BSD + Restrict output to a given subset. This option is for use with + archaic versions of terminfo like those on SVr1, Ultrix, or HP- + UX that do not support the full set of SVR4/XSI Curses terminfo; + and outright broken ports like AIX 3.x that have their own + extensions incompatible with SVr4/XSI. + + Available subsets are + "SVr1", "Ultrix", "HP", "BSD", and "AIX" + + See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details. + + <STRONG>-r</STRONG> Force entry resolution (so there are no remaining tc + capabilities) even when doing translation to termcap format. + This may be needed if you are preparing a termcap file for a + termcap library (such as GNU termcap through version 1.3 or BSD termcap through 4.3BSD) that does not handle multiple tc capabilities per entry. - <STRONG>-s</STRONG> Summarize the compile by showing the database location into - which entries are written, and the number of entries which are + <STRONG>-s</STRONG> Summarize the compile by showing the database location into + which entries are written, and the number of entries which are compiled. - <STRONG>-T</STRONG> eliminates size-restrictions on the generated text. This is - mainly useful for testing and analysis, since the compiled - descriptions are limited (e.g., 1023 for termcap, 4096 for + <STRONG>-T</STRONG> eliminates size-restrictions on the generated text. This is + mainly useful for testing and analysis, since the compiled + descriptions are limited (e.g., 1023 for termcap, 4096 for terminfo). - <STRONG>-t</STRONG> tells <STRONG>tic</STRONG> to discard commented-out capabilities. Normally when - translating from terminfo to termcap, untranslatable + <STRONG>-t</STRONG> tells <STRONG>tic</STRONG> to discard commented-out capabilities. Normally when + translating from terminfo to termcap, untranslatable capabilities are commented-out. - <STRONG>-U</STRONG> tells <STRONG>tic</STRONG> to not post-process the data after parsing the source - file. Normally, it infers data which is commonly missing in older - terminfo data, or in termcaps. + <STRONG>-U</STRONG> tells <STRONG>tic</STRONG> to not post-process the data after parsing the source + file. Normally, it infers data which is commonly missing in + older terminfo data, or in termcaps. + + <STRONG>-V</STRONG> reports the version of <EM>ncurses</EM> which was used in this program, + and exits. - <STRONG>-V</STRONG> reports the version of ncurses which was used in this program, and - exits. + <STRONG>-v</STRONG><EM>n</EM> specifies that (verbose) output be written to standard error + trace information showing <STRONG>tic</STRONG>'s progress. - <STRONG>-v</STRONG><EM>n</EM> specifies that (verbose) output be written to standard error trace - information showing <STRONG>tic</STRONG>'s progress. + The optional parameter <EM>n</EM> is a number from 1 to 9, inclusive, + indicating the desired level of detail of information. - The optional parameter <EM>n</EM> is a number from 1 to 10, inclusive, - indicating the desired level of detail of information. If ncurses - is built without tracing support, the optional parameter is - ignored. If <EM>n</EM> is omitted, the default level is 1. If <EM>n</EM> is - specified and greater than 1, the level of detail is increased. + <STRONG>o</STRONG> If <EM>ncurses</EM> is built without tracing support, the optional + parameter is ignored. - The debug flag levels are as follows: + <STRONG>o</STRONG> If <EM>n</EM> is omitted, the default level is 1. - 1 Names of files created and linked + <STRONG>o</STRONG> If <EM>n</EM> is specified and greater than 1, the level of detail is + increased, and the output is written (with tracing + information) to the "trace" file. - 2 Information related to the "use" facility + The debug flag levels are as follows: - 3 Statistics from the hashing algorithm + 1 Names of files created and linked - 5 String-table memory allocations + 2 Information related to the "use" facility - 7 Entries into the string-table + 3 Statistics from the hashing algorithm - 8 List of tokens encountered by scanner + 4 Details of extended capabilities - 9 All values computed in construction of the hash table + 5 (unused) - If the debug level <EM>n</EM> is not given, it is taken to be one. + 6 (unused) - <STRONG>-W</STRONG> By itself, the <STRONG>-w</STRONG> option will not force long strings to be - wrapped. Use the <STRONG>-W</STRONG> option to do this. + 7 Entries into the string-table - If you specify both <STRONG>-f</STRONG> and <STRONG>-W</STRONG> options, the latter is ignored when - <STRONG>-f</STRONG> has already split the line. + 8 List of tokens encountered by scanner - <STRONG>-w</STRONG><EM>n</EM> specifies the width of the output. The parameter is optional. If - it is omitted, it defaults to 60. + 9 All values computed in construction of the hash table - <STRONG>-x</STRONG> Treat unknown capabilities as user-defined (see <STRONG>user_caps(5)</STRONG>). - That is, if you supply a capability name which <STRONG>tic</STRONG> does not - recognize, it will infer its type (boolean, number or string) from - the syntax and make an extended table entry for that. User- - defined capability strings whose name begins with "k" are treated - as function keys. + <STRONG>-W</STRONG> By itself, the <STRONG>-w</STRONG> option will not force long strings to be + wrapped. Use the <STRONG>-W</STRONG> option to do this. + If you specify both <STRONG>-f</STRONG> and <STRONG>-W</STRONG> options, the latter is ignored + when <STRONG>-f</STRONG> has already split the line. -</PRE><H3><a name="h3-PARAMETERS">PARAMETERS</a></H3><PRE> - <EM>file</EM> contains one or more <STRONG>terminfo</STRONG> terminal descriptions in source - format [see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>]. Each description in the file + <STRONG>-w</STRONG><EM>n</EM> specifies the width of the output. The parameter is optional. + If it is omitted, it defaults to 60. + + <STRONG>-x</STRONG> Treat unknown capabilities as user-defined (see <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>). + That is, if you supply a capability name which <STRONG>tic</STRONG> does not + recognize, it will infer its type (Boolean, number or string) + from the syntax and make an extended table entry for that. + User-defined capability strings whose name begins with "k" are + treated as function keys. + + +</PRE><H3><a name="h3-Parameters">Parameters</a></H3><PRE> + <EM>file</EM> contains one or more <STRONG>terminfo</STRONG> terminal descriptions in source + format [see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>]. Each description in the file describes the capabilities of a particular terminal. - If <EM>file</EM> is "-", then the data is read from the standard input. + If <EM>file</EM> is "-", then the data is read from the standard input. The <EM>file</EM> parameter may also be the path of a character-device. -</PRE><H3><a name="h3-PROCESSING">PROCESSING</a></H3><PRE> - All but one of the capabilities recognized by <STRONG>tic</STRONG> are documented in +</PRE><H3><a name="h3-Processing">Processing</a></H3><PRE> + All but one of the capabilities recognized by <STRONG>tic</STRONG> are documented in <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. The exception is the <STRONG>use</STRONG> capability. When a <STRONG>use</STRONG>=<EM>entry</EM>-<EM>name</EM> field is discovered in a terminal entry currently - being compiled, <STRONG>tic</STRONG> reads in the binary from <STRONG>/usr/share/terminfo</STRONG> to - complete the entry. (Entries created from <EM>file</EM> will be used first. - <STRONG>tic</STRONG> duplicates the capabilities in <EM>entry</EM>-<EM>name</EM> for the current entry, + being compiled, <STRONG>tic</STRONG> reads in the binary from <STRONG>/usr/share/terminfo</STRONG> to + complete the entry. (Entries created from <EM>file</EM> will be used first. + <STRONG>tic</STRONG> duplicates the capabilities in <EM>entry</EM>-<EM>name</EM> for the current entry, with the exception of those capabilities that explicitly are defined in the current entry. - When an entry, e.g., <STRONG>entry_name_1</STRONG>, contains a <STRONG>use=</STRONG><EM>entry</EM>_<EM>name</EM>_<EM>2</EM> field, - any canceled capabilities in <EM>entry</EM>_<EM>name</EM>_<EM>2</EM> must also appear in - <STRONG>entry_name_1</STRONG> before <STRONG>use=</STRONG> for these capabilities to be canceled in + When an entry, e.g., <STRONG>entry_name_1</STRONG>, contains a <STRONG>use=</STRONG><EM>entry</EM>_<EM>name</EM>_<EM>2</EM> field, + any canceled capabilities in <EM>entry</EM>_<EM>name</EM>_<EM>2</EM> must also appear in + <STRONG>entry_name_1</STRONG> before <STRONG>use=</STRONG> for these capabilities to be canceled in <STRONG>entry_name_1</STRONG>. - Total compiled entries cannot exceed 4096 bytes. The name field cannot - exceed 512 bytes. Terminal names exceeding the maximum alias length - (32 characters on systems with long filenames, 14 characters otherwise) - will be truncated to the maximum alias length and a warning message - will be printed. - - -</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE> - System V Release 2 provided a <STRONG>tic</STRONG> utility. It accepted a single - option: <STRONG>-v</STRONG> (optionally followed by a number). According to Ross - Ridge's comment in <EM>mytinfo</EM>, this version of <STRONG>tic</STRONG> was unable to represent - cancelled capabilities. - - System V Release 3 provided a different <STRONG>tic</STRONG> utility, written by Pavel - Curtis, (originally named "compile" in <EM>pcurses</EM>). This added an option - <STRONG>-c</STRONG> to check the file for errors, with the caveat that errors in "use=" - links would not be reported. System V Release 3 documented a few - warning messages which did not appear in <EM>pcurses</EM>. While the program - itself was changed little as development continued with System V - Release 4, the table of capabilities grew from 180 (<EM>pcurses</EM>) to 464 - (Solaris). - - In early development of ncurses (1993), Zeyd Ben-Halim used the table - from <EM>mytinfo</EM> to extend the <EM>pcurses</EM> table to 469 capabilities (456 - matched SVr4, 8 were only in SVr4, 13 were not in SVr4). Of those 13, - 11 were ultimately discarded (perhaps to match the draft of X/Open - Curses). The exceptions were <STRONG>memory_lock_above</STRONG> and <STRONG>memory_unlock</STRONG> (see - <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>). - - Eric Raymond incorporated parts of <EM>mytinfo</EM> into ncurses to implement - the termcap-to-terminfo source conversion, and extended that to begin - development of the corresponding terminfo-to-termcap source conversion, - Thomas Dickey completed that development over the course of several - years. - - In 1999, Thomas Dickey added the <STRONG>-x</STRONG> option to support user-defined - capabilities. - - In 2010, Roy Marples provided a <STRONG>tic</STRONG> program and terminfo library for - NetBSD. That implementation adapts several features from ncurses, - including <STRONG>tic</STRONG>'s <STRONG>-x</STRONG> option. - - The <STRONG>-c</STRONG> option tells <STRONG>tic</STRONG> to check for problems in the terminfo source - file. Continued development provides additional checks: - - <STRONG>o</STRONG> <EM>pcurses</EM> had 8 warnings - - <STRONG>o</STRONG> ncurses in 1996 had 16 warnings - - <STRONG>o</STRONG> Solaris (SVr4) curses has 28 warnings - - <STRONG>o</STRONG> NetBSD tic in 2019 has 19 warnings. - - <STRONG>o</STRONG> ncurses in 2019 has 96 warnings - - The checking done in ncurses' <STRONG>tic</STRONG> helps with the conversion to termcap, - as well as pointing out errors and inconsistencies. It is also used to - ensure consistency with the user-defined capabilities. There are 527 - distinct capabilities in ncurses' terminal database; 128 of those are - user-defined. + Total compiled entries cannot exceed 4096 bytes in the legacy storage + format, or 32768 using the extended number format. The name field + cannot exceed 512 bytes. Terminal names exceeding the maximum alias + length (32 characters on systems with long filenames, 14 characters + otherwise) will be truncated to the maximum alias length and a warning + message will be printed. -</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - X/Open Curses, Issue 7 (2009) provides a brief description of <STRONG>tic</STRONG>. It - lists one option: <STRONG>-c</STRONG>. The omission of <STRONG>-v</STRONG> is unexpected. The change - history states that the description is derived from True64 UNIX. - According to its manual pages, that system also supported the <STRONG>-v</STRONG> - option. - - Shortly after Issue 7 was released, Tru64 was discontinued. As of - 2019, the surviving implementations of <STRONG>tic</STRONG> are SVr4 (AIX, HP-UX and - Solaris), ncurses and NetBSD curses. The SVr4 <STRONG>tic</STRONG> programs all support - the <STRONG>-v</STRONG> option. The NetBSD <STRONG>tic</STRONG> program follows X/Open's documentation, - omitting the <STRONG>-v</STRONG> option. - - The X/Open rationale states that some implementations of <STRONG>tic</STRONG> read - terminal descriptions from the standard input if the <EM>file</EM> parameter is - omitted. None of these implementations do that. Further, it comments - that some may choose to read from "./terminfo.src" but that is - obsolescent behavior from SVr2, and is not (for example) a documented - feature of SVr3. +</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE> + <EM>/usr/share/terminfo</EM> + compiled terminal description database -</PRE><H3><a name="h3-COMPATIBILITY">COMPATIBILITY</a></H3><PRE> +</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> There is some evidence that historic <STRONG>tic</STRONG> implementations treated description fields with no whitespace in them as additional aliases or short names. This <STRONG>tic</STRONG> does not do that, but it does warn when @@ -417,7 +361,7 @@ characters. -</PRE><H3><a name="h3-EXTENSIONS">EXTENSIONS</a></H3><PRE> +</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE> Unlike the SVr4 <STRONG>tic</STRONG> command, this implementation can actually compile termcap sources. In fact, entries in terminfo and termcap syntax can be mixed in a single source file. See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for the list of @@ -426,7 +370,7 @@ The SVr4 manual pages are not clear on the resolution rules for <STRONG>use</STRONG> capabilities. This implementation of <STRONG>tic</STRONG> will find <STRONG>use</STRONG> targets anywhere in the source file, or anywhere in the file tree rooted at - <STRONG>TERMINFO</STRONG> (if <STRONG>TERMINFO</STRONG> is defined), or in the user's <EM>$HOME/.terminfo</EM> + <EM>TERMINFO</EM> (if <EM>TERMINFO</EM> is defined), or in the user's <EM>$HOME/.terminfo</EM> database (if it exists), or (finally) anywhere in the system's file tree of compiled entries. @@ -439,7 +383,7 @@ <STRONG>-0</STRONG> <STRONG>-1</STRONG> <STRONG>-C</STRONG> <STRONG>-G</STRONG> <STRONG>-I</STRONG> <STRONG>-N</STRONG> <STRONG>-R</STRONG> <STRONG>-T</STRONG> <STRONG>-V</STRONG> <STRONG>-a</STRONG> <STRONG>-e</STRONG> <STRONG>-f</STRONG> <STRONG>-g</STRONG> <STRONG>-o</STRONG> <STRONG>-r</STRONG> <STRONG>-s</STRONG> <STRONG>-t</STRONG> <STRONG>-x</STRONG> - <STRONG>o</STRONG> The NetBSD <STRONG>tic</STRONG> supports a few of the ncurses options + <STRONG>o</STRONG> The NetBSD <STRONG>tic</STRONG> supports a few of the <EM>ncurses</EM> options <STRONG>-a</STRONG> <STRONG>-o</STRONG> <STRONG>-x</STRONG> @@ -449,28 +393,96 @@ The SVr4 <STRONG>-c</STRONG> mode does not report bad "use=" links. System V does not compile entries to or read entries from your - <EM>$HOME/.terminfo</EM> database unless TERMINFO is explicitly set to it. + <EM>$HOME/.terminfo</EM> database unless <EM>TERMINFO</EM> is explicitly set to it. -</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE> - <STRONG>/usr/share/terminfo/?/*</STRONG> - Compiled terminal description database. +</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> + X/Open Curses, Issue 7 (2009) provides a brief description of <STRONG>tic</STRONG>. It + lists one option: <STRONG>-c</STRONG>. The omission of <STRONG>-v</STRONG> is unexpected. The change + history states that the description is derived from Tru64. According + to its manual pages, that system also supported the <STRONG>-v</STRONG> option. + Shortly after Issue 7 was released, Tru64 was discontinued. As of + 2019, the surviving implementations of <STRONG>tic</STRONG> are SVr4 (AIX, HP-UX and + Solaris), <EM>ncurses</EM> and NetBSD curses. The SVr4 <STRONG>tic</STRONG> programs all support + the <STRONG>-v</STRONG> option. The NetBSD <STRONG>tic</STRONG> program follows X/Open's documentation, + omitting the <STRONG>-v</STRONG> option. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, - <STRONG><A HREF="term.5.html">term(5)</A></STRONG>. <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>. + The X/Open rationale states that some implementations of <STRONG>tic</STRONG> read + terminal descriptions from the standard input if the <EM>file</EM> parameter is + omitted. None of these implementations do that. Further, it comments + that some may choose to read from "./terminfo.src" but that is + obsolescent behavior from SVr2, and is not (for example) a documented + feature of SVr3. + + +</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE> + System V Release 2 provided a <STRONG>tic</STRONG> utility. It accepted a single + option: <STRONG>-v</STRONG> (optionally followed by a number). According to Ross + Ridge's comment in <EM>mytinfo</EM>, this version of <STRONG>tic</STRONG> was unable to represent + cancelled capabilities. - This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109). + System V Release 3 provided a different <STRONG>tic</STRONG> utility, written by Pavel + Curtis, (originally named "compile" in <EM>pcurses</EM>). This added an option + <STRONG>-c</STRONG> to check the file for errors, with the caveat that errors in "use=" + links would not be reported. System V Release 3 documented a few + warning messages which did not appear in <EM>pcurses</EM>. While the program + itself was changed little as development continued with System V + Release 4, the table of capabilities grew from 180 (<EM>pcurses</EM>) to 464 + (Solaris). + In early development of <EM>ncurses</EM> (1993), Zeyd Ben-Halim used the table + from <EM>mytinfo</EM> to extend the <EM>pcurses</EM> table to 469 capabilities (456 + matched SVr4, 8 were only in SVr4, 13 were not in SVr4). Of those 13, + 11 were ultimately discarded (perhaps to match the draft of X/Open + Curses). The exceptions were <STRONG>memory_lock_above</STRONG> and <STRONG>memory_unlock</STRONG> (see + <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>). -</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE> + Eric Raymond incorporated parts of <EM>mytinfo</EM> into <EM>ncurses</EM> to implement + the termcap-to-terminfo source conversion, and extended that to begin + development of the corresponding terminfo-to-termcap source conversion, + Thomas Dickey completed that development over the course of several + years. + + In 1999, Thomas Dickey added the <STRONG>-x</STRONG> option to support user-defined + capabilities. + + In 2010, Roy Marples provided a <STRONG>tic</STRONG> program and terminfo library for + NetBSD. That implementation adapts several features from <EM>ncurses</EM>, + including <STRONG>tic</STRONG>'s <STRONG>-x</STRONG> option. + + The <STRONG>-c</STRONG> option tells <STRONG>tic</STRONG> to check for problems in the terminfo source + file. Continued development provides additional checks: + + <STRONG>o</STRONG> <EM>pcurses</EM> had 8 warnings + + <STRONG>o</STRONG> <EM>ncurses</EM> in 1996 had 16 warnings + + <STRONG>o</STRONG> Solaris (SVr4) curses has 28 warnings + + <STRONG>o</STRONG> NetBSD tic in 2019 has 19 warnings. + + <STRONG>o</STRONG> <EM>ncurses</EM> in 2019 has 96 warnings + + The checking done in <EM>ncurses</EM>' <STRONG>tic</STRONG> helps with the conversion to termcap, + as well as pointing out errors and inconsistencies. It is also used to + ensure consistency with the user-defined capabilities. There are 527 + distinct capabilities in <EM>ncurses</EM>' terminal database; 128 of those are + user-defined. + + +</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE> Eric S. Raymond <esr@snark.thyrsus.com> and Thomas E. Dickey <dickey@invisible-island.net> +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, + <STRONG><A HREF="term.5.html">term(5)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> + + - <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> +ncurses 6.5 2024-04-27 <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -478,22 +490,22 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a> <ul> -<li><a href="#h3-ALIASES">ALIASES</a></li> -<li><a href="#h3-OPTIONS">OPTIONS</a></li> -<li><a href="#h3-PARAMETERS">PARAMETERS</a></li> -<li><a href="#h3-PROCESSING">PROCESSING</a></li> +<li><a href="#h3-Aliases">Aliases</a></li> </ul> </li> -<li><a href="#h2-HISTORY">HISTORY</a></li> -<li><a href="#h2-PORTABILITY">PORTABILITY</a> +<li><a href="#h2-OPTIONS">OPTIONS</a> <ul> -<li><a href="#h3-COMPATIBILITY">COMPATIBILITY</a></li> -<li><a href="#h3-EXTENSIONS">EXTENSIONS</a></li> +<li><a href="#h3-Parameters">Parameters</a></li> +<li><a href="#h3-Processing">Processing</a></li> </ul> </li> <li><a href="#h2-FILES">FILES</a></li> +<li><a href="#h2-NOTES">NOTES</a></li> +<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li> +<li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-HISTORY">HISTORY</a></li> +<li><a href="#h2-AUTHORS">AUTHORS</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-AUTHOR">AUTHOR</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/toe.1m.html b/doc/html/man/toe.1m.html index aa8d8b0edb10..c3aca2c592fd 100644 --- a/doc/html/man/toe.1m.html +++ b/doc/html/man/toe.1m.html @@ -1,6 +1,7 @@ -<!-- +<!-- + * t **************************************************************************** - * Copyright 2019,2020 Thomas E. Dickey * + * Copyright 2019-2023,2024 Thomas E. Dickey * * Copyright 1998-2015,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,132 +28,108 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: toe.1m,v 1.33 2020/12/19 21:52:09 tom Exp @ + * @Id: toe.1m,v 1.68 2024/04/20 18:59:26 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>toe 1m</TITLE> +<TITLE>toe 1m 2024-04-20 ncurses 6.5 User commands</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">toe 1m</H1> +<H1 class="no-header">toe 1m 2024-04-20 ncurses 6.5 User commands</H1> <PRE> -<STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> +<STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> User commands <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>toe</STRONG> - table of (terminfo) entries + <STRONG>toe</STRONG> - list table of entries of <EM>terminfo</EM> terminal types </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> - <STRONG>toe</STRONG> [<STRONG>-v</STRONG>[<EM>n</EM>]] [<STRONG>-ahsuUV</STRONG>] <EM>file...</EM> + <STRONG>toe</STRONG> [<STRONG>-ahs</STRONG>] [<STRONG>-v</STRONG> [<EM>n</EM>]] [<EM>directory</EM> ...] + + <STRONG>toe</STRONG> [<STRONG>-u</STRONG>|<STRONG>-U</STRONG>] <EM>file</EM> + + <STRONG>toe</STRONG> <STRONG>-V</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - With no options, <STRONG>toe</STRONG> lists all available terminal types by primary name - with descriptions. File arguments specify the directories to be - scanned; if no such arguments are given, your default terminfo - directory is scanned. If you also specify the <STRONG>-h</STRONG> option, a directory - header will be issued as each directory is entered. + <STRONG>toe</STRONG> reports to the standard output stream the (primary) names and + descriptions of the terminal types available to the <EM>terminfo</EM> library. + Each <EM>directory</EM> is scanned; if none are given, <STRONG>toe</STRONG> scans the default + <EM>terminfo</EM> directory. - There are other options intended for use by terminfo file maintainers: - <STRONG>-a</STRONG> report on all of the terminal databases which ncurses would - search, rather than only the first one that it finds. +</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE> + The <STRONG>-h</STRONG> option can be helpful to observe where <STRONG>toe</STRONG> is looking for + terminal descriptions. Other options support maintainers of <EM>terminfo</EM> + terminal descriptions. - If the <STRONG>-s</STRONG> is also given, <STRONG>toe</STRONG> adds a column to the report, - showing (like <STRONG>conflict(1)</STRONG>) which entries which belong to a given - terminal database. An "*" marks entries which differ, and "+" - marks equivalent entries. + <STRONG>-a</STRONG> lists entries from all terminal database directories that + <EM>terminfo</EM> would search, instead of only the first that it + finds. - Without the <STRONG>-s</STRONG> option, <STRONG>toe</STRONG> does not attempt to merge duplicates - in its report + If <STRONG>-s</STRONG> is also given, <STRONG>toe</STRONG> additionally reports, like + <STRONG>conflict(1)</STRONG>, which entries correspond to a given terminal + database. An "*" marks entries that differ, and "+" marks + equivalent entries. - <STRONG>-s</STRONG> sort the output by the entry names. + Without the <STRONG>-s</STRONG> option, <STRONG>toe</STRONG> does not attempt to merge + duplicates in its report. - <STRONG>-u</STRONG> <EM>file</EM> - says to write a report to the standard output, listing - dependencies in the given terminfo/termcap source file. The - report condenses the "use" relation: each line consists of the - primary name of a terminal that has use capabilities, followed - by a colon, followed by the whitespace-separated primary names - of all terminals which occur in those use capabilities, followed - by a newline + <STRONG>-h</STRONG> writes a heading naming each each directory as it is accessed. - <STRONG>-U</STRONG> <EM>file</EM> - says to write a report to the standard output, listing reverse - dependencies in the given terminfo/termcap source file. The - report reverses the "use" relation: each line consists of the - primary name of a terminal that occurs in use capabilities, - followed by a colon, followed by the whitespace-separated - primary names of all terminals which depend on it, followed by a - newline. + <STRONG>-s</STRONG> sorts the output by the entry names. - <STRONG>-v</STRONG><EM>n</EM> specifies that (verbose) output be written to standard error, - showing <STRONG>toe</STRONG>'s progress. + <STRONG>-u</STRONG> <EM>file</EM> lists terminal type dependencies in <EM>file</EM>, a <EM>terminfo</EM> entry + source or <EM>termcap</EM> database file. The report summarizes the + "<STRONG>use</STRONG>" (<EM>terminfo</EM>) and <STRONG>tc</STRONG> (<EM>termcap</EM>) relations: each line + comprises the primary name of a terminal type employing <STRONG>use</STRONG>/<STRONG>tc</STRONG> + capabilities, a colon, a space- and tab-separated list of + primary names of terminal types thus named, and a newline. - The optional parameter <EM>n</EM> is a number from 1 to 10, interpreted - as for <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>. If ncurses is built without tracing support, - the optional parameter is ignored. + <STRONG>-U</STRONG> <EM>file</EM> lists terminal type reverse dependencies in <EM>file</EM>, a <EM>terminfo</EM> + entry source or <EM>termcap</EM> database file. The report summarizes + the "<STRONG>use</STRONG>" (<EM>terminfo</EM>) and <STRONG>tc</STRONG> (<EM>termcap</EM>) reverse relations: each + line comprises the primary name of a terminal type occurring + in <STRONG>use</STRONG>/<STRONG>tc</STRONG> capabilities, a colon, a space- and tab-separated + list of primary names of terminal types naming them thus, and + a newline. - <STRONG>-V</STRONG> reports the version of ncurses which was used in this program, - and exits. + <STRONG>-v</STRONG> [<EM>n</EM>] reports verbose status information to the standard error + stream, showing <STRONG>toe</STRONG>'s progress. + The optional parameter <EM>n</EM> is an integer between 1 and 10 + inclusive, interpreted as for <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>. If <EM>ncurses</EM> is built + without tracing support, <EM>n</EM> is ignored. -</PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE> - Without sorting, the <STRONG>-a</STRONG> option reports all of the names found in all of - the terminal databases found by the <STRONG>TERMINFO</STRONG> and <STRONG>TERMINFO_DIRS</STRONG> - environment variables: - - MtxOrb162 16x2 Matrix Orbital LCD display - MtxOrb204 20x4 Matrix Orbital LCD display - MtxOrb Generic Matrix Orbital LCD display - qvt101+ qume qvt 101 PLUS product - qvt119+-25 QVT 119 PLUS with 25 data lines - qansi-g QNX ANSI - qvt103 qume qvt 103 - qnxw QNX4 windows - qansi-w QNX ansi for windows - qnxm QNX4 with mouse events - qvt203-25-w QVT 203 PLUS with 25 by 132 columns - qansi-t QNX ansi without console writes - . . . - - Use the <STRONG>-a</STRONG> and <STRONG>-s</STRONG> options together to show where each terminal - description was found: - - --> /usr/local/ncurses/share/terminfo - ----> /usr/share/terminfo - *-+-: 9term Plan9 terminal emulator for X - *---: Eterm Eterm with xterm-style color support (X Window System) - *-*-: Eterm-256color Eterm with xterm 256-colors - *-*-: Eterm-88color Eterm with 88 colors - *-+-: MtxOrb Generic Matrix Orbital LCD display - *-+-: MtxOrb162 16x2 Matrix Orbital LCD display - *-+-: MtxOrb204 20x4 Matrix Orbital LCD display - *-*-: NCR260VT300WPP NCR 2900_260 vt300 wide mode pc+ kybd - *-+-: aaa ann arbor ambassador/30 lines - *-+-: aaa+dec ann arbor ambassador in dec vt100 mode - *-+-: aaa+rv ann arbor ambassador in reverse video - . . . + <STRONG>-V</STRONG> reports the version of <EM>ncurses</EM> associated with this program + and exits with a successful status. </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE> - <STRONG>/usr/share/terminfo/?/*</STRONG> - Compiled terminal description database. + <EM>/usr/share/terminfo</EM> + compiled terminal description database + + +</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> + <STRONG>toe</STRONG> is not provided by other implementations. There is no applicable + X/Open or POSIX standard for it. </PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE> - This utility is not provided by other implementations. There is no - relevant X/Open or POSIX standard for <STRONG>toe</STRONG>. + <STRONG>toe</STRONG> replaces a <STRONG>-T</STRONG> option that was briefly supported by the <EM>ncurses</EM> + <STRONG>infocmp</STRONG> utility in 1995. - The program name refers to a developer's pun: + The <STRONG>-a</STRONG> and <STRONG>-s</STRONG> options were added in 2006 and 2011, respectively. + + The program's name originates with a developer's pun: <STRONG>o</STRONG> <STRONG>tic</STRONG>, @@ -160,31 +137,66 @@ <STRONG>o</STRONG> <STRONG>toe</STRONG>. - It replaced a <STRONG>-T</STRONG> option which was briefly supported by the ncurses - <STRONG>infocmp</STRONG> utility in 1995. - The <STRONG>-a</STRONG> and <STRONG>-s</STRONG> options were added to <STRONG>toe</STRONG> several years later (2006 and - 2011, respectively). +</PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE> + When not sorting with the <STRONG>-s</STRONG> option, the <STRONG>-a</STRONG> option reports all of the + names found in all of the terminal database directories named in the + <EM>TERMINFO</EM> and <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> environment variables. + + xterm-color generic color xterm + xterm-xfree86 xterm terminal emulator (XFree86) + xterm-vt220 xterm emulating vt220 + xterm-256color xterm with 256 colors + xterm-r6 xterm X11R6 version + xterm-r5 xterm R5 version + xterm-mono monochrome xterm + xterm xterm terminal emulator (X Window System) + vt220 dec vt220 + vt102 dec vt102 + vt100 dec vt100 (w/advanced video) + vt52 dec vt52 + ... + + Use the <STRONG>-a</STRONG> and <STRONG>-s</STRONG> options together to show where each terminal + description was found. + + --> /etc/terminfo + ----> /lib/terminfo + ------> /usr/share/terminfo + + --*---: vt100 dec vt100 (w/advanced video) + --*---: vt102 dec vt102 + --*---: vt220 dec vt220 + --*---: vt52 dec vt52 + --*---: xterm xterm terminal emulator (X Window System) + --*---: xterm-256color xterm with 256 colors + --*---: xterm-color generic color xterm + --*---: xterm-mono monochrome xterm + --*---: xterm-r5 xterm R5 version + --*---: xterm-r6 xterm X11R6 version + --*---: xterm-vt220 xterm emulating vt220 + --*---: xterm-xfree86 xterm terminal emulator (XFree86) + ... </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, - <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. + <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> - This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109). - - <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> </PRE> <div class="nav"> <ul> <li><a href="#h2-NAME">NAME</a></li> <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li> -<li><a href="#h2-EXAMPLES">EXAMPLES</a></li> +<li><a href="#h2-OPTIONS">OPTIONS</a></li> <li><a href="#h2-FILES">FILES</a></li> +<li><a href="#h2-PORTABILITY">PORTABILITY</a></li> <li><a href="#h2-HISTORY">HISTORY</a></li> +<li><a href="#h2-EXAMPLES">EXAMPLES</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> diff --git a/doc/html/man/tput.1.html b/doc/html/man/tput.1.html index ffb131c62ab7..ed8fe3805afb 100644 --- a/doc/html/man/tput.1.html +++ b/doc/html/man/tput.1.html @@ -1,7 +1,7 @@ -<!-- +<!-- * t **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,506 +28,534 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: tput.1,v 1.65 2020/12/19 22:17:47 tom Exp @ + * @Id: tput.1,v 1.113 2024/04/20 19:58:50 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>tput 1</TITLE> +<TITLE>tput 1 2024-04-20 ncurses 6.5 User commands</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">tput 1</H1> +<H1 class="no-header">tput 1 2024-04-20 ncurses 6.5 User commands</H1> <PRE> -<STRONG><A HREF="tput.1.html">tput(1)</A></STRONG> General Commands Manual <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG> +<STRONG><A HREF="tput.1.html">tput(1)</A></STRONG> User commands <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>tput</STRONG>, <STRONG>reset</STRONG> - initialize a terminal or query terminfo database + <STRONG>tput</STRONG> - initialize a terminal, exercise its capabilities, or query <EM>term-</EM> + <EM>info</EM> database </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> - <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <EM>capname</EM> [<EM>parameters</EM>] - <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] [<STRONG>-x</STRONG>] <STRONG>clear</STRONG> - <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <STRONG>init</STRONG> - <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <STRONG>reset</STRONG> - <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <STRONG>longname</STRONG> - <STRONG>tput</STRONG> <STRONG>-S</STRONG> <STRONG><<</STRONG> - <STRONG>tput</STRONG> <STRONG>-V</STRONG> + <STRONG>tput</STRONG> [<STRONG>-T</STRONG> <EM>terminal-type</EM>] {<EM>cap-code</EM> [<EM>parameter</EM> ...]} ... + <STRONG>tput</STRONG> [<STRONG>-T</STRONG> <EM>terminal-type</EM>] [<STRONG>-x</STRONG>] <STRONG>clear</STRONG> -</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - The <STRONG>tput</STRONG> utility uses the <STRONG>terminfo</STRONG> database to make the values of - terminal-dependent capabilities and information available to the shell - (see <STRONG>sh(1)</STRONG>), to initialize or reset the terminal, or return the long - name of the requested terminal type. The result depends upon the - capability's type: + <STRONG>tput</STRONG> [<STRONG>-T</STRONG> <EM>terminal-type</EM>] <STRONG>init</STRONG> - string - <STRONG>tput</STRONG> writes the string to the standard output. No trailing - newline is supplied. + <STRONG>tput</STRONG> [<STRONG>-T</STRONG> <EM>terminal-type</EM>] <STRONG>reset</STRONG> - integer - <STRONG>tput</STRONG> writes the decimal value to the standard output, with a - trailing newline. + <STRONG>tput</STRONG> [<STRONG>-T</STRONG> <EM>terminal-type</EM>] <STRONG>longname</STRONG> - boolean - <STRONG>tput</STRONG> simply sets the exit code (<STRONG>0</STRONG> for TRUE if the terminal has - the capability, <STRONG>1</STRONG> for FALSE if it does not), and writes nothing - to the standard output. + <STRONG>tput</STRONG> <STRONG>-S</STRONG> - Before using a value returned on the standard output, the application - should test the exit code (e.g., <STRONG>$?</STRONG>, see <STRONG>sh(1)</STRONG>) to be sure it is <STRONG>0</STRONG>. - (See the <STRONG>EXIT</STRONG> <STRONG>CODES</STRONG> and <STRONG>DIAGNOSTICS</STRONG> sections.) For a complete list of - capabilities and the <EM>capname</EM> associated with each, see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. + <STRONG>tput</STRONG> <STRONG>-V</STRONG> -</PRE><H3><a name="h3-Options">Options</a></H3><PRE> - <STRONG>-S</STRONG> allows more than one capability per invocation of <STRONG>tput</STRONG>. The - capabilities must be passed to <STRONG>tput</STRONG> from the standard input - instead of from the command line (see example). Only one - <EM>capname</EM> is allowed per line. The <STRONG>-S</STRONG> option changes the meaning - of the <STRONG>0</STRONG> and <STRONG>1</STRONG> boolean and string exit codes (see the EXIT CODES - section). +</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> + <STRONG>tput</STRONG> uses the <EM>terminfo</EM> library and database to make terminal-specific + capabilities and information available to the shell, to initialize or + reset the terminal, or to report a description of the current (or + specified) terminal type. Terminal capabilities are accessed by <EM>cap-</EM> + <EM>code</EM>. - Because some capabilities may use <EM>string</EM> parameters rather than - <EM>numbers</EM>, <STRONG>tput</STRONG> uses a table and the presence of parameters in its - input to decide whether to use <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>, and how to interpret - the parameters. + <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> discusses terminal capabilities at length and presents a + complete list of <EM>cap-codes</EM>. - <STRONG>-T</STRONG><EM>type</EM> indicates the <EM>type</EM> of terminal. Normally this option is - unnecessary, because the default is taken from the environment - variable <STRONG>TERM</STRONG>. If <STRONG>-T</STRONG> is specified, then the shell variables - <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> will also be ignored. + When retrieving capability values, the result depends upon the + capability's type. - <STRONG>-V</STRONG> reports the version of ncurses which was used in this program, - and exits. + Boolean <STRONG>tput</STRONG> sets its exit status to <STRONG>0</STRONG> if the terminal possesses <EM>cap-</EM> + <EM>code</EM>, and <STRONG>1</STRONG> if it does not. - <STRONG>-x</STRONG> do not attempt to clear the terminal's scrollback buffer using - the extended "E3" capability. + numeric <STRONG>tput</STRONG> writes <EM>cap-code</EM>'s decimal value to the standard output + stream if defined (<STRONG>-1</STRONG> if it is not) followed by a newline. + string <STRONG>tput</STRONG> writes <EM>cap-code</EM>'s value to the standard output stream if + defined, without a trailing newline. -</PRE><H3><a name="h3-Commands">Commands</a></H3><PRE> - A few commands (<STRONG>init</STRONG>, <STRONG>reset</STRONG> and <STRONG>longname</STRONG>) are special; they are defined - by the <STRONG>tput</STRONG> program. The others are the names of <EM>capabilities</EM> from the - terminal database (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for a list). Although <STRONG>init</STRONG> and - <STRONG>reset</STRONG> resemble capability names, <STRONG>tput</STRONG> uses several capabilities to - perform these special functions. + Before using a value returned on the standard output, the application + should test <STRONG>tput</STRONG>'s exit status to be sure it is 0; see section "EXIT + STATUS" below. - <EM>capname</EM> - indicates the capability from the terminal database. - If the capability is a string that takes parameters, the - arguments following the capability will be used as parameters - for the string. +</PRE><H3><a name="h3-Operands">Operands</a></H3><PRE> + Generally, an operand is a <EM>cap-code</EM>, a capability code from the + terminal database, or a parameter thereto. Three others are specially + recognized by <STRONG>tput</STRONG>: <STRONG>init</STRONG>, <STRONG>reset</STRONG>, and <STRONG>longname</STRONG>. Although these resemble + capability codes, they in fact receive special handling; we term them + "pseudo-capabilities". - Most parameters are numbers. Only a few terminal capabilities - require string parameters; <STRONG>tput</STRONG> uses a table to decide which to - pass as strings. Normally <STRONG>tput</STRONG> uses <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> to perform the - substitution. If no parameters are given for the capability, - <STRONG>tput</STRONG> writes the string without performing the substitution. + <EM>cap-code</EM> indicates a capability from the terminal database. - <STRONG>init</STRONG> If the terminal database is present and an entry for the user's - terminal exists (see <STRONG>-T</STRONG><EM>type</EM>, above), the following will occur: + If <EM>cap-code</EM> is of string type and takes parameters, <STRONG>tput</STRONG> + interprets arguments following <EM>cap-code</EM> as the parameters, + up to the (fixed) quantity the capability requires. - (1) first, <STRONG>tput</STRONG> retrieves the current terminal mode settings - for your terminal. It does this by successively testing + Most parameters are numeric. Only a few terminal + capabilities require string parameters; <STRONG>tput</STRONG> uses a table to + decide which to pass as strings. Normally <STRONG>tput</STRONG> uses + <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> to perform the substitution. If no parameters are + given for the capability, <STRONG>tput</STRONG> writes the string without + performing the substitution. - <STRONG>o</STRONG> the standard error, + <STRONG>init</STRONG> initializes the terminal. If the terminal database is + present and an entry for the user's terminal type exists, + the following occur. - <STRONG>o</STRONG> standard output, + (1) <STRONG>tput</STRONG> retrieves the terminal's mode settings. It + successively tests the file descriptors corresponding + to - <STRONG>o</STRONG> standard input and + <STRONG>o</STRONG> the standard error stream, - <STRONG>o</STRONG> ultimately "/dev/tty" + <STRONG>o</STRONG> the standard output stream, - to obtain terminal settings. Having retrieved these - settings, <STRONG>tput</STRONG> remembers which file descriptor to use when - updating settings. + <STRONG>o</STRONG> the standard input stream, and - (2) if the window size cannot be obtained from the operating - system, but the terminal description (or environment, e.g., - <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> variables specify this), update the - operating system's notion of the window size. + <STRONG>o</STRONG> <EM>/dev/tty</EM> - (3) the terminal modes will be updated: + to obtain terminal settings. Having retrieved them, + <STRONG>tput</STRONG> remembers which descriptor to use for further + updates. - <STRONG>o</STRONG> any delays (e.g., newline) specified in the entry will - be set in the tty driver, + (2) If the terminal dimensions cannot be obtained from the + operating system, but the environment or terminal type + database entry describes them, <STRONG>tput</STRONG> updates the + operating system's notion of them. - <STRONG>o</STRONG> tabs expansion will be turned on or off according to - the specification in the entry, and + (3) <STRONG>tput</STRONG> updates the terminal modes. - <STRONG>o</STRONG> if tabs are not expanded, standard tabs will be set - (every 8 spaces). + <STRONG>o</STRONG> Any delays specified in the entry (for example, + when a newline is sent) are set in the terminal + driver. - (4) if present, the terminal's initialization strings will be - output as detailed in the <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> section on <EM>Tabs</EM> <EM>and</EM> - <EM>Initialization</EM>, + <STRONG>o</STRONG> Tab expansion is turned on or off per the + specification in the entry, and - (5) output is flushed. + <STRONG>o</STRONG> if tabs are not expanded, standard tabs (every 8 + spaces) are set. - If an entry does not contain the information needed for any of - these activities, that activity will silently be skipped. + (4) If initialization capabilities, detailed in subsection + "Tabs and Initialization" of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, are present, + <STRONG>tput</STRONG> writes them to the standard output stream. - <STRONG>reset</STRONG> This is similar to <STRONG>init</STRONG>, with two differences: + (5) <STRONG>tput</STRONG> flushes the standard output stream. - (1) before any other initialization, the terminal modes will be - reset to a "sane" state: + If an entry lacks the information needed for an activity + above, that activity is silently skipped. - <STRONG>o</STRONG> set cooked and echo modes, + <STRONG>reset</STRONG> re-initializes the terminal. A reset differs from + initialization in two ways. - <STRONG>o</STRONG> turn off cbreak and raw modes, + (1) <STRONG>tput</STRONG> sets the the terminal modes to a "sane" state, - <STRONG>o</STRONG> turn on newline translation and + <STRONG>o</STRONG> enabling cooked and echo modes, - <STRONG>o</STRONG> reset any unset special characters to their default - values + <STRONG>o</STRONG> disabling cbreak and raw modes, - (2) Instead of putting out <EM>initialization</EM> strings, the - terminal's <EM>reset</EM> strings will be output if present (<STRONG>rs1</STRONG>, - <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, <STRONG>rf</STRONG>). If the <EM>reset</EM> strings are not present, but - <EM>initialization</EM> strings are, the <EM>initialization</EM> strings will - be output. + <STRONG>o</STRONG> enabling newline translation, and - Otherwise, <STRONG>reset</STRONG> acts identically to <STRONG>init</STRONG>. + <STRONG>o</STRONG> setting any unset special characters to their + default values. - <STRONG>longname</STRONG> - If the terminal database is present and an entry for the user's - terminal exists (see <STRONG>-T</STRONG><EM>type</EM> above), then the long name of the - terminal will be put out. The long name is the last name in the - first line of the terminal's description in the <STRONG>terminfo</STRONG> - database [see <STRONG><A HREF="term.5.html">term(5)</A></STRONG>]. + (2) If any reset capabilities are defined for the terminal + type, <STRONG>tput</STRONG> writes them to the output stream. + Otherwise, <STRONG>tput</STRONG> uses any defined initialization + capabilities. Reset capabilities are detailed in + subsection "Tabs and Initialization" of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. + <STRONG>longname</STRONG> A <EM>terminfo</EM> entry begins with one or more names by which an + application can refer to the entry, before the list of + terminal capabilities. The names are separated by "|" + characters. X/Open Curses terms the last name the "long + name", and indicates that it may include blanks. -</PRE><H3><a name="h3-Aliases">Aliases</a></H3><PRE> - <STRONG>tput</STRONG> handles the <STRONG>clear</STRONG>, <STRONG>init</STRONG> and <STRONG>reset</STRONG> commands specially: it allows - for the possibility that it is invoked by a link with those names. + <STRONG>tic</STRONG> warns if the last name does not include blanks, to + accommodate old <EM>terminfo</EM> entries that treated the long name + as an optional feature. The long name is often referred to + as the description field. - If <STRONG>tput</STRONG> is invoked by a link named <STRONG>reset</STRONG>, this has the same effect as - <STRONG>tput</STRONG> <STRONG>reset</STRONG>. The <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> utility also treats a link named <STRONG>reset</STRONG> - specially. + If the terminal database is present and an entry for the + user's terminal type exists, <STRONG>tput</STRONG> reports its description to + the standard output stream, without a trailing newline. See + <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. - Before ncurses 6.1, the two utilities were different from each other: + <EM>Note:</EM> Redirecting the output of "<STRONG>tput</STRONG> <STRONG>init</STRONG>" or "<STRONG>tput</STRONG> <STRONG>reset</STRONG>" to a file + will capture only part of their actions. Changes to the terminal modes + are not affected by file descriptor redirection, since the terminal + modes are altered via <STRONG>ioctl(2)</STRONG>. - <STRONG>o</STRONG> <STRONG>tset</STRONG> utility reset the terminal modes and special characters (not - done with <STRONG>tput</STRONG>). - <STRONG>o</STRONG> On the other hand, <STRONG>tset</STRONG>'s repertoire of terminal capabilities for - resetting the terminal was more limited, i.e., only <STRONG>reset_1string</STRONG>, - <STRONG>reset_2string</STRONG> and <STRONG>reset_file</STRONG> in contrast to the tab-stops and - margins which are set by this utility. - - <STRONG>o</STRONG> The <STRONG>reset</STRONG> program is usually an alias for <STRONG>tset</STRONG>, because of this - difference with resetting terminal modes and special characters. - - With the changes made for ncurses 6.1, the <EM>reset</EM> feature of the two - programs is (mostly) the same. A few differences remain: +</PRE><H3><a name="h3-Aliases">Aliases</a></H3><PRE> + If <STRONG>tput</STRONG> is invoked via link with any of the names <STRONG>clear</STRONG>, <STRONG>init</STRONG>, or + <STRONG>reset</STRONG>, it operates as if run with the corresponding (pseudo-)capability + operand. For example, executing a link named <STRONG>reset</STRONG> that points to <STRONG>tput</STRONG> + has the same effect as "<STRONG>tput</STRONG> <STRONG>reset</STRONG>". - <STRONG>o</STRONG> The <STRONG>tset</STRONG> program waits one second when resetting, in case it - happens to be a hardware terminal. + This feature was introduced by <EM>ncurses</EM> 5.2 in 2000. It is rarely used: - <STRONG>o</STRONG> The two programs write the terminal initialization strings to - different streams (i.e., the standard error for <STRONG>tset</STRONG> and the - standard output for <STRONG>tput</STRONG>). + <STRONG>clear</STRONG> is a separate program, which is both smaller and more frequently + executed. - <STRONG>Note:</STRONG> although these programs write to different streams, - redirecting their output to a file will capture only part of their - actions. The changes to the terminal modes are not affected by - redirecting the output. + <STRONG>init</STRONG> has the same name as another program in widespread use. - If <STRONG>tput</STRONG> is invoked by a link named <STRONG>init</STRONG>, this has the same effect as - <STRONG>tput</STRONG> <STRONG>init</STRONG>. Again, you are less likely to use that link because another - program named <STRONG>init</STRONG> has a more well-established use. + <STRONG>reset</STRONG> is provided by the <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> utility (also via a link named + <STRONG>reset</STRONG>). </PRE><H3><a name="h3-Terminal-Size">Terminal Size</a></H3><PRE> - Besides the special commands (e.g., <STRONG>clear</STRONG>), tput treats certain - terminfo capabilities specially: <STRONG>lines</STRONG> and <STRONG>cols</STRONG>. tput calls - <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> to obtain the terminal size: + Besides the pseudo-capabilities (such as <STRONG>init</STRONG>), <STRONG>tput</STRONG> treats the <STRONG>lines</STRONG> + and <STRONG>cols</STRONG> <EM>cap-codes</EM> specially: it may call <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> to obtain the + terminal size. - <STRONG>o</STRONG> first, it gets the size from the terminal database (which generally - is not provided for terminal emulators which do not have a fixed - window size) + <STRONG>o</STRONG> First, <STRONG>tput</STRONG> attempts to obtain these capabilities from the terminal + database. This generally fails for terminal emulators, which lack + a fixed window size and thus omit the capabilities. - <STRONG>o</STRONG> then it asks the operating system for the terminal's size (which - generally works, unless connecting via a serial line which does not - support <EM>NAWS</EM>: negotiations about window size). + <STRONG>o</STRONG> It then asks the operating system for the terminal's size, which + generally works, unless the connection is via a serial line that + does not support "NAWS": negotiations about window size. - <STRONG>o</STRONG> finally, it inspects the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> + <STRONG>o</STRONG> Finally, it inspects the environment variables <EM>LINES</EM> and <EM>COLUMNS</EM>, which may override the terminal size. - If the <STRONG>-T</STRONG> option is given tput ignores the environment variables by - calling <STRONG>use_tioctl(TRUE)</STRONG>, relying upon the operating system (or - finally, the terminal database). + If the <STRONG>-T</STRONG> option is given, <STRONG>tput</STRONG> ignores the environment variables by + calling <STRONG>use_tioctl(TRUE)</STRONG>, relying upon the operating system (or, + ultimately, the terminal database). -</PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE> - <STRONG>tput</STRONG> <STRONG>init</STRONG> - Initialize the terminal according to the type of terminal in the - environmental variable <STRONG>TERM</STRONG>. This command should be included in - everyone's .profile after the environmental variable <STRONG>TERM</STRONG> has been - exported, as illustrated on the <STRONG>profile(5)</STRONG> manual page. +</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE> + <STRONG>-S</STRONG> retrieves more than one capability per invocation of <STRONG>tput</STRONG>. + The capabilities must be passed to <STRONG>tput</STRONG> from the standard + input stream instead of from the command line (see section + "EXAMPLES" below). Only one <EM>cap-code</EM> is allowed per line. + The <STRONG>-S</STRONG> option changes the meanings of the <STRONG>0</STRONG> and <STRONG>1</STRONG> exit + statuses (see section "EXIT STATUS" below). - <STRONG>tput</STRONG> <STRONG>-T5620</STRONG> <STRONG>reset</STRONG> - Reset an AT&T 5620 terminal, overriding the type of terminal in - the environmental variable <STRONG>TERM</STRONG>. + Some capabilities use string parameters rather than numeric + ones. <STRONG>tput</STRONG> employs a built-in table and the presence of + parameters in its input to decide how to interpret them, and + whether to use <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>. - <STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>0</STRONG> <STRONG>0</STRONG> - Send the sequence to move the cursor to row <STRONG>0</STRONG>, column <STRONG>0</STRONG> (the upper - left corner of the screen, usually known as the "home" cursor - position). + <STRONG>-T</STRONG> <EM>type</EM> indicates the terminal's <EM>type</EM>. Normally this option is + unnecessary, because a default is taken from the <EM>TERM</EM> + environment variable. If specified, the environment variables + <EM>LINES</EM> and <EM>COLUMNS</EM> are also ignored. - <STRONG>tput</STRONG> <STRONG>clear</STRONG> - Echo the clear-screen sequence for the current terminal. + <STRONG>-V</STRONG> reports the version of <EM>ncurses</EM> associated with <STRONG>tput</STRONG>, and exits + with a successful status. - <STRONG>tput</STRONG> <STRONG>cols</STRONG> - Print the number of columns for the current terminal. + <STRONG>-x</STRONG> prevents "<STRONG>tput</STRONG> <STRONG>clear</STRONG>" from attempting to clear the scrollback + buffer. - <STRONG>tput</STRONG> <STRONG>-T450</STRONG> <STRONG>cols</STRONG> - Print the number of columns for the 450 terminal. - <STRONG>bold=`tput</STRONG> <STRONG>smso`</STRONG> <STRONG>offbold=`tput</STRONG> <STRONG>rmso`</STRONG> - Set the shell variables <STRONG>bold</STRONG>, to begin stand-out mode sequence, - and <STRONG>offbold</STRONG>, to end standout mode sequence, for the current - terminal. This might be followed by a prompt: <STRONG>echo</STRONG> <STRONG>"${bold}Please</STRONG> - <STRONG>type</STRONG> <STRONG>in</STRONG> <STRONG>your</STRONG> <STRONG>name:</STRONG> <STRONG>${offbold}\c"</STRONG> +</PRE><H2><a name="h2-EXIT-STATUS">EXIT STATUS</a></H2><PRE> + Normally, one should interpret <STRONG>tput</STRONG>'s exit statuses as follows. - <STRONG>tput</STRONG> <STRONG>hc</STRONG> - Set exit code to indicate if the current terminal is a hard copy - terminal. + <STRONG>Status</STRONG> <STRONG>Meaning</STRONG> <STRONG>When</STRONG> <STRONG>-S</STRONG> <STRONG>Not</STRONG> <STRONG>Specified</STRONG> + ------------------------------------------------------------------------ + <STRONG>0</STRONG> Boolean or string capability present + <STRONG>1</STRONG> Boolean or numeric capability absent + <STRONG>2</STRONG> usage error or no terminal type specified + <STRONG>3</STRONG> unrecognized terminal type + <STRONG>4</STRONG> unrecognized capability code + <STRONG>>4</STRONG> system error (4 + <STRONG>errno</STRONG>) - <STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>23</STRONG> <STRONG>4</STRONG> - Send the sequence to move the cursor to row 23, column 4. + When the <STRONG>-S</STRONG> option is used, some statuses change meanings. - <STRONG>tput</STRONG> <STRONG>cup</STRONG> - Send the terminfo string for cursor-movement, with no parameters - substituted. + <STRONG>Status</STRONG> <STRONG>Meaning</STRONG> <STRONG>When</STRONG> <STRONG>-S</STRONG> <STRONG>Specified</STRONG> + ------------------------------------------------------------------------ + <STRONG>0</STRONG> all operands interpreted + <STRONG>1</STRONG> unused + <STRONG>4</STRONG> some operands not interpreted - <STRONG>tput</STRONG> <STRONG>longname</STRONG> - Print the long name from the <STRONG>terminfo</STRONG> database for the type of - terminal specified in the environmental variable <STRONG>TERM</STRONG>. - <STRONG>tput</STRONG> <STRONG>-S</STRONG> <STRONG><<!</STRONG> - <STRONG>></STRONG> <STRONG>clear</STRONG> - <STRONG>></STRONG> <STRONG>cup</STRONG> <STRONG>10</STRONG> <STRONG>10</STRONG> - <STRONG>></STRONG> <STRONG>bold</STRONG> - <STRONG>></STRONG> <STRONG>!</STRONG> +</PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE> + <STRONG>tput</STRONG> reads one environment variable. - This example shows <STRONG>tput</STRONG> processing several capabilities in one - invocation. It clears the screen, moves the cursor to position - 10, 10 and turns on bold (extra bright) mode. The list is - terminated by an exclamation mark (<STRONG>!</STRONG>) on a line by itself. + <EM>TERM</EM> denotes the terminal type. Each terminal type is distinct, + though many are similar. The <STRONG>-T</STRONG> option overrides its value. </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE> - <STRONG>/usr/share/terminfo</STRONG> + <EM>/usr/share/tabset</EM> + tab stop initialization database + + <EM>/usr/share/terminfo</EM> compiled terminal description database - <STRONG>/usr/share/tabset/*</STRONG> - tab settings for some terminals, in a format appropriate to be - output to the terminal (escape sequences that set margins and - tabs); for more information, see the <EM>Tabs</EM> <EM>and</EM> <EM>Initialization</EM>, - section of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> +</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> + Over time <EM>ncurses</EM> <STRONG>tput</STRONG> has differed from that of System V in two + important respects, one now mostly historical. -</PRE><H2><a name="h2-EXIT-CODES">EXIT CODES</a></H2><PRE> - If the <STRONG>-S</STRONG> option is used, <STRONG>tput</STRONG> checks for errors from each line, and if - any errors are found, will set the exit code to 4 plus the number of - lines with errors. If no errors are found, the exit code is <STRONG>0</STRONG>. No - indication of which line failed can be given so exit code <STRONG>1</STRONG> will never - appear. Exit codes <STRONG>2</STRONG>, <STRONG>3</STRONG>, and <STRONG>4</STRONG> retain their usual interpretation. If - the <STRONG>-S</STRONG> option is not used, the exit code depends on the type of - <EM>capname</EM>: + <STRONG>o</STRONG> "<STRONG>tput</STRONG> <EM>cap-code</EM>" writes to the standard output, which need not be a + terminal device. However, the operands that manipulate terminal + modes might not use the standard output. - <EM>boolean</EM> - a value of <STRONG>0</STRONG> is set for TRUE and <STRONG>1</STRONG> for FALSE. + System V <STRONG>tput</STRONG>'s <STRONG>init</STRONG> and <STRONG>reset</STRONG> operands use logic from 4.1cBSD + <STRONG>tset</STRONG>, manipulating terminal modes. It checks the same file + descriptors (and <EM>/dev/tty</EM>) for association with a terminal device + as <EM>ncurses</EM> now does, and if none are, finally assumes a 1200 baud + terminal. When updating terminal modes, it ignores errors. - <EM>string</EM> a value of <STRONG>0</STRONG> is set if the <EM>capname</EM> is defined for this - terminal <EM>type</EM> (the value of <EM>capname</EM> is returned on standard - output); a value of <STRONG>1</STRONG> is set if <EM>capname</EM> is not defined for - this terminal <EM>type</EM> (nothing is written to standard output). + Until <EM>ncurses</EM> 6.1 (see section "HISTORY" below), <STRONG>tput</STRONG> did not + modify terminal modes. It now employs a scheme similar to + System V, using functions shared with <STRONG>tset</STRONG> (and ultimately based on + 4.4BSD <STRONG>tset</STRONG>). If it is not able to open a terminal (for instance, + when run by <STRONG>cron(1)</STRONG>), <STRONG>tput</STRONG> exits with an error status. - <EM>integer</EM> - a value of <STRONG>0</STRONG> is always set, whether or not <EM>capname</EM> is defined - for this terminal <EM>type</EM>. To determine if <EM>capname</EM> is defined - for this terminal <EM>type</EM>, the user must test the value written - to standard output. A value of <STRONG>-1</STRONG> means that <EM>capname</EM> is not - defined for this terminal <EM>type</EM>. + <STRONG>o</STRONG> System V <STRONG>tput</STRONG> assumes that the type of a <EM>cap-code</EM> operand is + numeric if all the characters of its value are decimal numbers; if + they are not, it treats <EM>cap-code</EM> as a string capability. - <EM>other</EM> <STRONG>reset</STRONG> or <STRONG>init</STRONG> may fail to find their respective files. In - that case, the exit code is set to 4 + <STRONG>errno</STRONG>. + Most implementations that provide support for <EM>cap-code</EM> operands use + the <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> function to expand its parameters. That function + expects a mixture of numeric and string parameters, requiring <STRONG>tput</STRONG> + to know which type to use. - Any other exit code indicates an error; see the DIAGNOSTICS section. + <EM>ncurses</EM> <STRONG>tput</STRONG> uses a table to determine the parameter types for the + standard <EM>cap-code</EM> operands, and an internal function to analyze + nonstandard <EM>cap-code</EM> operands. + + While more reliable than System V's utility, a portability problem + is introduced by this analysis. An OpenBSD developer adapted the + internal library function from <EM>ncurses</EM> to port NetBSD's <EM>termcap</EM>- + based <STRONG>tput</STRONG> to <EM>terminfo</EM>, and modified it to interpret multiple <EM>cap-</EM> + <EM>codes</EM> (and parameters) on the command line. Portable applications + should not rely upon this feature; <EM>ncurses</EM> offers it to support + applications written specifically for OpenBSD. + + This implementation, unlike others, accepts both <EM>termcap</EM> and <EM>terminfo</EM> + <EM>cap-codes</EM> if <EM>termcap</EM> support is compiled in. In that case, however, + the predefined <EM>termcap</EM> and <EM>terminfo</EM> codes have two ambiguities; <EM>ncurses</EM> + assumes the <EM>terminfo</EM> code. + + <STRONG>o</STRONG> The <EM>cap-code</EM> <STRONG>dl</STRONG> means <STRONG>delete_line</STRONG> to <EM>termcap</EM> but <STRONG>parm_delete_line</STRONG> + to <EM>terminfo</EM>. <EM>termcap</EM> uses the code <STRONG>DL</STRONG> for <STRONG>parm_delete_line</STRONG>. <EM>term-</EM> + <EM>info</EM> uses the code <STRONG>dl1</STRONG> for <STRONG>delete_line</STRONG>. + + <STRONG>o</STRONG> The <EM>cap-code</EM> <STRONG>ed</STRONG> means <STRONG>exit_delete_mode</STRONG> to <EM>termcap</EM> but <STRONG>clr_eos</STRONG> to + <EM>terminfo</EM>. <EM>termcap</EM> uses the code <STRONG>cd</STRONG> for <STRONG>clr_eos</STRONG>. <EM>terminfo</EM> uses the + code <STRONG>rmdc</STRONG> for <STRONG>exit_delete_mode</STRONG>. + + The <STRONG>longname</STRONG> operand, <STRONG>-S</STRONG> option, and the parameter-substitution + features used in the <STRONG>cup</STRONG> example below, were not supported in AT&T/USL + <EM>curses</EM> before SVr4 (1989). Later, 4.3BSD-Reno (1990) added support for + <STRONG>longname</STRONG>, and in 1994, NetBSD added support for the parameter- + substitution features. + + IEEE Std 1003.1/The Open Group Base Specifications Issue 7 + (POSIX.1-2008) documents only the <STRONG>clear</STRONG>, <STRONG>init</STRONG>, and <STRONG>reset</STRONG> operands. A + few observations of interest arise from that selection. + + <STRONG>o</STRONG> <EM>ncurses</EM> supports <STRONG>clear</STRONG> as it does any other standard <EM>cap-code</EM>. The + others (<STRONG>init</STRONG> and <STRONG>longname</STRONG>) do not correspond to terminal + capabilities. + <STRONG>o</STRONG> The <STRONG>tput</STRONG> on SVr4-based systems such as Solaris, IRIX64, and HP-UX, + as well as others such as AIX and Tru64, also support standard <EM>cap-</EM> + <EM>code</EM> operands. -</PRE><H2><a name="h2-DIAGNOSTICS">DIAGNOSTICS</a></H2><PRE> - <STRONG>tput</STRONG> prints the following error messages and sets the corresponding - exit codes. + <STRONG>o</STRONG> A few platforms such as FreeBSD recognize <EM>termcap</EM> codes rather than + <EM>terminfo</EM> capability codes in their respective <STRONG>tput</STRONG> commands. Since + 2010, NetBSD's <STRONG>tput</STRONG> uses <EM>terminfo</EM> codes. Before that, it (like + FreeBSD) recognized <EM>termcap</EM> codes. - exit code error message - --------------------------------------------------------------------- - <STRONG>0</STRONG> (<EM>capname</EM> is a numeric variable that is not specified in - the <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> database for this terminal type, e.g. - <STRONG>tput</STRONG> <STRONG>-T450</STRONG> <STRONG>lines</STRONG> and <STRONG>tput</STRONG> <STRONG>-T2621</STRONG> <STRONG>xmc</STRONG>) - <STRONG>1</STRONG> no error message is printed, see the <STRONG>EXIT</STRONG> <STRONG>CODES</STRONG> section. - <STRONG>2</STRONG> usage error - <STRONG>3</STRONG> unknown terminal <EM>type</EM> or no <STRONG>terminfo</STRONG> database - <STRONG>4</STRONG> unknown <STRONG>terminfo</STRONG> capability <EM>capname</EM> - <STRONG>>4</STRONG> error occurred in -S - --------------------------------------------------------------------- + Beginning in 2021, FreeBSD uses <EM>ncurses</EM> <STRONG>tput</STRONG>, configured for both + <EM>terminfo</EM> (tested first) and <EM>termcap</EM> (as a fallback). + Because (apparently) all <EM>certified</EM> Unix systems support the full set of + capability codes, the reason for documenting only a few may not be + apparent. -</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE> - The <STRONG>tput</STRONG> command was begun by Bill Joy in 1980. The initial version - only cleared the screen. + <STRONG>o</STRONG> X/Open Curses Issue 7 documents <STRONG>tput</STRONG> differently, with <EM>cap-code</EM> and + the other features used in this implementation. - AT&T System V provided a different <STRONG>tput</STRONG> command, whose <STRONG>init</STRONG> and <STRONG>reset</STRONG> - subcommands (more than half the program) were incorporated from the - <STRONG>reset</STRONG> feature of BSD <STRONG>tset</STRONG> written by Eric Allman. + <STRONG>o</STRONG> That is, there are two standards for <STRONG>tput</STRONG>: POSIX (a subset) and + X/Open Curses (the full implementation). POSIX documents a subset + to avoid the complication of including X/Open Curses and the + terminal capability database. - Keith Bostic replaced the BSD <STRONG>tput</STRONG> command in 1989 with a new - implementation based on the AT&T System V program <STRONG>tput</STRONG>. Like the AT&T - program, Bostic's version accepted some parameters named for <EM>terminfo</EM> - <EM>capabilities</EM> (<STRONG>clear</STRONG>, <STRONG>init</STRONG>, <STRONG>longname</STRONG> and <STRONG>reset</STRONG>). However (because he - had only termcap available), it accepted <EM>termcap</EM> <EM>names</EM> for other - capabilities. Also, Bostic's BSD <STRONG>tput</STRONG> did not modify the terminal I/O - modes as the earlier BSD <STRONG>tset</STRONG> had done. + <STRONG>o</STRONG> While it is certainly possible to write a <STRONG>tput</STRONG> program without + using <EM>curses</EM>, no system with a <EM>curses</EM> implementation provides a + <STRONG>tput</STRONG> utility that does not also support standard <EM>cap-codes</EM>. - At the same time, Bostic added a shell script named "clear", which used - <STRONG>tput</STRONG> to clear the screen. + X/Open Curses Issue 7 (2009) is the first version to document + utilities. However that part of X/Open Curses does not follow existing + practice (that is, System V <EM>curses</EM> behavior). - Both of these appeared in 4.4BSD, becoming the "modern" BSD - implementation of <STRONG>tput</STRONG>. + <STRONG>o</STRONG> It assigns exit status 4 to "invalid operand", which may have the + same meaning as "unknown capability". For instance, the source + code for Solaris <EM>xcurses</EM> uses the term "invalid" in this case. - This implementation of <STRONG>tput</STRONG> began from a different source than AT&T or - BSD: Ross Ridge's <EM>mytinfo</EM> package, published on <EM>comp.sources.unix</EM> in - December 1992. Ridge's program made more sophisticated use of the - terminal capabilities than the BSD program. Eric Raymond used that - <STRONG>tput</STRONG> program (and other parts of <EM>mytinfo</EM>) in ncurses in June 1995. - Using the portions dealing with terminal capabilities almost without - change, Raymond made improvements to the way the command-line - parameters were handled. + <STRONG>o</STRONG> It assigns exit status 255 to a numeric variable that is not + specified in the <EM>terminfo</EM> database. That likely is a documentation + error, mistaking the "-1" written to the standard output to + indicate an absent or cancelled numeric capability for an + (unsigned) exit status. + The various System V implementations (AIX, HP-UX, Solaris) use the same + exit statuses as <EM>ncurses</EM>. -</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - This implementation of <STRONG>tput</STRONG> differs from AT&T <STRONG>tput</STRONG> in two important - areas: + NetBSD <EM>curses</EM> documents exit statuses that correspond to neither + <EM>ncurses</EM> nor X/Open Curses. - <STRONG>o</STRONG> <STRONG>tput</STRONG> <EM>capname</EM> writes to the standard output. That need not be a - regular terminal. However, the subcommands which manipulate - terminal modes may not use the standard output. - The AT&T implementation's <STRONG>init</STRONG> and <STRONG>reset</STRONG> commands use the BSD - (4.1c) <STRONG>tset</STRONG> source, which manipulates terminal modes. It - successively tries standard output, standard error, standard input - before falling back to "/dev/tty" and finally just assumes a 1200Bd - terminal. When updating terminal modes, it ignores errors. +</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE> + Bill Joy wrote a <STRONG>tput</STRONG> command during development of 4BSD in October + 1980. This initial version only cleared the screen, and did not ship + with official distributions. + + System V developed a different <STRONG>tput</STRONG> command. + + <STRONG>o</STRONG> SVr2 (1984) provided a rudimentary <STRONG>tput</STRONG> that checked the parameter + against each predefined capability and returned the corresponding + value. This version of <STRONG>tput</STRONG> did not use <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> for + parameterized capabilities. + + <STRONG>o</STRONG> SVr3 (1987) replaced that with a more extensive program whose + support for <STRONG>init</STRONG> and <STRONG>reset</STRONG> operands (more than half the program) + incorporated the <STRONG>reset</STRONG> feature of BSD <STRONG>tset</STRONG> written by Eric Allman. + + <STRONG>o</STRONG> SVr4 (1989) added color initialization by using the <STRONG>orig_colors</STRONG> + (<STRONG>oc</STRONG>) and <STRONG>orig_pair</STRONG> (<STRONG>op</STRONG>) capabilities in its <STRONG>init</STRONG> logic. + + Keith Bostic refactored BSD <STRONG>tput</STRONG> for shipment in 4.3BSD-Tahoe (1988), + then replaced it the next year with a new implementation based on + System V <STRONG>tput</STRONG>. Bostic's version similarly accepted some parameters + named for <EM>terminfo</EM> (pseudo-)capabilities: <STRONG>clear</STRONG>, <STRONG>init</STRONG>, <STRONG>longname</STRONG>, and + <STRONG>reset</STRONG>. However, because he had only <EM>termcap</EM> available, it accepted + <EM>termcap</EM> codes for other capabilities. Also, Bostic's BSD <STRONG>tput</STRONG> did not + modify the terminal modes as the earlier BSD <STRONG>tset</STRONG> had done. + + At the same time, Bostic added a shell script named "clear" that used + <STRONG>tput</STRONG> to clear the screen. Both of these appeared in 4.4BSD, becoming + the "modern" BSD implementation of <STRONG>tput</STRONG>. + + The origin of <EM>ncurses</EM> <STRONG>tput</STRONG> lies outside both System V and BSD, in Ross + Ridge's <EM>mytinfo</EM> package, published on <EM>comp.sources.unix</EM> in December + 1992. Ridge's program made more sophisticated use of the terminal + capabilities than the BSD program. Eric Raymond used that <STRONG>tput</STRONG> program + (and other parts of <EM>mytinfo</EM>) in <EM>ncurses</EM> in June 1995. Incorporating + the portions dealing with terminal capabilities almost without change, + Raymond made improvements to the way command-line parameters were + handled. + + Before <EM>ncurses</EM> 6.1 (2018), its <STRONG>tset</STRONG> and <STRONG>tput</STRONG> utilities differed. + + <STRONG>o</STRONG> <STRONG>tset</STRONG> was more effective, resetting the terminal modes and special + characters. - Until changes made after ncurses 6.0, <STRONG>tput</STRONG> did not modify terminal - modes. <STRONG>tput</STRONG> now uses a similar scheme, using functions shared with - <STRONG>tset</STRONG> (and ultimately based on the 4.4BSD <STRONG>tset</STRONG>). If it is not able - to open a terminal, e.g., when running in <STRONG>cron</STRONG>, <STRONG>tput</STRONG> will return an - error. + <STRONG>o</STRONG> On the other hand, <STRONG>tset</STRONG>'s repertoire of terminal capabilities for + resetting the terminal was more limited; it had only equivalents of + <STRONG>reset_1string</STRONG> (<STRONG>rs1</STRONG>), <STRONG>reset_2string</STRONG> (<STRONG>rs2</STRONG>), and <STRONG>reset_file</STRONG> (<STRONG>rf</STRONG>), and + not the tab stop and margin update features of <STRONG>tput</STRONG>. - <STRONG>o</STRONG> AT&T <STRONG>tput</STRONG> guesses the type of its <EM>capname</EM> operands by seeing if all - of the characters are numeric, or not. + The <STRONG>reset</STRONG> program is traditionally an alias for <STRONG>tset</STRONG> due to its ability + to reset terminal modes and special characters. - Most implementations which provide support for <EM>capname</EM> operands use - the <EM>tparm</EM> function to expand parameters in it. That function - expects a mixture of numeric and string parameters, requiring <STRONG>tput</STRONG> - to know which type to use. + As of <EM>ncurses</EM> 6.1, the "reset" features of the two programs are + (mostly) the same. Two minor differences remain. - This implementation uses a table to determine the parameter types - for the standard <EM>capname</EM> operands, and an internal library function - to analyze nonstandard <EM>capname</EM> operands. + <STRONG>o</STRONG> The <STRONG>tset</STRONG> program waits one second when resetting, in case the + terminal happens to be a hardware device. - This implementation (unlike others) can accept both <EM>termcap</EM> and - <EM>terminfo</EM> names for the <EM>capname</EM> feature, if <EM>termcap</EM> support is compiled - in. However, the predefined <EM>termcap</EM> and <EM>terminfo</EM> names have two - ambiguities in this case (and the <EM>terminfo</EM> name is assumed): + <STRONG>o</STRONG> The two programs write the terminal initialization strings to + different streams; that is, standard error for <STRONG>tset</STRONG> and standard + output for <STRONG>tput</STRONG>. - <STRONG>o</STRONG> The <EM>termcap</EM> name <STRONG>dl</STRONG> corresponds to the <EM>terminfo</EM> name <STRONG>dl1</STRONG> (delete - one line). - The <EM>terminfo</EM> name <STRONG>dl</STRONG> corresponds to the <EM>termcap</EM> name <STRONG>DL</STRONG> (delete a - given number of lines). - <STRONG>o</STRONG> The <EM>termcap</EM> name <STRONG>ed</STRONG> corresponds to the <EM>terminfo</EM> name <STRONG>rmdc</STRONG> (end - delete mode). - The <EM>terminfo</EM> name <STRONG>ed</STRONG> corresponds to the <EM>termcap</EM> name <STRONG>cd</STRONG> (clear to - end of screen). +</PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE> + <STRONG>tput</STRONG> <STRONG>init</STRONG> + Initialize the terminal according to the type of terminal in the + <EM>TERM</EM> environment variable. If the system does not reliably + initialize the terminal upon login, this command can be included + in <EM>$HOME/.profile</EM> after exporting the <EM>TERM</EM> environment variable. - The <STRONG>longname</STRONG> and <STRONG>-S</STRONG> options, and the parameter-substitution features - used in the <STRONG>cup</STRONG> example, were not supported in BSD curses before - 4.3reno (1989) or in AT&T/USL curses before SVr4 (1988). + <STRONG>tput</STRONG> <STRONG>-T5620</STRONG> <STRONG>reset</STRONG> + Reset an AT&T 5620 terminal, overriding the terminal type in the + <EM>TERM</EM> environment variable. - IEEE Std 1003.1/The Open Group Base Specifications Issue 7 - (POSIX.1-2008) documents only the operands for <STRONG>clear</STRONG>, <STRONG>init</STRONG> and <STRONG>reset</STRONG>. - There are a few interesting observations to make regarding that: + <STRONG>tput</STRONG> <STRONG>cnorm</STRONG> + Set cursor to normal visibility. - <STRONG>o</STRONG> In this implementation, <STRONG>clear</STRONG> is part of the <EM>capname</EM> support. The - others (<STRONG>init</STRONG> and <STRONG>longname</STRONG>) do not correspond to terminal - capabilities. + <STRONG>tput</STRONG> <STRONG>home</STRONG> + Move the cursor to row 0, column 0: the upper left corner of the + screen, usually known as the "home" cursor position. - <STRONG>o</STRONG> Other implementations of <STRONG>tput</STRONG> on SVr4-based systems such as - Solaris, IRIX64 and HPUX as well as others such as AIX and Tru64 - provide support for <EM>capname</EM> operands. + <STRONG>tput</STRONG> <STRONG>clear</STRONG> + Clear the screen: write the <STRONG>clear_screen</STRONG> capability's value to + the standard output stream. - <STRONG>o</STRONG> A few platforms such as FreeBSD recognize termcap names rather than - terminfo capability names in their respective <STRONG>tput</STRONG> commands. Since - 2010, NetBSD's <STRONG>tput</STRONG> uses terminfo names. Before that, it (like - FreeBSD) recognized termcap names. + <STRONG>tput</STRONG> <STRONG>cols</STRONG> + Report the number of columns used by the current terminal type. - Because (apparently) <EM>all</EM> of the certified Unix systems support the full - set of capability names, the reasoning for documenting only a few may - not be apparent. + <STRONG>tput</STRONG> <STRONG>-Tadm3a</STRONG> <STRONG>cols</STRONG> + Report the number of columns used by an ADM-3A terminal. - <STRONG>o</STRONG> X/Open Curses Issue 7 documents <STRONG>tput</STRONG> differently, with <EM>capname</EM> and - the other features used in this implementation. + <STRONG>strong=`tput</STRONG> <STRONG>smso`</STRONG> <STRONG>normal=`tput</STRONG> <STRONG>rmso`</STRONG> + Set shell variables to capability values: <STRONG>strong</STRONG> and <STRONG>normal</STRONG>, to + begin and end, respectively, stand-out mode for the terminal. + One might use these to present a prompt. - <STRONG>o</STRONG> That is, there are two standards for <STRONG>tput</STRONG>: POSIX (a subset) and - X/Open Curses (the full implementation). POSIX documents a subset - to avoid the complication of including X/Open Curses and the - terminal capabilities database. + printf "${strong}Username:${normal} " - <STRONG>o</STRONG> While it is certainly possible to write a <STRONG>tput</STRONG> program without - using curses, none of the systems which have a curses - implementation provide a <STRONG>tput</STRONG> utility which does not provide the - <EM>capname</EM> feature. + <STRONG>tput</STRONG> <STRONG>hc</STRONG> + Indicate via exit status whether the terminal is a hard copy + device. - X/Open Curses Issue 7 (2009) is the first version to document - utilities. However that part of X/Open Curses does not follow existing - practice (i.e., Unix features documented in SVID 3): + <STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>23</STRONG> <STRONG>4</STRONG> + Move the cursor to row 23, column 4. + + <STRONG>tput</STRONG> <STRONG>cup</STRONG> + Report the value of the <STRONG>cursor_address</STRONG> (<STRONG>cup</STRONG>) capability (used + for cursor movement), with no parameters substituted. + + <STRONG>tput</STRONG> <STRONG>longname</STRONG> + Report the <EM>terminfo</EM> database's description of the terminal type + specified in the <EM>TERM</EM> environment variable. - <STRONG>o</STRONG> It assigns exit code 4 to "invalid operand", which may be the same - as <EM>unknown</EM> <EM>capability</EM>. For instance, the source code for Solaris' - xcurses uses the term "invalid" in this case. + <STRONG>tput</STRONG> <STRONG>-S</STRONG> + Process multiple capabilities. The <STRONG>-S</STRONG> option can be profitably + used with a shell "here document". - <STRONG>o</STRONG> It assigns exit code 255 to a numeric variable that is not - specified in the terminfo database. That likely is a documentation - error, confusing the <STRONG>-1</STRONG> written to the standard output for an - absent or cancelled numeric value versus an (unsigned) exit code. + $ <STRONG>tput</STRONG> <STRONG>-S</STRONG> <STRONG><<!</STRONG> + > <STRONG>clear</STRONG> + > <STRONG>cup</STRONG> <STRONG>10</STRONG> <STRONG>10</STRONG> + > <STRONG>bold</STRONG> + > <STRONG>!</STRONG> - The various Unix systems (AIX, HPUX, Solaris) use the same exit-codes - as ncurses. + The foregoing clears the screen, moves the cursor to position + (10, 10) and turns on bold (extra bright) mode. - NetBSD curses documents different exit codes which do not correspond to - either ncurses or X/Open. + <STRONG>tput</STRONG> <STRONG>clear</STRONG> <STRONG>cup</STRONG> <STRONG>10</STRONG> <STRONG>10</STRONG> <STRONG>bold</STRONG> + Perform the same actions as the foregoing "<STRONG>tput</STRONG> <STRONG>-S</STRONG>" example. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. - - This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109). + <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> - <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG> +ncurses 6.5 2024-04-20 <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -535,18 +563,18 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a> <ul> -<li><a href="#h3-Options">Options</a></li> -<li><a href="#h3-Commands">Commands</a></li> +<li><a href="#h3-Operands">Operands</a></li> <li><a href="#h3-Aliases">Aliases</a></li> <li><a href="#h3-Terminal-Size">Terminal Size</a></li> </ul> </li> -<li><a href="#h2-EXAMPLES">EXAMPLES</a></li> +<li><a href="#h2-OPTIONS">OPTIONS</a></li> +<li><a href="#h2-EXIT-STATUS">EXIT STATUS</a></li> +<li><a href="#h2-ENVIRONMENT">ENVIRONMENT</a></li> <li><a href="#h2-FILES">FILES</a></li> -<li><a href="#h2-EXIT-CODES">EXIT CODES</a></li> -<li><a href="#h2-DIAGNOSTICS">DIAGNOSTICS</a></li> -<li><a href="#h2-HISTORY">HISTORY</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-HISTORY">HISTORY</a></li> +<li><a href="#h2-EXAMPLES">EXAMPLES</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> diff --git a/doc/html/man/tset.1.html b/doc/html/man/tset.1.html index 471e05307aaf..a5669568fb27 100644 --- a/doc/html/man/tset.1.html +++ b/doc/html/man/tset.1.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,37 +27,39 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: tset.1,v 1.55 2020/02/02 23:34:34 tom Exp @ + * @Id: tset.1,v 1.85 2024/04/27 17:57:47 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>tset 1</TITLE> +<TITLE>tset 1 2024-04-27 ncurses 6.5 User commands</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">tset 1</H1> +<H1 class="no-header">tset 1 2024-04-27 ncurses 6.5 User commands</H1> <PRE> -<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> General Commands Manual <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> +<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> User commands <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>tset</STRONG>, <STRONG>reset</STRONG> - terminal initialization + <STRONG>tset</STRONG>, <STRONG>reset</STRONG> - initialize or reset terminal state </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> - <STRONG>tset</STRONG> [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>] [<EM>terminal</EM>] - <STRONG>reset</STRONG> [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>] [<EM>terminal</EM>] + <STRONG>tset</STRONG> [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>] [<EM>terminal-</EM> + <EM>type</EM>] + <STRONG>reset</STRONG> [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>] [<EM>terminal-</EM> + <EM>type</EM>] </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> -</PRE><H3><a name="h3-tset---initialization">tset - initialization</a></H3><PRE> +</PRE><H3><a name="h3-tset----initialization"><EM>tset</EM> -- initialization</a></H3><PRE> This program initializes terminals. First, <STRONG>tset</STRONG> retrieves the current terminal mode settings for your @@ -79,48 +81,49 @@ 1. The <STRONG>terminal</STRONG> argument specified on the command line. - 2. The value of the <STRONG>TERM</STRONG> environmental variable. + 2. The value of the <EM>TERM</EM> environment variable. 3. (BSD systems only.) The terminal type associated with the standard - error output device in the <EM>/etc/ttys</EM> file. (On System-V-like UNIXes - and systems using that convention, <EM>getty</EM> does this job by setting <STRONG>TERM</STRONG> + error output device in the <EM>/etc/ttys</EM> file. (On System V hosts and + systems using that convention, <STRONG>getty(8)</STRONG> does this job by setting <EM>TERM</EM> according to the type passed to it by <EM>/etc/inittab</EM>.) - 4. The default terminal type, "unknown". + 4. The default terminal type, "unknown", is not suitable for curses + applications. - If the terminal type was not specified on the command-line, the <STRONG>-m</STRONG> - option mappings are then applied (see the section <STRONG>TERMINAL</STRONG> <STRONG>TYPE</STRONG> <STRONG>MAPPING</STRONG> - for more information). Then, if the terminal type begins with a - question mark ("?"), the user is prompted for confirmation of the - terminal type. An empty response confirms the type, or, another type - can be entered to specify a new type. Once the terminal type has been - determined, the terminal description for the terminal is retrieved. If - no terminal description is found for the type, the user is prompted for - another terminal type. + If the terminal type was not specified on the command-line, the <STRONG>-m</STRONG> + option mappings are then applied; see subsection "Terminal Type + Mapping". Then, if the terminal type begins with a question mark + ("?"), the user is prompted for confirmation of the terminal type. An + empty response confirms the type, or, another type can be entered to + specify a new type. Once the terminal type has been determined, the + terminal description for the terminal is retrieved. If no terminal + description is found for the type, the user is prompted for another + terminal type. Once the terminal description is retrieved, - <STRONG>o</STRONG> if the "<STRONG>-w</STRONG>" option is enabled, <STRONG>tset</STRONG> may update the terminal's + <STRONG>o</STRONG> if the "<STRONG>-w</STRONG>" option is enabled, <STRONG>tset</STRONG> may update the terminal's window size. - If the window size cannot be obtained from the operating system, - but the terminal description (or environment, e.g., <STRONG>LINES</STRONG> and - <STRONG>COLUMNS</STRONG> variables specify this), use this to set the operating + If the window size cannot be obtained from the operating system, + but the terminal description (or environment, e.g., <EM>LINES</EM> and + <EM>COLUMNS</EM> variables specify this), use this to set the operating system's notion of the window size. - <STRONG>o</STRONG> if the "<STRONG>-c</STRONG>" option is enabled, the backspace, interrupt and line + <STRONG>o</STRONG> if the "<STRONG>-c</STRONG>" option is enabled, the backspace, interrupt and line kill characters (among many other things) are set - <STRONG>o</STRONG> unless the "<STRONG>-I</STRONG>" option is enabled, the terminal and tab - <EM>initialization</EM> strings are sent to the standard error output, and + <STRONG>o</STRONG> unless the "<STRONG>-I</STRONG>" option is enabled, the terminal and tab + <EM>initialization</EM> strings are sent to the standard error output, and <STRONG>tset</STRONG> waits one second (in case a hardware reset was issued). - <STRONG>o</STRONG> Finally, if the erase, interrupt and line kill characters have - changed, or are not set to their default values, their values are + <STRONG>o</STRONG> Finally, if the erase, interrupt and line kill characters have + changed, or are not set to their default values, their values are displayed to the standard error output. -</PRE><H3><a name="h3-reset---reinitialization">reset - reinitialization</a></H3><PRE> +</PRE><H3><a name="h3-reset----reinitialization"><EM>reset</EM> -- reinitialization</a></H3><PRE> When invoked as <STRONG>reset</STRONG>, <STRONG>tset</STRONG> sets the terminal modes to "sane" values: <STRONG>o</STRONG> sets cooked and echo modes, @@ -132,10 +135,10 @@ <STRONG>o</STRONG> resets any unset special characters to their default values before doing the terminal initialization described above. Also, rather - than using the terminal <EM>initialization</EM> strings, it uses the terminal + than using the terminal <EM>initialization</EM> strings, it uses the terminal <EM>reset</EM> strings. - The <STRONG>reset</STRONG> command is useful after a program dies leaving a terminal in + The <STRONG>reset</STRONG> command is useful after a program dies leaving a terminal in an abnormal state: <STRONG>o</STRONG> you may have to type @@ -143,76 +146,31 @@ <EM><LF></EM><STRONG>reset</STRONG><EM><LF></EM> (the line-feed character is normally control-J) to get the terminal - to work, as carriage-return may no longer work in the abnormal + to work, as carriage-return may no longer work in the abnormal state. <STRONG>o</STRONG> Also, the terminal will often not echo the command. -</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE> - The options are as follows: - - <STRONG>-c</STRONG> Set control characters and modes. - - <STRONG>-e</STRONG> Set the erase character to <EM>ch</EM>. - - <STRONG>-I</STRONG> Do not send the terminal or tab initialization strings to the - terminal. - - <STRONG>-i</STRONG> Set the interrupt character to <EM>ch</EM>. - - <STRONG>-k</STRONG> Set the line kill character to <EM>ch</EM>. - - <STRONG>-m</STRONG> Specify a mapping from a port type to a terminal. See the section - <STRONG>TERMINAL</STRONG> <STRONG>TYPE</STRONG> <STRONG>MAPPING</STRONG> for more information. - - <STRONG>-Q</STRONG> Do not display any values for the erase, interrupt and line kill - characters. Normally <STRONG>tset</STRONG> displays the values for control - characters which differ from the system's default values. - - <STRONG>-q</STRONG> The terminal type is displayed to the standard output, and the - terminal is not initialized in any way. The option "-" by itself - is equivalent but archaic. - - <STRONG>-r</STRONG> Print the terminal type to the standard error output. - - <STRONG>-s</STRONG> Print the sequence of shell commands to initialize the environment - variable <STRONG>TERM</STRONG> to the standard output. See the section <STRONG>SETTING</STRONG> <STRONG>THE</STRONG> - <STRONG>ENVIRONMENT</STRONG> for details. - - <STRONG>-V</STRONG> reports the version of ncurses which was used in this program, and - exits. - - <STRONG>-w</STRONG> Resize the window to match the size deduced via <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>. - Normally this has no effect, unless <STRONG>setupterm</STRONG> is not able to - detect the window size. - - The arguments for the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> options may either be entered as - actual characters or by using the "hat" notation, i.e., control-h may - be specified as "^H" or "^h". - - If neither <STRONG>-c</STRONG> or <STRONG>-w</STRONG> is given, both options are assumed. - - -</PRE><H2><a name="h2-SETTING-THE-ENVIRONMENT">SETTING THE ENVIRONMENT</a></H2><PRE> +</PRE><H3><a name="h3-Setting-the-Environment">Setting the Environment</a></H3><PRE> It is often desirable to enter the terminal type and information about the terminal's capabilities into the shell's environment. This is done using the <STRONG>-s</STRONG> option. When the <STRONG>-s</STRONG> option is specified, the commands to enter the information into the shell's environment are written to the standard output. If - the <STRONG>SHELL</STRONG> environmental variable ends in "csh", the commands are for - <STRONG>csh</STRONG>, otherwise, they are for <STRONG>sh</STRONG>. Note, the <STRONG>csh</STRONG> commands set and unset + the <EM>SHELL</EM> environment variable ends in "csh", the commands are for + <STRONG>csh(1)</STRONG>, otherwise, they are for <STRONG>sh(1)</STRONG>. The <EM>csh</EM> commands set and unset the shell variable <STRONG>noglob</STRONG>, leaving it unset. The following line in the <STRONG>.login</STRONG> or <STRONG>.profile</STRONG> files will initialize the environment correctly: eval `tset -s options ... ` -</PRE><H2><a name="h2-TERMINAL-TYPE-MAPPING">TERMINAL TYPE MAPPING</a></H2><PRE> +</PRE><H3><a name="h3-Terminal-Type-Mapping">Terminal Type Mapping</a></H3><PRE> When the terminal is not hardwired into the system (or the current system information is incorrect) the terminal type derived from the - <EM>/etc/ttys</EM> file or the <STRONG>TERM</STRONG> environmental variable is often something + <EM>/etc/ttys</EM> file or the <EM>TERM</EM> environment variable is often something generic like <STRONG>network</STRONG>, <STRONG>dialup</STRONG>, or <STRONG>unknown</STRONG>. When <STRONG>tset</STRONG> is used in a startup script it is often desirable to provide information about the type of terminal used on such ports. @@ -254,148 +212,188 @@ No whitespace characters are permitted in the <STRONG>-m</STRONG> option argument. Also, to avoid problems with meta-characters, it is suggested that the entire <STRONG>-m</STRONG> option argument be placed within single quote characters, and - that <STRONG>csh</STRONG> users insert a backslash character ("\") before any + that <EM>csh</EM> users insert a backslash character ("\") before any exclamation marks ("!"). -</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE> - A <STRONG>reset</STRONG> command appeared in 2BSD (April 1979), written by Kurt Shoens. - This program set the <EM>erase</EM> and <EM>kill</EM> characters to <STRONG>^H</STRONG> (backspace) and <STRONG>@</STRONG> - respectively. Mark Horton improved that in 3BSD (October 1979), adding - <EM>intr</EM>, <EM>quit</EM>, <EM>start</EM>/<EM>stop</EM> and <EM>eof</EM> characters as well as changing the - program to avoid modifying any user settings. +</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE> + The options are as follows: - Later in 4.1BSD (December 1980), Mark Horton added a call to the <STRONG>tset</STRONG> - program using the <STRONG>-I</STRONG> and <STRONG>-Q</STRONG> options, i.e., using that to improve the - terminal modes. With those options, that version of <STRONG>reset</STRONG> did not use - the termcap database. + <STRONG>-c</STRONG> Set control characters and modes. - A separate <STRONG>tset</STRONG> command was provided in 2BSD by Eric Allman. While the - oldest published source (from 1979) provides both <STRONG>tset</STRONG> and <STRONG>reset</STRONG>, - Allman's comments in the 2BSD source code indicate that he began work - in October 1977, continuing development over the next few years. + <STRONG>-e</STRONG> <EM>ch</EM> + Set the erase character to <EM>ch</EM>. - In September 1980, Eric Allman modified <STRONG>tset</STRONG>, adding the code from the - existing "reset" feature when <STRONG>tset</STRONG> was invoked as <STRONG>reset</STRONG>. Rather than - simply copying the existing program, in this merged version, <STRONG>tset</STRONG> used - the termcap database to do additional (re)initialization of the - terminal. This version appeared in 4.1cBSD, late in 1982. + <STRONG>-I</STRONG> Do not send the terminal or tab initialization strings to the + terminal. + + <STRONG>-i</STRONG> <EM>ch</EM> + Set the interrupt character to <EM>ch</EM>. + + <STRONG>-k</STRONG> <EM>ch</EM> + Set the line kill character to <EM>ch</EM>. + + <STRONG>-m</STRONG> <EM>mapping</EM> + Specify a mapping from a port type to a terminal; see subsection + "Terminal Type Mapping". + + <STRONG>-Q</STRONG> Do not display any values for the erase, interrupt and line kill + characters. Normally <STRONG>tset</STRONG> displays the values for control + characters which differ from the system's default values. - Other developers (e.g., Keith Bostic and Jim Bloom) continued to modify - <STRONG>tset</STRONG> until 4.4BSD was released in 1993. + <STRONG>-q</STRONG> The terminal type is displayed to the standard output, and the + terminal is not initialized in any way. The option "-" by itself + is equivalent but archaic. - The <STRONG>ncurses</STRONG> implementation was lightly adapted from the 4.4BSD sources - for a terminfo environment by Eric S. Raymond <esr@snark.thyrsus.com>. + <STRONG>-r</STRONG> Print the terminal type to the standard error output. + <STRONG>-s</STRONG> Print the sequence of shell commands to initialize the environment + variable <EM>TERM</EM> to the standard output; see subsection "Setting the + Environment". -</PRE><H2><a name="h2-COMPATIBILITY">COMPATIBILITY</a></H2><PRE> - Neither IEEE Std 1003.1/The Open Group Base Specifications Issue 7 + <STRONG>-V</STRONG> reports the version of <EM>ncurses</EM> which was used in this program, and + exits. + + <STRONG>-w</STRONG> Resize the window to match the size deduced via <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>. + Normally this has no effect, unless <STRONG>setupterm</STRONG> is not able to + detect the window size. + + The arguments for the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> options may either be entered as + actual characters or by using the "hat" notation, i.e., control-h may + be specified as "^H" or "^h". + + If neither <STRONG>-c</STRONG> or <STRONG>-w</STRONG> is given, both options are assumed. + + +</PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE> + The <STRONG>tset</STRONG> command uses these environment variables: + + <EM>SHELL</EM> + tells <STRONG>tset</STRONG> whether to initialize <EM>TERM</EM> using <STRONG>sh(1)</STRONG> or <STRONG>csh(1)</STRONG> + syntax. + + <EM>TERM</EM> Denotes your terminal type. Each terminal type is distinct, + though many are similar. + + <EM>TERMCAP</EM> + may denote the location of a termcap database. If it is not an + absolute pathname, e.g., begins with a "/", <STRONG>tset</STRONG> removes the + variable from the environment before looking for the terminal + description. + + +</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE> + <EM>/etc/ttys</EM> + system port name to terminal type mapping database (BSD versions + only). + + <EM>/usr/share/terminfo</EM> + compiled terminal description database directory + + +</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> + Neither IEEE Std 1003.1/The Open Group Base Specifications Issue 7 (POSIX.1-2008) nor X/Open Curses Issue 7 documents <STRONG>tset</STRONG> or <STRONG>reset</STRONG>. - The AT&T <STRONG>tput</STRONG> utility (AIX, HPUX, Solaris) incorporated the terminal- - mode manipulation as well as termcap-based features such as resetting - tabstops from <STRONG>tset</STRONG> in BSD (4.1c), presumably with the intention of - making <STRONG>tset</STRONG> obsolete. However, each of those systems still provides - <STRONG>tset</STRONG>. In fact, the commonly-used <STRONG>reset</STRONG> utility is always an alias for + The AT&T <STRONG>tput</STRONG> utility (AIX, HP-UX, Solaris) incorporated the terminal- + mode manipulation as well as termcap-based features such as resetting + tabstops from <STRONG>tset</STRONG> in BSD (4.1c), presumably with the intention of + making <STRONG>tset</STRONG> obsolete. However, each of those systems still provides + <STRONG>tset</STRONG>. In fact, the commonly-used <STRONG>reset</STRONG> utility is always an alias for <STRONG>tset</STRONG>. - The <STRONG>tset</STRONG> utility provides for backward-compatibility with BSD - environments (under most modern UNIXes, <STRONG>/etc/inittab</STRONG> and <STRONG>getty(1)</STRONG> can - set <STRONG>TERM</STRONG> appropriately for each dial-up line; this obviates what was - <STRONG>tset</STRONG>'s most important use). This implementation behaves like 4.4BSD - <STRONG>tset</STRONG>, with a few exceptions specified here. + The <STRONG>tset</STRONG> utility provides backward compatibility with BSD environments; + under most modern Unices, <EM>/etc/inittab</EM> and <STRONG>getty(8)</STRONG> can set <EM>TERM</EM> + appropriately for each dial-up line, obviating what was <STRONG>tset</STRONG>'s most + important use. This implementation behaves like 4.4BSD <STRONG>tset</STRONG>, with a + few exceptions we shall consider now. - A few options are different because the <STRONG>TERMCAP</STRONG> variable is no longer - supported under terminfo-based <STRONG>ncurses</STRONG>: + A few options are different because the <EM>TERMCAP</EM> variable is no longer + supported under terminfo-based <EM>ncurses</EM>: - <STRONG>o</STRONG> The <STRONG>-S</STRONG> option of BSD <STRONG>tset</STRONG> no longer works; it prints an error + <STRONG>o</STRONG> The <STRONG>-S</STRONG> option of BSD <STRONG>tset</STRONG> no longer works; it prints an error message to the standard error and dies. - <STRONG>o</STRONG> The <STRONG>-s</STRONG> option only sets <STRONG>TERM</STRONG>, not <STRONG>TERMCAP</STRONG>. + <STRONG>o</STRONG> The <STRONG>-s</STRONG> option only sets <EM>TERM</EM>, not <EM>TERMCAP</EM>. - There was an undocumented 4.4BSD feature that invoking <STRONG>tset</STRONG> via a link - named "TSET" (or via any other name beginning with an upper-case + There was an undocumented 4.4BSD feature that invoking <STRONG>tset</STRONG> via a link + named "TSET" (or via any other name beginning with an upper-case letter) set the terminal to use upper-case only. This feature has been omitted. The <STRONG>-A</STRONG>, <STRONG>-E</STRONG>, <STRONG>-h</STRONG>, <STRONG>-u</STRONG> and <STRONG>-v</STRONG> options were deleted from the <STRONG>tset</STRONG> utility in - 4.4BSD. None of them were documented in 4.3BSD and all are of limited - utility at best. The <STRONG>-a</STRONG>, <STRONG>-d</STRONG>, and <STRONG>-p</STRONG> options are similarly not - documented or useful, but were retained as they appear to be in - widespread use. It is strongly recommended that any usage of these + 4.4BSD. None of them were documented in 4.3BSD and all are of limited + utility at best. The <STRONG>-a</STRONG>, <STRONG>-d</STRONG>, and <STRONG>-p</STRONG> options are similarly not + documented or useful, but were retained as they appear to be in + widespread use. It is strongly recommended that any usage of these three options be changed to use the <STRONG>-m</STRONG> option instead. The <STRONG>-a</STRONG>, <STRONG>-d</STRONG>, and <STRONG>-p</STRONG> options are therefore omitted from the usage summary above. - Very old systems, e.g., 3BSD, used a different terminal driver which - was replaced in 4BSD in the early 1980s. To accommodate these older - systems, the 4BSD <STRONG>tset</STRONG> provided a <STRONG>-n</STRONG> option to specify that the new - terminal driver should be used. This implementation does not provide + Very old systems, e.g., 3BSD, used a different terminal driver which + was replaced in 4BSD in the early 1980s. To accommodate these older + systems, the 4BSD <STRONG>tset</STRONG> provided a <STRONG>-n</STRONG> option to specify that the new + terminal driver should be used. This implementation does not provide that choice. - It is still permissible to specify the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> options without + It is still permissible to specify the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> options without arguments, although it is strongly recommended that such usage be fixed to explicitly specify the character. - As of 4.4BSD, executing <STRONG>tset</STRONG> as <STRONG>reset</STRONG> no longer implies the <STRONG>-Q</STRONG> option. + As of 4.4BSD, executing <STRONG>tset</STRONG> as <STRONG>reset</STRONG> no longer implies the <STRONG>-Q</STRONG> option. Also, the interaction between the - option and the <EM>terminal</EM> argument in some historic implementations of <STRONG>tset</STRONG> has been removed. - The <STRONG>-c</STRONG> and <STRONG>-w</STRONG> options are not found in earlier implementations. + The <STRONG>-c</STRONG> and <STRONG>-w</STRONG> options are not found in earlier implementations. However, a different window size-change feature was provided in 4.4BSD. - <STRONG>o</STRONG> In 4.4BSD, <STRONG>tset</STRONG> uses the window size from the termcap description - to set the window size if <STRONG>tset</STRONG> is not able to obtain the window + <STRONG>o</STRONG> In 4.4BSD, <STRONG>tset</STRONG> uses the window size from the termcap description + to set the window size if <STRONG>tset</STRONG> is not able to obtain the window size from the operating system. - <STRONG>o</STRONG> In ncurses, <STRONG>tset</STRONG> obtains the window size using <STRONG>setupterm</STRONG>, which may - be from the operating system, the <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> environment + <STRONG>o</STRONG> In <EM>ncurses</EM>, <STRONG>tset</STRONG> obtains the window size using <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>, which + may be from the operating system, the <EM>LINES</EM> and <EM>COLUMNS</EM> environment variables or the terminal description. - Obtaining the window size from the terminal description is common to - both implementations, but considered obsolescent. Its only practical - use is for hardware terminals. Generally speaking, a window size would - be unset only if there were some problem obtaining the value from the - operating system (and <STRONG>setupterm</STRONG> would still fail). For that reason, - the <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> environment variables may be useful for working - around window-size problems. Those have the drawback that if the - window is resized, those variables must be recomputed and reassigned. - To do this more easily, use the <STRONG><A HREF="resize.1.html">resize(1)</A></STRONG> program. + Obtaining the window size from a terminal's type description is common + to both implementations, but considered obsolescent. Its only + practical use is for hardware terminals. Generally, the window size + will remain uninitialized only if there were a problem obtaining the + value from the operating system (and <STRONG>setupterm</STRONG> would still fail). The + <EM>LINES</EM> and <EM>COLUMNS</EM> environment variables may thus be useful for working + around window-size problems, but have the drawback that if the window + is resized, their values must be recomputed and reassigned. The + <STRONG>resize(1)</STRONG> program distributed with <STRONG>xterm(1)</STRONG> assists this activity. -</PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE> - The <STRONG>tset</STRONG> command uses these environment variables: - - SHELL - tells <STRONG>tset</STRONG> whether to initialize <STRONG>TERM</STRONG> using <STRONG>sh</STRONG> or <STRONG>csh</STRONG> syntax. - - TERM Denotes your terminal type. Each terminal type is distinct, - though many are similar. - - TERMCAP - may denote the location of a termcap database. If it is not an - absolute pathname, e.g., begins with a "/", <STRONG>tset</STRONG> removes the - variable from the environment before looking for the terminal - description. - - -</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE> - /etc/ttys - system port name to terminal type mapping database (BSD versions - only). - - /usr/share/terminfo - terminal capability database +</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE> + A <STRONG>reset</STRONG> command written by Kurt Shoens appeared in 1BSD (March 1978). + It set the <EM>erase</EM> and <EM>kill</EM> characters to <STRONG>^H</STRONG> (backspace) and <STRONG>@</STRONG> + respectively. Mark Horton improved this <STRONG>reset</STRONG> in 3BSD (October 1979), + adding <EM>intr</EM>, <EM>quit</EM>, <EM>start</EM>/<EM>stop</EM>, and <EM>eof</EM> characters as well as changing + the program to avoid modifying any user settings. That version of + <STRONG>reset</STRONG> did not use <EM>termcap</EM>. + + Eric Allman wrote a distinct <STRONG>tset</STRONG> command for 1BSD, using a forerunner + of <EM>termcap</EM> called <EM>ttycap</EM>. Allman's comments in the source code + indicate that he began work in October 1977, continuing development + over the next few years. By late 1979, it had migrated to <EM>termcap</EM> and + handled the <EM>TERMCAP</EM> variable. Later comments indicate that <STRONG>tset</STRONG> was + modified in September 1980 to use logic copied from the 3BSD "reset" + program when it was invoked as <STRONG>reset</STRONG>. This version appeared in + 4.1cBSD, late in 1982. Other developers such as Keith Bostic and Jim + Bloom continued to modify <STRONG>tset</STRONG> until 4.4BSD was released in 1993. + + The <EM>ncurses</EM> implementation was lightly adapted from the 4.4BSD sources + to use the <EM>terminfo</EM> API by Eric S. Raymond <esr@snark.thyrsus.com>. </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> <STRONG>csh(1)</STRONG>, <STRONG>sh(1)</STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG>tty(4)</STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG> - This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210109). - - <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> +ncurses 6.5 2024-04-27 <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -403,17 +401,17 @@ <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> <li><a href="#h2-DESCRIPTION">DESCRIPTION</a> <ul> -<li><a href="#h3-tset---initialization">tset - initialization</a></li> -<li><a href="#h3-reset---reinitialization">reset - reinitialization</a></li> +<li><a href="#h3-tset----initialization">tset -- initialization</a></li> +<li><a href="#h3-reset----reinitialization">reset -- reinitialization</a></li> +<li><a href="#h3-Setting-the-Environment">Setting the Environment</a></li> +<li><a href="#h3-Terminal-Type-Mapping">Terminal Type Mapping</a></li> </ul> </li> <li><a href="#h2-OPTIONS">OPTIONS</a></li> -<li><a href="#h2-SETTING-THE-ENVIRONMENT">SETTING THE ENVIRONMENT</a></li> -<li><a href="#h2-TERMINAL-TYPE-MAPPING">TERMINAL TYPE MAPPING</a></li> -<li><a href="#h2-HISTORY">HISTORY</a></li> -<li><a href="#h2-COMPATIBILITY">COMPATIBILITY</a></li> <li><a href="#h2-ENVIRONMENT">ENVIRONMENT</a></li> <li><a href="#h2-FILES">FILES</a></li> +<li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-HISTORY">HISTORY</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> diff --git a/doc/html/man/user_caps.5.html b/doc/html/man/user_caps.5.html index ce284d30f1a8..10b6f77649da 100644 --- a/doc/html/man/user_caps.5.html +++ b/doc/html/man/user_caps.5.html @@ -1,6 +1,7 @@ -<!-- +<!-- + * t **************************************************************************** - * Copyright 2018-2019,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,43 +28,45 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: user_caps.5,v 1.16 2020/12/19 21:26:11 tom Exp @ + * @Id: user_caps.5,v 1.49 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>user_caps 5</TITLE> +<TITLE>user_caps 5 2024-03-16 ncurses 6.5 File formats</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">user_caps 5</H1> +<H1 class="no-header">user_caps 5 2024-03-16 ncurses 6.5 File formats</H1> <PRE> -<STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> File Formats Manual <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> +<STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> File formats <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - user_caps - user-defined terminfo capabilities + user_caps - user-defined <EM>terminfo</EM> capability format </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> - <STRONG>tic</STRONG> <STRONG>-x,</STRONG> <STRONG>infocmp</STRONG> <STRONG>-x</STRONG> + <STRONG>infocmp</STRONG> <STRONG>-x</STRONG> + + <STRONG>tic</STRONG> <STRONG>-x</STRONG> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> </PRE><H3><a name="h3-Background">Background</a></H3><PRE> - Before ncurses 5.0, terminfo databases used a <EM>fixed</EM> <EM>repertoire</EM> of + Before <EM>ncurses</EM> 5.0, terminfo databases used a <EM>fixed</EM> <EM>repertoire</EM> of terminal capabilities designed for the SVr2 terminal database in 1984, and extended in stages through SVr4 (1989), and standardized in the Single Unix Specification beginning in 1995. Most of the <EM>extensions</EM> in this fixed repertoire were additions to the - tables of boolean, numeric and string capabilities. Rather than change + tables of Boolean, numeric and string capabilities. Rather than change the meaning of an existing capability, a new name was added. The terminfo database uses a binary format; binary compatibility was ensured by using a header which gave the number of items in the tables @@ -89,21 +92,21 @@ needed, while others were added (out of order) to comply with X/Open Curses. - While ncurses' repertoire of predefined capabilities is closest to + While <EM>ncurses</EM>' repertoire of predefined capabilities is closest to Solaris, Solaris's terminfo database has a few differences from the - list published by X/Open Curses. For example, ncurses can be + list published by X/Open Curses. For example, <EM>ncurses</EM> can be configured with tables which match the terminal databases for AIX, HP-UX or OSF/1, rather than the default Solaris-like configuration. - <STRONG>o</STRONG> In SVr4 curses and ncurses, the terminal database is defined at + <STRONG>o</STRONG> In SVr4 curses and <EM>ncurses</EM>, the terminal database is defined at compile-time using a text file which lists the different terminal capabilities. In principle, the text-file can be extended, but doing this requires recompiling and reinstalling the library. The text-file - used in ncurses for terminal capabilities includes details for + used in <EM>ncurses</EM> for terminal capabilities includes details for various systems past the documented X/Open Curses features. For - example, ncurses supports these capabilities in each configuration: + example, <EM>ncurses</EM> supports these capabilities in each configuration: memory_lock (meml) lock memory above cursor @@ -115,7 +118,7 @@ (box1) box characters primary set The memory lock/unlock capabilities were included because they were - used in the X11R6 terminal description for <STRONG>xterm</STRONG>. The <EM>box1</EM> + used in the X11R6 terminal description for <STRONG>xterm(1)</STRONG>. The <EM>box1</EM> capability is used in tic to help with terminal descriptions written for AIX. @@ -132,13 +135,13 @@ Although termcap's extensibility was rarely used (it was never the <EM>speaker</EM> who had actually used the feature), the criticism had a point. - ncurses 5.0 provided a way to detect nonstandard capabilities, + <EM>ncurses</EM> 5.0 provided a way to detect nonstandard capabilities, determine their type and optionally store and retrieve them in a way which did not interfere with other applications. These are referred to as <EM>user-defined</EM> <EM>capabilities</EM> because no modifications to the toolset's predefined capability names are needed. - The ncurses utilities <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> have a command-line option "-x" + The <EM>ncurses</EM> utilities <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> have a command-line option "-x" to control whether the nonstandard capabilities are stored or retrieved. A library function <STRONG>use_extended_names</STRONG> is provided for the same purpose. @@ -147,7 +150,7 @@ user-defined capability if the capability name is not one of the predefined names. - Because ncurses provides a termcap library interface, these user- + Because <EM>ncurses</EM> provides a termcap library interface, these user- defined capabilities may be visible to termcap applications: <STRONG>o</STRONG> The termcap interface (like all implementations of termcap) @@ -168,7 +171,7 @@ predefined function-key names, to which a series of keys can be assigned, that is insufficient for more than a dozen keys multiplied by more than a couple of modifier combinations. The - ncurses database uses a convention based on <STRONG>xterm</STRONG> to provide + <EM>ncurses</EM> database uses a convention based on <STRONG>xterm(1)</STRONG> to provide extended special-key names. Fitting that into termcap's limitation of 2-character names would @@ -176,12 +179,12 @@ terminfo. -</PRE><H3><a name="h3-Recognized-capabilities">Recognized capabilities</a></H3><PRE> - The ncurses library uses the user-definable capabilities. While the - terminfo database may have other extensions, ncurses makes explicit +</PRE><H3><a name="h3-Recognized-Capabilities">Recognized Capabilities</a></H3><PRE> + The <EM>ncurses</EM> library uses the user-definable capabilities. While the + terminfo database may have other extensions, <EM>ncurses</EM> makes explicit checks for these: - AX <EM>boolean</EM>, asserts that the terminal interprets SGR 39 and SGR 49 + AX <EM>Boolean</EM>, asserts that the terminal interprets SGR 39 and SGR 49 by resetting the foreground and background color, respectively, to the default. @@ -193,18 +196,24 @@ The command "<STRONG>tput</STRONG> <STRONG>clear</STRONG>" does the same thing. + NQ <EM>Boolean</EM>, used to suppress a consistency check in tic for the + <EM>ncurses</EM> capabilities in user6 through user9 (u6, u7, u8 and u9) + which tell how to query the terminal's cursor position and its + device attributes. + RGB - <EM>boolean</EM>, <EM>number</EM> <STRONG>or</STRONG> <EM>string</EM>, to assert that the <STRONG>set_a_foreground</STRONG> - and <STRONG>set_a_background</STRONG> capabilities correspond to <EM>direct</EM> <EM>colors</EM>, - using an RGB (red/green/blue) convention. This capability allows - the <STRONG>color_content</STRONG> function to return appropriate values without - requiring the application to initialize colors using <STRONG>init_color</STRONG>. + <EM>Boolean</EM>, <EM>number</EM> <STRONG>or</STRONG> <EM>string</EM>, used to assert that the + <STRONG>set_a_foreground</STRONG> and <STRONG>set_a_background</STRONG> capabilities correspond to + <EM>direct</EM> <EM>colors</EM>, using an RGB (red/green/blue) convention. This + capability allows the <STRONG>color_content</STRONG> function to return + appropriate values without requiring the application to + initialize colors using <STRONG>init_color</STRONG>. - The capability type determines the values which ncurses sees: + The capability type determines the values which <EM>ncurses</EM> sees: - <EM>boolean</EM> + <EM>Boolean</EM> implies that the number of bits for red, green and blue are - the same. Using the maximum number of colors, ncurses adds + the same. Using the maximum number of colors, <EM>ncurses</EM> adds two, divides that sum by three, and assigns the result to red, green and blue in that order. @@ -213,9 +222,9 @@ comparison to red. <EM>number</EM> - tells ncurses what result to add to red, green and blue. If - ncurses runs out of bits, blue (and green) lose just as in the - <EM>boolean</EM> case. + tells <EM>ncurses</EM> what result to add to red, green and blue. If + <EM>ncurses</EM> runs out of bits, blue (and green) lose just as in the + <EM>Boolean</EM> case. <EM>string</EM> explicitly list the number of bits used for red, green and @@ -227,7 +236,7 @@ could define <STRONG>RGB#1</STRONG> to represent the standard eight ANSI colors, i.e., one bit per color. - U8 <EM>number</EM>, asserts that ncurses must use Unicode values for line- + U8 <EM>number</EM>, asserts that <EM>ncurses</EM> must use Unicode values for line- drawing characters, and that it should ignore the alternate character set capabilities when the locale uses UTF-8 encoding. For more information, see the discussion of <STRONG>NCURSES_NO_UTF8_ACS</STRONG> @@ -235,16 +244,16 @@ Set this capability to a nonzero value to enable it. - XM <EM>string</EM>, override ncurses's built-in string which enables/disables - <STRONG>xterm</STRONG> mouse mode. + XM <EM>string</EM>, override <EM>ncurses</EM>'s built-in string which enables/disables + <STRONG>xterm(1)</STRONG> mouse mode. - ncurses sends a character sequence to the terminal to initialize + <EM>ncurses</EM> sends a character sequence to the terminal to initialize mouse mode, and when the user clicks the mouse buttons or (in certain modes) moves the mouse, handles the characters sent back by the terminal to tell it what was done with the mouse. The mouse protocol is enabled when the <EM>mask</EM> passed in the - <STRONG>mousemask</STRONG> function is nonzero. By default, ncurses handles the + <STRONG>mousemask</STRONG> function is nonzero. By default, <EM>ncurses</EM> handles the responses for the X11 xterm mouse protocol. It also knows about the <EM>SGR</EM> <EM>1006</EM> xterm mouse protocol, but must to be told to look for this specifically. It will not be able to guess which mode @@ -253,7 +262,7 @@ The <STRONG>XM</STRONG> capability has a single parameter. If nonzero, the mouse protocol should be enabled. If zero, the mouse protocol should - be disabled. ncurses inspects this capability if it is present, + be disabled. <EM>ncurses</EM> inspects this capability if it is present, to see whether the 1006 protocol is used. If so, it expects the responses to use the <EM>SGR</EM> <EM>1006</EM> xterm mouse protocol. @@ -305,36 +314,43 @@ %?%p4%tM%em%;, -</PRE><H3><a name="h3-Extended-key-definitions">Extended key-definitions</a></H3><PRE> +</PRE><H3><a name="h3-Extended-Key-Definitions">Extended Key Definitions</a></H3><PRE> Several terminals provide the ability to send distinct strings for combinations of modified special keys. There is no standard for what those keys can send. - Since 1999, <STRONG>xterm</STRONG> has supported <EM>shift</EM>, <EM>control</EM>, <EM>alt</EM>, and <EM>meta</EM> modifiers - which produce distinct special-key strings. In a terminal description, - ncurses has no special knowledge of the modifiers used. Applications - can use the <EM>naming</EM> <EM>convention</EM> established for <STRONG>xterm</STRONG> to find these - special keys in the terminal description. - - Starting with the curses convention that <EM>key</EM> <EM>names</EM> begin with "k" and - that shifted special keys are an uppercase name, ncurses' terminal - database defines these names to which a suffix is added: - - <EM>Name</EM> <EM>Description</EM> - --------------------------------------------------------------- - kDC special form of kdch1 (delete character) - kDN special form of kcud1 (cursor down) - kEND special form of kend (End) - kHOM special form of khome (Home) - kLFT special form of kcub1 (cursor-left or cursor-back) - kNXT special form of knext (Next, or Page-Down) - kPRV special form of kprev (Prev, or Page-Up) - kRIT special form of kcuf1 (cursor-right, or cursor-forward) - kUP special form of kcuu1 (cursor-up) + Since 1999, <STRONG>xterm(1)</STRONG> has supported <EM>shift</EM>, <EM>control</EM>, <EM>alt</EM>, and <EM>meta</EM> + modifiers which produce distinct special-key strings. In a terminal + description, <EM>ncurses</EM> has no special knowledge of the modifiers used. + Applications can use the <EM>naming</EM> <EM>convention</EM> established for <STRONG>xterm</STRONG> to + find these special keys in the terminal description. + + Starting with the <EM>curses</EM> convention that capability codes describing + the input generated by a terminal's key caps begin with "k", and that + shifted special keys use uppercase letters in their names, <EM>ncurses</EM>'s + terminal database defines the following names and codes to which a + suffix is added. + + <STRONG>Code</STRONG> <STRONG>Description</STRONG> + ------------------------------------------------------------------- + <STRONG>kDC</STRONG> shifted kdch1 (delete character) + <STRONG>kDN</STRONG> shifted kcud1 (cursor down) + <STRONG>kEND</STRONG> shifted kend (end) + <STRONG>kHOM</STRONG> shifted khome (home) + <STRONG>kLFT</STRONG> shifted kcub1 (cursor back) + <STRONG>kNXT</STRONG> shifted knext (next) + <STRONG>kPRV</STRONG> shifted kprev (previous) + <STRONG>kRIT</STRONG> shifted kcuf1 (cursor forward) + <STRONG>kUP</STRONG> shifted kcuu1 (cursor up) + + Keycap nomenclature on the Unix systems for which <EM>curses</EM> was developed + differs from today's ubiquitous descendants of the IBM PC/AT keyboard + layout. In the foregoing, interpret "backward" as "left", "forward" as + "right", "next" as "page down", and "prev(ious)" as "page up". These are the suffixes used to denote the modifiers: - <EM>Value</EM> <EM>Description</EM> + <STRONG>Value</STRONG> <STRONG>Description</STRONG> ---------------------------------- 2 Shift 3 Alt @@ -352,42 +368,42 @@ 15 Meta + Ctrl + Alt 16 Meta + Ctrl + Alt + Shift - None of these are predefined; terminal descriptions can refer to <EM>names</EM> - which ncurses will allocate at runtime to <EM>key-codes</EM>. To use these keys - in an ncurses program, an application could do this: + None of these are predefined; terminal descriptions can refer to <EM>names</EM> + which <EM>ncurses</EM> will allocate at runtime to <EM>key-codes</EM>. To use these keys + in an <EM>ncurses</EM> program, an application could do this: - <STRONG>o</STRONG> using a list of extended key <EM>names</EM>, ask <STRONG><A HREF="curs_terminfo.3x.html">tigetstr(3x)</A></STRONG> for their + <STRONG>o</STRONG> using a list of extended key <EM>names</EM>, ask <STRONG><A HREF="curs_terminfo.3x.html">tigetstr(3x)</A></STRONG> for their values, and - <STRONG>o</STRONG> given the list of values, ask <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG> for the <EM>key-code</EM> + <STRONG>o</STRONG> given the list of values, ask <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG> for the <EM>key-code</EM> which would be returned for those keys by <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - The "-x" extension feature of <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> has been adopted in - NetBSD curses. That implementation stores user-defined capabilities, + The "-x" extension feature of <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> has been adopted in + NetBSD curses. That implementation stores user-defined capabilities, but makes no use of these capabilities itself. +</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE> + Thomas E. Dickey + beginning with <EM>ncurses</EM> 5.0 (1999) + + </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>. + <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> The terminal database section <EM>NCURSES</EM> <EM>USER-DEFINABLE</EM> <EM>CAPABILITIES</EM> - summarizes commonly-used user-defined capabilities which are used in - the terminal descriptions. Some of those features are mentioned in + summarizes commonly-used user-defined capabilities which are used in + the terminal descriptions. Some of those features are mentioned in <STRONG>screen(1)</STRONG> or <STRONG>tmux(1)</STRONG>. - <EM>XTerm</EM> <EM>Control</EM> <EM>Sequences</EM> provides further information on the <STRONG>xterm</STRONG> - features which are used in these extended capabilities. + <EM>XTerm</EM> <EM>Control</EM> <EM>Sequences</EM> provides further information on the <STRONG>xterm(1)</STRONG> + features that are used in these extended capabilities. -</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE> - Thomas E. Dickey - beginning with ncurses 5.0 (1999) - - - <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -396,13 +412,13 @@ <li><a href="#h2-DESCRIPTION">DESCRIPTION</a> <ul> <li><a href="#h3-Background">Background</a></li> -<li><a href="#h3-Recognized-capabilities">Recognized capabilities</a></li> -<li><a href="#h3-Extended-key-definitions">Extended key-definitions</a></li> +<li><a href="#h3-Recognized-Capabilities">Recognized Capabilities</a></li> +<li><a href="#h3-Extended-Key-Definitions">Extended Key Definitions</a></li> </ul> </li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> -<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> <li><a href="#h2-AUTHORS">AUTHORS</a></li> +<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> </BODY> diff --git a/doc/html/man/wresize.3x.html b/doc/html/man/wresize.3x.html index 8ddc39bb1fd5..b224fd393707 100644 --- a/doc/html/man/wresize.3x.html +++ b/doc/html/man/wresize.3x.html @@ -1,6 +1,6 @@ -<!-- +<!-- **************************************************************************** - * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 2018-2023,2024 Thomas E. Dickey * * Copyright 1998-2010,2015 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -28,27 +28,27 @@ * authorization. * **************************************************************************** * Author: Thomas E. Dickey 1996 - * @Id: wresize.3x,v 1.17 2020/10/17 23:56:38 tom Exp @ + * @Id: wresize.3x,v 1.36 2024/03/16 15:35:01 tom Exp @ --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> -<TITLE>wresize 3x</TITLE> +<TITLE>wresize 3x 2024-03-16 ncurses 6.5 Library calls</TITLE> <link rel="author" href="mailto:bug-ncurses@gnu.org"> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + </HEAD> <BODY> -<H1 class="no-header">wresize 3x</H1> +<H1 class="no-header">wresize 3x 2024-03-16 ncurses 6.5 Library calls</H1> <PRE> -<STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> +<STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> Library calls <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> - <STRONG>wresize</STRONG> - resize a curses window + <STRONG>wresize</STRONG> - resize a <EM>curses</EM> window </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> @@ -58,44 +58,44 @@ </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> - This is an extension to the curses library. It reallocates storage for - an <STRONG>ncurses</STRONG> window to adjust its dimensions to the specified values. If - either dimension is larger than the current values, the window's data - is filled with blanks that have the current background rendition (as - set by <STRONG>wbkgdset</STRONG>) merged into them. + This <EM>ncurses</EM> extension to standard <EM>curses</EM> reallocates storage for a + <EM>curses</EM> window to adjust its dimensions to the specified values. If + either dimension is larger than its current value, the expanded part of + the window is filled with blanks merged with current background + rendition (as set by <STRONG><A HREF="curs_bkgd.3x.html">wbkgdset(3x)</A></STRONG>). </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> - The function returns the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success. - It will fail if either of the dimensions less than or equal to zero, or - if an error occurs while (re)allocating memory for the window. + <STRONG>wresize</STRONG> returns <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success. It will fail if + either of the dimensions is less than or equal to zero, or if an error + occurs while (re)allocating memory for the window. </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> The only restriction placed on the dimensions is that they be greater - than zero. The dimensions are not compared to <STRONG>curses</STRONG> screen dimensions - to simplify the logic of <STRONG>resizeterm</STRONG>. The caller must ensure that the - window's dimensions fit within the actual screen dimensions. + than zero. They are <EM>not</EM> compared to the <EM>curses</EM> screen dimensions; this + keeps the logic of <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> simple. The caller must ensure that + the window's dimensions fit within the actual screen dimensions. </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - It is not possible to resize windows with SVr4 curses. + It is not possible to resize windows with SVr4 <EM>curses</EM>. - This extension of ncurses was introduced in mid-1995. It was adopted - in NetBSD curses (2001) and PDCurses (2003). + <EM>ncurses</EM> introduced this extension in mid-1995. NetBSD <EM>curses</EM> adopted + it in 2001, and <EM>PDCurses</EM> in 2003. -</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>. +</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE> + Thomas Dickey (from an equivalent function written in 1988 for BSD + <EM>curses</EM>). -</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE> - Thomas Dickey (from an equivalent function written in 1988 for BSD - curses). +</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> + <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> - <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> +ncurses 6.5 2024-03-16 <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -105,8 +105,8 @@ <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> <li><a href="#h2-NOTES">NOTES</a></li> <li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-AUTHORS">AUTHORS</a></li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> -<li><a href="#h2-AUTHOR">AUTHOR</a></li> </ul> </div> </BODY> diff --git a/doc/html/ncurses-intro.html b/doc/html/ncurses-intro.html index ebf2e2e03dda..194850246fa6 100644 --- a/doc/html/ncurses-intro.html +++ b/doc/html/ncurses-intro.html @@ -1,7 +1,7 @@ <!-- - $Id: ncurses-intro.html,v 1.54 2020/02/02 23:34:34 tom Exp $ + $Id: ncurses-intro.html,v 1.57 2022/11/26 19:33:46 tom Exp $ **************************************************************************** - * Copyright 2019,2020 Thomas E. Dickey * + * Copyright 2019-2020,2022 Thomas E. Dickey * * Copyright 2000-2013,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -30,288 +30,279 @@ **************************************************************************** --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> - <html> <head> <meta name="generator" content= - "HTML Tidy for HTML5 for Linux version 5.2.0"> - + "HTML Tidy for HTML5 for Linux version 5.6.0"> <title>Writing Programs with NCURSES</title> <link rel="author" href="mailto:bugs-ncurses@gnu.org"> <meta http-equiv="Content-Type" content= "text/html; charset=us-ascii"> </head> - <body> - <h1>Writing Programs with NCURSES</h1> + <h1 class="no-header">Writing Programs with NCURSES</h1> + + <h2>Writing Programs with NCURSES</h2> <blockquote> by Eric S. Raymond and Zeyd M. Ben-Halim<br> updates since release 1.9.9e by Thomas Dickey </blockquote> - <h1>Contents</h1> - - <ul> - <li> - <a href="#introduction">Introduction</a> - - <ul> - <li><a href="#history">A Brief History of Curses</a></li> - - <li><a href="#scope">Scope of This Document</a></li> - - <li><a href="#terminology">Terminology</a></li> - </ul> - </li> - - <li> - <a href="#curses">The Curses Library</a> - - <ul> - <li> - <a href="#overview">An Overview of Curses</a> - - <ul> - <li><a href="#compiling">Compiling Programs using - Curses</a></li> - - <li><a href="#updating">Updating the Screen</a></li> - - <li><a href="#stdscr">Standard Windows and Function - Naming Conventions</a></li> - - <li><a href="#variables">Variables</a></li> - </ul> - </li> - - <li> - <a href="#using">Using the Library</a> - - <ul> - <li><a href="#starting">Starting up</a></li> + <div class="nav"> + <h2>Contents</h2> - <li><a href="#output">Output</a></li> + <ul> + <li> + <a href="#introduction">Introduction</a> + <ul> + <li><a href="#history">A Brief History of Curses</a></li> - <li><a href="#input">Input</a></li> + <li><a href="#scope">Scope of This Document</a></li> - <li><a href="#formschars">Using Forms Characters</a></li> + <li><a href="#terminology">Terminology</a></li> + </ul> + </li> - <li><a href="#attributes">Character Attributes and - Color</a></li> + <li> + <a href="#curses">The Curses Library</a> + <ul> + <li> + <a href="#overview">An Overview of Curses</a> + <ul> + <li><a href="#compiling">Compiling Programs using + Curses</a></li> - <li><a href="#mouse">Mouse Interfacing</a></li> + <li><a href="#updating">Updating the Screen</a></li> - <li><a href="#finishing">Finishing Up</a></li> - </ul> - </li> + <li><a href="#stdscr">Standard Windows and Function + Naming Conventions</a></li> - <li> - <a href="#functions">Function Descriptions</a> + <li><a href="#variables">Variables</a></li> + </ul> + </li> - <ul> - <li><a href="#init">Initialization and Wrapup</a></li> + <li> + <a href="#using">Using the Library</a> + <ul> + <li><a href="#starting">Starting up</a></li> - <li><a href="#flush">Causing Output to the Terminal</a></li> + <li><a href="#output">Output</a></li> - <li><a href="#lowlevel">Low-Level Capability Access</a></li> + <li><a href="#input">Input</a></li> - <li><a href="#debugging">Debugging</a></li> - </ul> - </li> + <li><a href="#formschars">Using Forms Characters</a></li> - <li> - <a href="#hints">Hints, Tips, and Tricks</a> + <li><a href="#attributes">Character Attributes and + Color</a></li> - <ul> - <li><a href="#caution">Some Notes of Caution</a></li> + <li><a href="#mouse">Mouse Interfacing</a></li> - <li><a href="#leaving">Temporarily Leaving ncurses - Mode</a></li> + <li><a href="#finishing">Finishing Up</a></li> + </ul> + </li> - <li><a href="#xterm">Using <code>ncurses</code> under - <code>xterm</code></a></li> + <li> + <a href="#functions">Function Descriptions</a> + <ul> + <li><a href="#init">Initialization and Wrapup</a></li> - <li><a href="#screens">Handling Multiple Terminal - Screens</a></li> + <li><a href="#flush">Causing Output to the + Terminal</a></li> - <li><a href="#testing">Testing for Terminal - Capabilities</a></li> + <li><a href="#lowlevel">Low-Level Capability + Access</a></li> - <li><a href="#tuning">Tuning for Speed</a></li> + <li><a href="#debugging">Debugging</a></li> + </ul> + </li> - <li><a href="#special">Special Features of - <code>ncurses</code></a></li> - </ul> - </li> + <li> + <a href="#hints">Hints, Tips, and Tricks</a> + <ul> + <li><a href="#caution">Some Notes of Caution</a></li> - <li> - <a href="#compat">Compatibility with Older Versions</a> + <li><a href="#leaving">Temporarily Leaving ncurses + Mode</a></li> - <ul> - <li><a href="#refbug">Refresh of Overlapping - Windows</a></li> + <li><a href="#xterm">Using <code>ncurses</code> under + <code>xterm</code></a></li> - <li><a href="#backbug">Background Erase</a></li> - </ul> - </li> + <li><a href="#screens">Handling Multiple Terminal + Screens</a></li> - <li><a href="#xsifuncs">XSI Curses Conformance</a></li> - </ul> - </li> + <li><a href="#testing">Testing for Terminal + Capabilities</a></li> - <li> - <a href="#panels">The Panels Library</a> + <li><a href="#tuning">Tuning for Speed</a></li> - <ul> - <li><a href="#pcompile">Compiling With the Panels - Library</a></li> + <li><a href="#special">Special Features of + <code>ncurses</code></a></li> + </ul> + </li> - <li><a href="#poverview">Overview of Panels</a></li> + <li> + <a href="#compat">Compatibility with Older Versions</a> + <ul> + <li><a href="#refbug">Refresh of Overlapping + Windows</a></li> - <li><a href="#pstdscr">Panels, Input, and the Standard - Screen</a></li> + <li><a href="#backbug">Background Erase</a></li> + </ul> + </li> - <li><a href="#hiding">Hiding Panels</a></li> + <li><a href="#xsifuncs">XSI Curses Conformance</a></li> + </ul> + </li> - <li><a href="#pmisc">Miscellaneous Other Facilities</a></li> - </ul> - </li> + <li> + <a href="#panels">The Panels Library</a> + <ul> + <li><a href="#pcompile">Compiling With the Panels + Library</a></li> - <li> - <a href="#menu">The Menu Library</a> + <li><a href="#poverview">Overview of Panels</a></li> - <ul> - <li><a href="#mcompile">Compiling with the menu Library</a></li> + <li><a href="#pstdscr">Panels, Input, and the Standard + Screen</a></li> - <li><a href="#moverview">Overview of Menus</a></li> + <li><a href="#hiding">Hiding Panels</a></li> - <li><a href="#mselect">Selecting items</a></li> + <li><a href="#pmisc">Miscellaneous Other Facilities</a></li> + </ul> + </li> - <li><a href="#mdisplay">Menu Display</a></li> + <li> + <a href="#menu">The Menu Library</a> + <ul> + <li><a href="#mcompile">Compiling with the menu + Library</a></li> - <li><a href="#mwindows">Menu Windows</a></li> + <li><a href="#moverview">Overview of Menus</a></li> - <li><a href="#minput">Processing Menu Input</a></li> + <li><a href="#mselect">Selecting items</a></li> - <li><a href="#mmisc">Miscellaneous Other Features</a></li> - </ul> - </li> + <li><a href="#mdisplay">Menu Display</a></li> - <li> - <a href="#form">The Forms Library</a> + <li><a href="#mwindows">Menu Windows</a></li> - <ul> - <li><a href="#fcompile">Compiling with the forms - Library</a></li> + <li><a href="#minput">Processing Menu Input</a></li> - <li><a href="#foverview">Overview of Forms</a></li> + <li><a href="#mmisc">Miscellaneous Other Features</a></li> + </ul> + </li> - <li><a href="#fcreate">Creating and Freeing Fields and - Forms</a></li> + <li> + <a href="#form">The Forms Library</a> + <ul> + <li><a href="#fcompile">Compiling with the forms + Library</a></li> - <li> - <a href="#fattributes">Fetching and Changing Field - Attributes</a> + <li><a href="#foverview">Overview of Forms</a></li> - <ul> - <li><a href="#fsizes">Fetching Size and Location - Data</a></li> + <li><a href="#fcreate">Creating and Freeing Fields and + Forms</a></li> - <li><a href="#flocation">Changing the Field - Location</a></li> + <li> + <a href="#fattributes">Fetching and Changing Field + Attributes</a> + <ul> + <li><a href="#fsizes">Fetching Size and Location + Data</a></li> - <li><a href="#fjust">The Justification Attribute</a></li> + <li><a href="#flocation">Changing the Field + Location</a></li> - <li><a href="#fdispatts">Field Display Attributes</a></li> + <li><a href="#fjust">The Justification Attribute</a></li> - <li><a href="#foptions">Field Option Bits</a></li> + <li><a href="#fdispatts">Field Display Attributes</a></li> - <li><a href="#fstatus">Field Status</a></li> + <li><a href="#foptions">Field Option Bits</a></li> - <li><a href="#fuser">Field User Pointer</a></li> - </ul> - </li> + <li><a href="#fstatus">Field Status</a></li> - <li><a href="#fdynamic">Variable-Sized Fields</a></li> + <li><a href="#fuser">Field User Pointer</a></li> + </ul> + </li> - <li> - <a href="#fvalidation">Field Validation</a> + <li><a href="#fdynamic">Variable-Sized Fields</a></li> - <ul> - <li><a href="#ftype_alpha">TYPE_ALPHA</a></li> + <li> + <a href="#fvalidation">Field Validation</a> + <ul> + <li><a href="#ftype_alpha">TYPE_ALPHA</a></li> - <li><a href="#ftype_alnum">TYPE_ALNUM</a></li> + <li><a href="#ftype_alnum">TYPE_ALNUM</a></li> - <li><a href="#ftype_enum">TYPE_ENUM</a></li> + <li><a href="#ftype_enum">TYPE_ENUM</a></li> - <li><a href="#ftype_integer">TYPE_INTEGER</a></li> + <li><a href="#ftype_integer">TYPE_INTEGER</a></li> - <li><a href="#ftype_numeric">TYPE_NUMERIC</a></li> + <li><a href="#ftype_numeric">TYPE_NUMERIC</a></li> - <li><a href="#ftype_regexp">TYPE_REGEXP</a></li> - </ul> - </li> + <li><a href="#ftype_regexp">TYPE_REGEXP</a></li> + </ul> + </li> - <li><a href="#fbuffer">Direct Field Buffer Manipulation</a></li> + <li><a href="#fbuffer">Direct Field Buffer + Manipulation</a></li> - <li><a href="#formattrs">Attributes of Forms</a></li> + <li><a href="#formattrs">Attributes of Forms</a></li> - <li><a href="#fdisplay">Control of Form Display</a></li> + <li><a href="#fdisplay">Control of Form Display</a></li> - <li> - <a href="#fdriver">Input Processing in the Forms - Driver</a> + <li> + <a href="#fdriver">Input Processing in the Forms + Driver</a> + <ul> + <li><a href="#fpage">Page Navigation Requests</a></li> - <ul> - <li><a href="#fpage">Page Navigation Requests</a></li> + <li><a href="#ffield">Inter-Field Navigation + Requests</a></li> - <li><a href="#ffield">Inter-Field Navigation - Requests</a></li> + <li><a href="#fifield">Intra-Field Navigation + Requests</a></li> - <li><a href="#fifield">Intra-Field Navigation - Requests</a></li> + <li><a href="#fscroll">Scrolling Requests</a></li> - <li><a href="#fscroll">Scrolling Requests</a></li> + <li><a href="#fedit">Field Editing Requests</a></li> - <li><a href="#fedit">Field Editing Requests</a></li> + <li><a href="#forder">Order Requests</a></li> - <li><a href="#forder">Order Requests</a></li> + <li><a href="#fappcmds">Application Commands</a></li> + </ul> + </li> - <li><a href="#fappcmds">Application Commands</a></li> - </ul> - </li> + <li><a href="#fhooks">Field Change Hooks</a></li> - <li><a href="#fhooks">Field Change Hooks</a></li> + <li><a href="#ffocus">Field Change Commands</a></li> - <li><a href="#ffocus">Field Change Commands</a></li> + <li><a href="#frmoptions">Form Options</a></li> - <li><a href="#frmoptions">Form Options</a></li> + <li> + <a href="#fcustom">Custom Validation Types</a> + <ul> + <li><a href="#flinktypes">Union Types</a></li> - <li> - <a href="#fcustom">Custom Validation Types</a> + <li><a href="#fnewtypes">New Field Types</a></li> - <ul> - <li><a href="#flinktypes">Union Types</a></li> + <li><a href="#fcheckargs">Validation Function + Arguments</a></li> - <li><a href="#fnewtypes">New Field Types</a></li> + <li><a href="#fcustorder">Order Functions For Custom + Types</a></li> - <li><a href="#fcheckargs">Validation Function - Arguments</a></li> - - <li><a href="#fcustorder">Order Functions For Custom - Types</a></li> - - <li><a href="#fcustprobs">Avoiding Problems</a></li> - </ul> - </li> - </ul> - </li> - </ul> + <li><a href="#fcustprobs">Avoiding Problems</a></li> + </ul> + </li> + </ul> + </li> + </ul> + </div> <hr> - <h1><a name="introduction" id="introduction">Introduction</a></h1> + <h2><a name="introduction" id="introduction">Introduction</a></h2> <p>This document is an introduction to programming with <code>curses</code>. It is not an exhaustive reference for the @@ -349,7 +340,7 @@ <code>curses</code> will typically be a great deal simpler and less expensive than one using an X toolkit.</p> - <h2><a name="history" id="history">A Brief History of Curses</a></h2> + <h3><a name="history" id="history">A Brief History of Curses</a></h3> <p>Historically, the first ancestor of <code>curses</code> was the routines written to provide screen-handling for the @@ -387,7 +378,7 @@ to use more facilities and offer more capabilities, going far beyond BSD curses in power and flexibility.</p> - <h2><a name="scope" id="scope">Scope of This Document</a></h2> + <h3><a name="scope" id="scope">Scope of This Document</a></h3> <p>This document describes <code>ncurses</code>, a free implementation of the System V <code>curses</code> API with some @@ -448,7 +439,7 @@ libraries, also cloned from System V, which support easy construction and sequences of menus and fill-in forms.</p> - <h2><a name="terminology" id="terminology">Terminology</a></h2> + <h3><a name="terminology" id="terminology">Terminology</a></h3> <p>In this document, the following terminology is used with reasonable consistency:</p> @@ -476,21 +467,20 @@ screen.</dd> </dl> - <h1><a name="curses" id="curses">The Curses Library</a></h1> + <h2><a name="curses" id="curses">The Curses Library</a></h2> - <h2><a name="overview" id="overview">An Overview of Curses</a></h2> + <h3><a name="overview" id="overview">An Overview of Curses</a></h3> - <h3><a name="compiling" id="compiling">Compiling Programs using - Curses</a></h3> + <h4><a name="compiling" id="compiling">Compiling Programs using + Curses</a></h4> <p>In order to use the library, it is necessary to have certain types and variables defined. Therefore, the programmer must have a line:</p> - <pre> + <pre class="code-block"> #include <curses.h> </pre> - <p>at the top of the program source. The screen package uses the Standard I/O library, so <code><curses.h></code> includes <code><stdio.h></code>. <code><curses.h></code> also @@ -502,7 +492,7 @@ your LDFLAGS or on the command line. There is no need for any other libraries.</p> - <h3><a name="updating" id="updating">Updating the Screen</a></h3> + <h4><a name="updating" id="updating">Updating the Screen</a></h4> <p>In order to update the screen optimally, it is necessary for the routines to know what the screen currently looks like and @@ -533,8 +523,8 @@ like this,” and let the package implementation determine the most efficient way to repaint the screen.</p> - <h3><a name="stdscr" id="stdscr">Standard Windows and Function - Naming Conventions</a></h3> + <h4><a name="stdscr" id="stdscr">Standard Windows and Function + Naming Conventions</a></h4> <p>As hinted above, the routines can use several windows, but two are automatically given: <code>curscr</code>, which knows what @@ -563,46 +553,41 @@ “mv” and the desired (y, x) coordinates prepended to the arguments to the function. For example, the calls</p> - <pre> + <pre class="code-block"> move(y, x); addch(ch); </pre> - <p>can be replaced by</p> - <pre> + <pre class="code-block"> mvaddch(y, x, ch); </pre> - <p>and</p> - <pre> + <pre class="code-block"> wmove(win, y, x); waddch(win, ch); </pre> - <p>can be replaced by</p> - <pre> + <pre class="code-block"> mvwaddch(win, y, x, ch); </pre> - <p>Note that the window description pointer (win) comes before the added (y, x) coordinates. If a function requires a window pointer, it is always the first parameter passed.</p> - <h3><a name="variables" id="variables">Variables</a></h3> + <h4><a name="variables" id="variables">Variables</a></h4> <p>The <code>curses</code> library sets some variables describing the terminal capabilities.</p> - <pre> + <pre class="code-block"> type name description ------------------------------------------------------------------ int LINES number of lines on the terminal int COLS number of columns on the terminal </pre> - <p>The <code>curses.h</code> also introduces some <code>#define</code> constants and types of general usefulness:</p> @@ -635,7 +620,7 @@ <dd>error flag returned by routines when things go right.</dd> </dl> - <h2><a name="using" id="using">Using the Library</a></h2> + <h3><a name="using" id="using">Using the Library</a></h3> <p>Now we describe how to actually use the screen package. In it, we assume all updating, reading, etc. is applied to @@ -645,7 +630,7 @@ <p>Here is a sample program to motivate the discussion:</p> - <pre> + <pre class="code-block"> #include <stdlib.h> #include <curses.h> #include <signal.h> @@ -707,8 +692,7 @@ static void finish(int sig) exit(0); } </pre> - - <h3><a name="starting" id="starting">Starting up</a></h3> + <h4><a name="starting" id="starting">Starting up</a></h4> <p>In order to use the screen package, the routines must know about terminal characteristics, and the space for @@ -740,7 +724,7 @@ static void finish(int sig) allow you to get rid of old windows. All the options described above can be applied to any window.</p> - <h3><a name="output" id="output">Output</a></h3> + <h4><a name="output" id="output">Output</a></h4> <p>Now that we have set things up, we will want to actually update the terminal. The basic functions used to change what will @@ -775,7 +759,7 @@ static void finish(int sig) implementing a command which would redraw the screen in case it get messed up.</p> - <h3><a name="input" id="input">Input</a></h3> + <h4><a name="input" id="input">Input</a></h4> <p>The complementary function to <code>addch()</code> is <code>getch()</code> which, if echo is set, will call @@ -804,8 +788,8 @@ static void finish(int sig) <code>#define</code> values is determined by <code>key_</code> capabilities in the terminal's terminfo entry.</p> - <h3><a name="formschars" id="formschars">Using Forms - Characters</a></h3> + <h4><a name="formschars" id="formschars">Using Forms + Characters</a></h4> <p>The <code>addch()</code> function (and some others, including <code>box()</code> and <code>border()</code>) can accept some @@ -820,8 +804,8 @@ static void finish(int sig) <code>curses.h</code> will map them to a recognizable (though ugly) set of ASCII defaults.</p> - <h3><a name="attributes" id="attributes">Character Attributes and - Color</a></h3> + <h4><a name="attributes" id="attributes">Character Attributes and + Color</a></h4> <p>The <code>ncurses</code> package supports screen highlights including standout, reverse-video, underline, and blink. It also @@ -859,7 +843,7 @@ static void finish(int sig) that <code>COLOR_PAIR(N)</code>, for constant N, is itself a compile-time constant and can be used in initializers.</p> - <h3><a name="mouse" id="mouse">Mouse Interfacing</a></h3> + <h4><a name="mouse" id="mouse">Mouse Interfacing</a></h4> <p>The <code>ncurses</code> library also provides a mouse interface.</p> @@ -947,7 +931,7 @@ static void finish(int sig) <p>See the manual page <code>curs_mouse(3X)</code> for full details of the mouse-interface functions.</p> - <h3><a name="finishing" id="finishing">Finishing Up</a></h3> + <h4><a name="finishing" id="finishing">Finishing Up</a></h4> <p>In order to clean up after the <code>ncurses</code> routines, the routine <code>endwin()</code> is provided. It restores tty @@ -956,13 +940,13 @@ static void finish(int sig) anytime after the call to initscr, <code>endwin()</code> should be called before exiting.</p> - <h2><a name="functions" id="functions">Function Descriptions</a></h2> + <h3><a name="functions" id="functions">Function Descriptions</a></h3> <p>We describe the detailed behavior of some important curses functions here, as a supplement to the manual page descriptions.</p> - <h3><a name="init" id="init">Initialization and Wrapup</a></h3> + <h4><a name="init" id="init">Initialization and Wrapup</a></h4> <dl> <dt><code>initscr()</code> @@ -1025,7 +1009,7 @@ static void finish(int sig) reference.</dd> </dl> - <h3><a name="flush" id="flush">Causing Output to the Terminal</a></h3> + <h4><a name="flush" id="flush">Causing Output to the Terminal</a></h4> <dl> <dt><code>refresh()</code> and <code>wrefresh(win)</code></dt> @@ -1064,8 +1048,8 @@ static void finish(int sig) each update).</dd> </dl> - <h3><a name="lowlevel" id="lowlevel">Low-Level Capability - Access</a></h3> + <h4><a name="lowlevel" id="lowlevel">Low-Level Capability + Access</a></h4> <dl> <dt><code>setupterm(term, filenum, errret)</code> @@ -1082,7 +1066,6 @@ static void finish(int sig) indication is returned. The values returned can be 1 (all is well), 0 (no such terminal), or -1 (some problem locating the terminfo database). - <p>The value of <code>term</code> can be given as NULL, which will cause the value of <code>TERM</code> in the environment to be used. The <code>errret</code> pointer can also be given @@ -1107,7 +1090,7 @@ static void finish(int sig) </dd> </dl> - <h3><a name="debugging" id="debugging">Debugging</a></h3> + <h4><a name="debugging" id="debugging">Debugging</a></h4> <blockquote> <strong>NOTE:</strong> These functions are not part of the @@ -1149,14 +1132,14 @@ static void finish(int sig) be distinguished by the fact that they are named in capital letters.</p> - <h2><a name="hints" id="hints">Hints, Tips, and Tricks</a></h2> + <h3><a name="hints" id="hints">Hints, Tips, and Tricks</a></h3> <p>The <code>ncurses</code> manual pages are a complete reference for this library. In the remainder of this document, we discuss various useful methods that may not be obvious from the manual page descriptions.</p> - <h3><a name="caution" id="caution">Some Notes of Caution</a></h3> + <h4><a name="caution" id="caution">Some Notes of Caution</a></h4> <p>If you find yourself thinking you need to use <code>noraw()</code> or <code>nocbreak()</code>, think again and @@ -1196,8 +1179,8 @@ static void finish(int sig) with window resizes, in which case several screens could be open with different sizes.</p> - <h3><a name="leaving" id="leaving">Temporarily Leaving NCURSES - Mode</a></h3> + <h4><a name="leaving" id="leaving">Temporarily Leaving NCURSES + Mode</a></h4> <p>Sometimes you will want to write a program that spends most of its time in screen mode, but occasionally returns to ordinary @@ -1220,7 +1203,7 @@ static void finish(int sig) <p>Here is some sample code for shellout:</p> - <pre> + <pre class="code-block"> addstr("Shelling out..."); def_prog_mode(); /* save current tty modes */ endwin(); /* restore original tty modes */ @@ -1228,8 +1211,7 @@ static void finish(int sig) addstr("returned.\n"); /* prepare return message */ refresh(); /* restore save modes, repaint screen */ </pre> - - <h3><a name="xterm" id="xterm">Using NCURSES under XTERM</a></h3> + <h4><a name="xterm" id="xterm">Using NCURSES under XTERM</a></h4> <p>A resize operation in X sends <code>SIGWINCH</code> to the application running under xterm. The easiest way to handle @@ -1258,8 +1240,8 @@ static void finish(int sig) special-purpose code to handle <code>KEY_RESIZE</code> yourself.</p> - <h3><a name="screens" id="screens">Handling Multiple Terminal - Screens</a></h3> + <h4><a name="screens" id="screens">Handling Multiple Terminal + Screens</a></h4> <p>The <code>initscr()</code> function actually calls a function named <code>newterm()</code> to do most of its work. If you are @@ -1274,8 +1256,8 @@ static void finish(int sig) <code>def_shell_mode</code> and <code>def_prog_mode</code> on each tty yourself.</p> - <h3><a name="testing" id="testing">Testing for Terminal - Capabilities</a></h3> + <h4><a name="testing" id="testing">Testing for Terminal + Capabilities</a></h4> <p>Sometimes you may want to write programs that test for the presence of various capabilities before deciding whether to go @@ -1292,7 +1274,7 @@ static void finish(int sig) include the <code>term.h</code> file and test the value of the macro <code>cursor_address</code>.</p> - <h3><a name="tuning" id="tuning">Tuning for Speed</a></h3> + <h4><a name="tuning" id="tuning">Tuning for Speed</a></h4> <p>Use the <code>addchstr()</code> family of functions for fast screen-painting of text when you know the text does not contain @@ -1300,8 +1282,8 @@ static void finish(int sig) on your screens. Do not use the <code>immedok()</code> option!</p> - <h3><a name="special" id="special">Special Features of - NCURSES</a></h3> + <h4><a name="special" id="special">Special Features of + NCURSES</a></h4> <p>The <code>wresize()</code> function allows you to resize a window in place. The associated <code>resizeterm()</code> @@ -1325,16 +1307,16 @@ static void finish(int sig) only 8 colors, about a quarter (including XFree86 xterm) support 16 colors.</p> - <h2><a name="compat" id="compat">Compatibility with Older - Versions</a></h2> + <h3><a name="compat" id="compat">Compatibility with Older + Versions</a></h3> <p>Despite our best efforts, there are some differences between <code>ncurses</code> and the (undocumented!) behavior of older curses implementations. These arise from ambiguities or omissions in the documentation of the API.</p> - <h3><a name="refbug" id="refbug">Refresh of Overlapping - Windows</a></h3> + <h4><a name="refbug" id="refbug">Refresh of Overlapping + Windows</a></h4> <p>If you define two windows A and B that overlap, and then alternately scribble on and refresh them, the changes made to the @@ -1392,7 +1374,7 @@ static void finish(int sig) <code>doupdate()</code> and there will be a <em>single</em> burst of physical I/O that will do all your updates.</p> - <h3><a name="backbug" id="backbug">Background Erase</a></h3> + <h4><a name="backbug" id="backbug">Background Erase</a></h4> <p>If you have been using a very old versions of <code>ncurses</code> (1.8.7 or older) you may be surprised by the @@ -1409,7 +1391,7 @@ static void finish(int sig) <p>This change in behavior conforms <code>ncurses</code> to System V Release 4 and the XSI Curses standard.</p> - <h2><a name="xsifuncs" id="xsifuncs">XSI Curses Conformance</a></h2> + <h3><a name="xsifuncs" id="xsifuncs">XSI Curses Conformance</a></h3> <p>The <code>ncurses</code> library is intended to be base-level conformant with the XSI Curses standard from X/Open. Many @@ -1426,7 +1408,7 @@ static void finish(int sig) be linked (and will be prototype-checked) if the macro definition is disabled with <code>#undef</code>.</p> - <h1><a name="panels" id="panels">The Panels Library</a></h1> + <h2><a name="panels" id="panels">The Panels Library</a></h2> <p>The <code>ncurses</code> library by itself provides good support for screen displays in which the windows are tiled @@ -1446,16 +1428,15 @@ static void finish(int sig) System V. The version documented here is the <code>panel</code> code distributed with <code>ncurses</code>.</p> - <h2><a name="pcompile" id="pcompile">Compiling With the Panels - Library</a></h2> + <h3><a name="pcompile" id="pcompile">Compiling With the Panels + Library</a></h3> <p>Your panels-using modules must import the panels library declarations with</p> - <pre> + <pre class="code-block"> #include <panel.h> </pre> - <p>and must be linked explicitly with the panels library using an <code>-lpanel</code> argument. Note that they must also link the <code>ncurses</code> library with <code>-lncurses</code>. Many @@ -1463,7 +1444,7 @@ static void finish(int sig) still good practice to put <code>-lpanel</code> first and <code>-lncurses</code> second.</p> - <h2><a name="poverview" id="poverview">Overview of Panels</a></h2> + <h3><a name="poverview" id="poverview">Overview of Panels</a></h3> <p>A panel object is a window that is implicitly treated as part of a <dfn>deck</dfn> including all other panel objects. The deck @@ -1514,8 +1495,8 @@ static void finish(int sig) you will generate a lot of unnecessary refresh activity and screen flicker.</p> - <h2><a name="pstdscr" id="pstdscr">Panels, Input, and the - Standard Screen</a></h2> + <h3><a name="pstdscr" id="pstdscr">Panels, Input, and the + Standard Screen</a></h3> <p>You should not mix <code>wnoutrefresh()</code> or <code>wrefresh()</code> operations with panels code; this will @@ -1536,7 +1517,7 @@ static void finish(int sig) <p>There is presently no way to display changes to one obscured panel without repainting all panels.</p> - <h2><a name="hiding" id="hiding">Hiding Panels</a></h2> + <h3><a name="hiding" id="hiding">Hiding Panels</a></h3> <p>It is possible to remove a panel from the deck temporarily; use <code>hide_panel</code> for this. Use @@ -1548,7 +1529,7 @@ static void finish(int sig) cannot do <code>top_panel()</code> or <code>bottom_panel</code> on a hidden panel(). Other panels operations are applicable.</p> - <h2><a name="pmisc" id="pmisc">Miscellaneous Other Facilities</a></h2> + <h3><a name="pmisc" id="pmisc">Miscellaneous Other Facilities</a></h3> <p>It is possible to navigate the deck using the functions <code>panel_above()</code> and <code>panel_below</code>. Handed a @@ -1561,7 +1542,7 @@ static void finish(int sig) page documentation of <code>set_panel_userptr()</code> and <code>panel_userptr</code> for details.</p> - <h1><a name="menu" id="menu">The Menu Library</a></h1> + <h2><a name="menu" id="menu">The Menu Library</a></h2> <p>A menu is a screen display that assists the user to choose some subset of a given set of items. The <code>menu</code> @@ -1572,16 +1553,15 @@ static void finish(int sig) System V. The version documented here is the <code>menu</code> code distributed with <code>ncurses</code>.</p> - <h2><a name="mcompile" id="mcompile">Compiling With the menu - Library</a></h2> + <h3><a name="mcompile" id="mcompile">Compiling With the menu + Library</a></h3> <p>Your menu-using modules must import the menu library declarations with</p> - <pre> + <pre class="code-block"> #include <menu.h> </pre> - <p>and must be linked explicitly with the menus library using an <code>-lmenu</code> argument. Note that they must also link the <code>ncurses</code> library with <code>-lncurses</code>. Many @@ -1589,7 +1569,7 @@ static void finish(int sig) still good practice to put <code>-lmenu</code> first and <code>-lncurses</code> second.</p> - <h2><a name="moverview" id="moverview">Overview of Menus</a></h2> + <h3><a name="moverview" id="moverview">Overview of Menus</a></h3> <p>The menus created by this library consist of collections of <dfn>items</dfn> including a name string part and a description @@ -1633,7 +1613,7 @@ static void finish(int sig) <li>Terminate <code>curses</code>.</li> </ol> - <h2><a name="mselect" id="mselect">Selecting items</a></h2> + <h3><a name="mselect" id="mselect">Selecting items</a></h3> <p>Menus may be multi-valued or (the default) single-valued (see the manual page <code>menu_opts(3x)</code> to see how to change @@ -1654,7 +1634,7 @@ static void finish(int sig) so far defined for menus, but it is good practice to code as though other option bits might be on.</p> - <h2><a name="mdisplay" id="mdisplay">Menu Display</a></h2> + <h3><a name="mdisplay" id="mdisplay">Menu Display</a></h3> <p>The menu library calculates a minimum display size for your window, based on the following variables:</p> @@ -1710,7 +1690,7 @@ static void finish(int sig) which the library allows you to change (see the <code>menu_attribs(3x)</code> manual page.</p> - <h2><a name="mwindows" id="mwindows">Menu Windows</a></h2> + <h3><a name="mwindows" id="mwindows">Menu Windows</a></h3> <p>Each menu has, as mentioned previously, a pair of associated windows. Both these windows are painted when the menu is posted @@ -1732,7 +1712,7 @@ static void finish(int sig) the screen. To do that, call <code>wrefresh()</code> or some equivalent.</p> - <h2><a name="minput" id="minput">Processing Menu Input</a></h2> + <h3><a name="minput" id="minput">Processing Menu Input</a></h3> <p>The main loop of your menu-processing code should call <code>menu_driver()</code> repeatedly. The first argument of this @@ -1784,7 +1764,7 @@ static void finish(int sig) commands. The <code>menu_driver()</code> code ignores them and returns <code>E_UNKNOWN_COMMAND</code>.</p> - <h2><a name="mmisc" id="mmisc">Miscellaneous Other Features</a></h2> + <h3><a name="mmisc" id="mmisc">Miscellaneous Other Features</a></h3> <p>Various menu options can affect the processing and visual appearance and input processing of menus. See <code>menu_opts(3x) @@ -1807,7 +1787,7 @@ static void finish(int sig) <code>mitem_userptr(3x)</code> and <code>menu_userptr(3x)</code>.</p> - <h1><a name="form" id="form">The Forms Library</a></h1> + <h2><a name="form" id="form">The Forms Library</a></h2> <p>The <code>form</code> library is a curses extension that supports easy programming of on-screen forms for data entry and @@ -1817,16 +1797,15 @@ static void finish(int sig) System V. The version documented here is the <code>form</code> code distributed with <code>ncurses</code>.</p> - <h2><a name="fcompile" id="fcompile">Compiling With the form - Library</a></h2> + <h3><a name="fcompile" id="fcompile">Compiling With the form + Library</a></h3> <p>Your form-using modules must import the form library declarations with</p> - <pre> + <pre class="code-block"> #include <form.h> </pre> - <p>and must be linked explicitly with the forms library using an <code>-lform</code> argument. Note that they must also link the <code>ncurses</code> library with <code>-lncurses</code>. Many @@ -1834,7 +1813,7 @@ static void finish(int sig) still good practice to put <code>-lform</code> first and <code>-lncurses</code> second.</p> - <h2><a name="foverview" id="foverview">Overview of Forms</a></h2> + <h3><a name="foverview" id="foverview">Overview of Forms</a></h3> <p>A form is a collection of fields; each field may be either a label (explanatory text) or a data-entry location. Long forms may @@ -1903,19 +1882,18 @@ static void finish(int sig) Besides menu-like navigation operations, the menu driver loop has to support field editing and data validation.</p> - <h2><a name="fcreate" id="fcreate">Creating and Freeing Fields - and Forms</a></h2> + <h3><a name="fcreate" id="fcreate">Creating and Freeing Fields + and Forms</a></h3> <p>The basic function for creating fields is <code>new_field()</code>:</p> - <pre> + <pre class="code-block"> FIELD *new_field(int height, int width, /* new field size */ int top, int left, /* upper left corner */ int offscreen, /* number of offscreen rows */ int nbuf); /* number of working buffers */ </pre> - <p>Menu items always occupy a single row, but forms fields may have multiple rows. So <code>new_field()</code> requires you to specify a width and height (the first two arguments, which mist @@ -1943,21 +1921,19 @@ FIELD *new_field(int height, int width, /* new field size */ buffers to allocate for the field; your application can use them for its own purposes.</p> - <pre> + <pre class="code-block"> FIELD *dup_field(FIELD *field, /* field to copy */ int top, int left); /* location of new copy */ </pre> - <p>The function <code>dup_field()</code> duplicates an existing field at a new location. Size and buffering information are copied; some attribute flags and status bits are not (see the <code>form_field_new(3X)</code> for details).</p> - <pre> + <pre class="code-block"> FIELD *link_field(FIELD *field, /* field to copy */ int top, int left); /* location of new copy */ </pre> - <p>The function <code>link_field()</code> also duplicates an existing field at a new location. The difference from <code>dup_field()</code> is that it arranges for the new field's @@ -1978,10 +1954,9 @@ FIELD *link_field(FIELD *field, /* field to copy */ <p>To connect fields to a form, use</p> - <pre> + <pre class="code-block"> FORM *new_form(FIELD **fields); </pre> - <p>This function expects to see a NULL-terminated array of field pointers. Said fields are connected to a newly-allocated form object; its address is returned (or else NULL if the allocation @@ -1999,8 +1974,8 @@ FORM *new_form(FIELD **fields); form, but not vice-versa; thus, you will generally free your form objects first.</p> - <h2><a name="fattributes" id="fattributes">Fetching and Changing - Field Attributes</a></h2> + <h3><a name="fattributes" id="fattributes">Fetching and Changing + Field Attributes</a></h3> <p>Each form field has a number of location and size attributes associated with it. There are other field attributes used to @@ -2016,56 +1991,53 @@ FORM *new_form(FIELD **fields); to it persist as defaults until your forms application terminates.</p> - <h3><a name="fsizes" id="fsizes">Fetching Size and Location - Data</a></h3> + <h4><a name="fsizes" id="fsizes">Fetching Size and Location + Data</a></h4> <p>You can retrieve field sizes and locations through:</p> - <pre> + <pre class="code-block"> int field_info(FIELD *field, /* field from which to fetch */ int *height, *int width, /* field size */ int *top, int *left, /* upper left corner */ int *offscreen, /* number of offscreen rows */ int *nbuf); /* number of working buffers */ </pre> - <p>This function is a sort of inverse of <code>new_field()</code>; instead of setting size and location attributes of a new field, it fetches them from an existing one.</p> - <h3><a name="flocation" id="flocation">Changing the Field - Location</a></h3> + <h4><a name="flocation" id="flocation">Changing the Field + Location</a></h4> <p>It is possible to move a field's location on the screen:</p> - <pre> + <pre class="code-block"> int move_field(FIELD *field, /* field to alter */ int top, int left); /* new upper-left corner */ </pre> - <p>You can, of course. query the current location through <code>field_info()</code>.</p> - <h3><a name="fjust" id="fjust">The Justification Attribute</a></h3> + <h4><a name="fjust" id="fjust">The Justification Attribute</a></h4> <p>One-line fields may be unjustified, justified right, justified left, or centered. Here is how you manipulate this attribute:</p> - <pre> + <pre class="code-block"> int set_field_just(FIELD *field, /* field to alter */ int justmode); /* mode to set */ int field_just(FIELD *field); /* fetch mode of field */ </pre> - <p>The mode values accepted and returned by this functions are preprocessor macros <code>NO_JUSTIFICATION</code>, <code>JUSTIFY_RIGHT</code>, <code>JUSTIFY_LEFT</code>, or <code>JUSTIFY_CENTER</code>.</p> - <h3><a name="fdispatts" id="fdispatts">Field Display - Attributes</a></h3> + <h4><a name="fdispatts" id="fdispatts">Field Display + Attributes</a></h4> <p>For each field, you can set a foreground attribute for entered characters, a background attribute for the entire field, and a @@ -2076,7 +2048,7 @@ int field_just(FIELD *field); /* fetch mode of field */ appearance of the field on the screen, without affecting in any way the data in the field buffer.</p> - <pre> + <pre class="code-block"> int set_field_fore(FIELD *field, /* field to alter */ chtype attr); /* attribute to set */ @@ -2097,20 +2069,19 @@ int set_new_page(FIELD *field, /* field to alter */ chtype new_page(FIELD *field); /* field to query */ </pre> - <p>The attributes set and returned by the first four functions are normal <code>curses(3x)</code> display attribute values (<code>A_STANDOUT</code>, <code>A_BOLD</code>, <code>A_REVERSE</code> etc). The page bit of a field controls whether it is displayed at the start of a new form screen.</p> - <h3><a name="foptions" id="foptions">Field Option Bits</a></h3> + <h4><a name="foptions" id="foptions">Field Option Bits</a></h4> <p>There is also a large collection of field option bits you can set to control various aspects of forms processing. You can manipulate them with these functions:</p> - <pre> + <pre class="code-block"> int set_field_opts(FIELD *field, /* field to alter */ int attr); /* attribute to set */ @@ -2122,7 +2093,6 @@ int field_opts_off(FIELD *field, /* field to alter */ int field_opts(FIELD *field); /* field to query */ </pre> - <p>By default, all options are on. Here are the available option bits:</p> @@ -2209,19 +2179,18 @@ int field_opts(FIELD *field); /* field to query */ <p>The option values are bit-masks and can be composed with logical-or in the obvious way.</p> - <h2><a name="fstatus" id="fstatus">Field Status</a></h2> + <h3><a name="fstatus" id="fstatus">Field Status</a></h3> <p>Every field has a status flag, which is set to FALSE when the field is created and TRUE when the value in field buffer 0 changes. This flag can be queried and set directly:</p> - <pre> + <pre class="code-block"> int set_field_status(FIELD *field, /* field to alter */ int status); /* mode to set */ int field_status(FIELD *field); /* fetch mode of field */ </pre> - <p>Setting this flag under program control can be useful if you use the same form repeatedly, looking for modified fields each time.</p> @@ -2238,14 +2207,14 @@ int field_status(FIELD *field); /* fetch mode of field */ just after a <code>REQ_VALIDATION</code> request has been processed by the forms driver.</p> - <h2><a name="fuser" id="fuser">Field User Pointer</a></h2> + <h3><a name="fuser" id="fuser">Field User Pointer</a></h3> <p>Each field structure contains one character pointer slot that is not used by the forms library. It is intended to be used by applications to store private per-field data. You can manipulate it with:</p> - <pre> + <pre class="code-block"> int set_field_userptr(FIELD *field, /* field to alter */ char *userptr); /* mode to set */ @@ -2253,13 +2222,12 @@ char *field_userptr(FIELD *field); /* fetch mode of field */ </pre>(Properly, this user pointer field ought to have <code>(void *)</code> type. The <code>(char *)</code> type is retained for System V compatibility.) - <p>It is valid to set the user pointer of the default field (with a <code>set_field_userptr()</code> call passed a NULL field pointer.) When a new field is created, the default-field user pointer is copied to initialize the new field's user pointer.</p> - <h2><a name="fdynamic" id="fdynamic">Variable-Sized Fields</a></h2> + <h3><a name="fdynamic" id="fdynamic">Variable-Sized Fields</a></h3> <p>Normally, a field is fixed at the size specified for it at creation time. If, however, you turn off its O_STATIC bit, it @@ -2279,11 +2247,10 @@ System V compatibility.) But it is possible to set an upper limit on the size of a dynamic field. You do it with this function:</p> - <pre> + <pre class="code-block"> int set_max_field(FIELD *field, /* field to alter (may not be NULL) */ int max_size); /* upper limit on field size */ </pre> - <p>If the field is one-line, <code>max_size</code> is taken to be a column size limit; if it is multi-line, it is taken to be a line size limit. To disable any limit, use an argument of zero. @@ -2314,7 +2281,7 @@ int set_max_field(FIELD *field, /* field to alter (may not be NULL) */ size.</li> </ul> - <h2><a name="fvalidation" id="fvalidation">Field Validation</a></h2> + <h3><a name="fvalidation" id="fvalidation">Field Validation</a></h3> <p>By default, a field will accept any data that will fit in its input buffer. However, it is possible to attach a validation type @@ -2332,14 +2299,13 @@ int set_max_field(FIELD *field, /* field to alter (may not be NULL) */ define custom ones of your own. You can examine and change field validation attributes with the following functions:</p> - <pre> + <pre class="code-block"> int set_field_type(FIELD *field, /* field to alter */ FIELDTYPE *ftype, /* type to associate */ ...); /* additional arguments*/ FIELDTYPE *field_type(FIELD *field); /* field to query */ </pre> - <p>The validation type of a field is considered an attribute of the field. As with other field attributes, Also, doing <code>set_field_type()</code> with a <code>NULL</code> field @@ -2348,56 +2314,53 @@ FIELDTYPE *field_type(FIELD *field); /* field to query */ <p>Here are the pre-defined validation types:</p> - <h3><a name="ftype_alpha" id="ftype_alpha">TYPE_ALPHA</a></h3> + <h4><a name="ftype_alpha" id="ftype_alpha">TYPE_ALPHA</a></h4> <p>This field type accepts alphabetic data; no blanks, no digits, no special characters (this is checked at character-entry time). It is set up with:</p> - <pre> + <pre class="code-block"> int set_field_type(FIELD *field, /* field to alter */ TYPE_ALPHA, /* type to associate */ int width); /* maximum width of field */ </pre> - <p>The <code>width</code> argument sets a minimum width of data. Typically you will want to set this to the field width; if it is greater than the field width, the validation check will always fail. A minimum width of zero makes field completion optional.</p> - <h3><a name="ftype_alnum" id="ftype_alnum">TYPE_ALNUM</a></h3> + <h4><a name="ftype_alnum" id="ftype_alnum">TYPE_ALNUM</a></h4> <p>This field type accepts alphabetic data and digits; no blanks, no special characters (this is checked at character-entry time). It is set up with:</p> - <pre> + <pre class="code-block"> int set_field_type(FIELD *field, /* field to alter */ TYPE_ALNUM, /* type to associate */ int width); /* maximum width of field */ </pre> - <p>The <code>width</code> argument sets a minimum width of data. As with TYPE_ALPHA, typically you will want to set this to the field width; if it is greater than the field width, the validation check will always fail. A minimum width of zero makes field completion optional.</p> - <h3><a name="ftype_enum" id="ftype_enum">TYPE_ENUM</a></h3> + <h4><a name="ftype_enum" id="ftype_enum">TYPE_ENUM</a></h4> <p>This type allows you to restrict a field's values to be among a specified set of string values (for example, the two-letter postal codes for U.S. states). It is set up with:</p> - <pre> + <pre class="code-block"> int set_field_type(FIELD *field, /* field to alter */ TYPE_ENUM, /* type to associate */ char **valuelist; /* list of possible values */ int checkcase; /* case-sensitive? */ int checkunique); /* must specify uniquely? */ </pre> - <p>The <code>valuelist</code> parameter must point at a NULL-terminated list of valid strings. The <code>checkcase</code> argument, if true, makes comparison with the string @@ -2419,18 +2382,17 @@ int set_field_type(FIELD *field, /* field to alter */ <code>REQ_PREV_CHOICE</code> input requests can be particularly useful with these fields.</p> - <h3><a name="ftype_integer" id="ftype_integer">TYPE_INTEGER</a></h3> + <h4><a name="ftype_integer" id="ftype_integer">TYPE_INTEGER</a></h4> <p>This field type accepts an integer. It is set up as follows:</p> - <pre> + <pre class="code-block"> int set_field_type(FIELD *field, /* field to alter */ TYPE_INTEGER, /* type to associate */ int padding, /* # places to zero-pad to */ int vmin, int vmax); /* valid range */ </pre> - <p>Valid characters consist of an optional leading minus and digits. The range check is performed on exit. If the range maximum is less than or equal to the minimum, the range is @@ -2443,18 +2405,17 @@ int set_field_type(FIELD *field, /* field to alter */ <p>A <code>TYPE_INTEGER</code> value buffer can conveniently be interpreted with the C library function <code>atoi(3)</code>.</p> - <h3><a name="ftype_numeric" id="ftype_numeric">TYPE_NUMERIC</a></h3> + <h4><a name="ftype_numeric" id="ftype_numeric">TYPE_NUMERIC</a></h4> <p>This field type accepts a decimal number. It is set up as follows:</p> - <pre> + <pre class="code-block"> int set_field_type(FIELD *field, /* field to alter */ TYPE_NUMERIC, /* type to associate */ int padding, /* # places of precision */ double vmin, double vmax); /* valid range */ </pre> - <p>Valid characters consist of an optional leading minus and digits. possibly including a decimal point. If your system supports locale's, the decimal point character used must be the @@ -2469,44 +2430,41 @@ int set_field_type(FIELD *field, /* field to alter */ <p>A <code>TYPE_NUMERIC</code> value buffer can conveniently be interpreted with the C library function <code>atof(3)</code>.</p> - <h3><a name="ftype_regexp" id="ftype_regexp">TYPE_REGEXP</a></h3> + <h4><a name="ftype_regexp" id="ftype_regexp">TYPE_REGEXP</a></h4> <p>This field type accepts data matching a regular expression. It is set up as follows:</p> - <pre> + <pre class="code-block"> int set_field_type(FIELD *field, /* field to alter */ TYPE_REGEXP, /* type to associate */ char *regexp); /* expression to match */ </pre> - <p>The syntax for regular expressions is that of <code>regcomp(3)</code>. The check for regular-expression match is performed on exit.</p> - <h2><a name="fbuffer" id="fbuffer">Direct Field Buffer - Manipulation</a></h2> + <h3><a name="fbuffer" id="fbuffer">Direct Field Buffer + Manipulation</a></h3> <p>The chief attribute of a field is its buffer contents. When a form has been completed, your application usually needs to know the state of each field buffer. You can find this out with:</p> - <pre> + <pre class="code-block"> char *field_buffer(FIELD *field, /* field to query */ int bufindex); /* number of buffer to query */ </pre> - <p>Normally, the state of the zero-numbered buffer for each field is set by the user's editing actions on that field. It is sometimes useful to be able to set the value of the zero-numbered (or some other) buffer from your application:</p> - <pre> + <pre class="code-block"> int set_field_buffer(FIELD *field, /* field to alter */ int bufindex, /* number of buffer to alter */ char *value); /* string value to set */ </pre> - <p>If the field is not large enough and cannot be resized to a sufficiently large size to contain the specified value, the value will be truncated to fit.</p> @@ -2525,7 +2483,7 @@ int set_field_buffer(FIELD *field, /* field to alter */ <code>REQ_VALIDATION</code> request has been processed by the forms driver.</p> - <h2><a name="formattrs" id="formattrs">Attributes of Forms</a></h2> + <h3><a name="formattrs" id="formattrs">Attributes of Forms</a></h3> <p>As with field attributes, form attributes inherit a default from a system default form structure. These defaults can be @@ -2535,7 +2493,7 @@ int set_field_buffer(FIELD *field, /* field to alter */ <p>The principal attribute of a form is its field list. You can query and change this list with:</p> - <pre> + <pre class="code-block"> int set_form_fields(FORM *form, /* form to alter */ FIELD **fields); /* fields to connect */ @@ -2543,7 +2501,6 @@ char *form_fields(FORM *form); /* fetch fields of form */ int field_count(FORM *form); /* count connect fields */ </pre> - <p>The second argument of <code>set_form_fields()</code> may be a NULL-terminated field pointer array like the one required by <code>new_form()</code>. In that case, the old fields of the form @@ -2557,7 +2514,7 @@ int field_count(FORM *form); /* count connect fields */ number of fields connected to a given from. It returns -1 if the form-pointer argument is NULL.</p> - <h2><a name="fdisplay" id="fdisplay">Control of Form Display</a></h2> + <h3><a name="fdisplay" id="fdisplay">Control of Form Display</a></h3> <p>In the overview section, you saw that to display a form you normally start by defining its size (and fields), posting it, and @@ -2589,17 +2546,16 @@ int field_count(FORM *form); /* count connect fields */ need to know the size of the form's bounding rectangle. You can get this information with:</p> - <pre> + <pre class="code-block"> int scale_form(FORM *form, /* form to query */ int *rows, /* form rows */ int *cols); /* form cols */ </pre> - <p>The form dimensions are passed back in the locations pointed to by the arguments. Once you have this information, you can use it to declare of windows, then use one of these functions:</p> - <pre> + <pre class="code-block"> int set_form_win(FORM *form, /* form to alter */ WINDOW *win); /* frame window to connect */ @@ -2610,7 +2566,6 @@ int set_form_sub(FORM *form, /* form to alter */ WINDOW *form_sub(FORM *form); /* fetch form subwindow of form */ </pre> - <p>Note that curses operations, including <code>refresh()</code>, on the form, should be done on the frame window, not the form subwindow.</p> @@ -2619,12 +2574,11 @@ WINDOW *form_sub(FORM *form); /* fetch form subwindow of form */ scrollable field is actually displayed within the menu subwindow. Use these functions:</p> - <pre> + <pre class="code-block"> int data_ahead(FORM *form); /* form to be queried */ int data_behind(FORM *form); /* form to be queried */ </pre> - <p>The function <code>data_ahead()</code> returns TRUE if (a) the current field is one-line and has undisplayed data off to the right, (b) the current field is multi-line and there is data @@ -2637,27 +2591,25 @@ int data_behind(FORM *form); /* form to be queried */ <p>Finally, there is a function to restore the form window's cursor to the value expected by the forms driver:</p> - <pre> + <pre class="code-block"> int pos_form_cursor(FORM *) /* form to be queried */ </pre> - <p>If your application changes the form window cursor, call this function before handing control back to the forms driver in order to re-synchronize it.</p> - <h2><a name="fdriver" id="fdriver">Input Processing in the Forms - Driver</a></h2> + <h3><a name="fdriver" id="fdriver">Input Processing in the Forms + Driver</a></h3> <p>The function <code>form_driver()</code> handles virtualized input requests for form navigation, editing, and validation requests, just as <code>menu_driver</code> does for menus (see the section on <a href="#minput">menu input handling</a>).</p> - <pre> + <pre class="code-block"> int form_driver(FORM *form, /* form to pass input to */ int request); /* form request code */ </pre> - <p>Your input virtualization function needs to take input and then convert it to either an alphanumeric character (which is treated as data to be entered in the currently-selected field), @@ -2668,7 +2620,7 @@ int form_driver(FORM *form, /* form to pass input to */ check that the input taken by the driver matched what was expected.</p> - <h3><a name="fpage" id="fpage">Page Navigation Requests</a></h3> + <h4><a name="fpage" id="fpage">Page Navigation Requests</a></h4> <p>These requests cause page-level moves through the form, triggering display of a new form screen.</p> @@ -2700,8 +2652,8 @@ int form_driver(FORM *form, /* form to pass input to */ and <code>REQ_PREV_PAGE</code> from the first page goes to the last.</p> - <h3><a name="ffield" id="ffield">Inter-Field Navigation - Requests</a></h3> + <h4><a name="ffield" id="ffield">Inter-Field Navigation + Requests</a></h4> <p>These requests handle navigation between fields on the same page.</p> @@ -2794,8 +2746,8 @@ int form_driver(FORM *form, /* form to pass input to */ from A will go to B only if A, B, and C <em>all</em> share the same first line; otherwise it will skip over B to C.</p> - <h3><a name="fifield" id="fifield">Intra-Field Navigation - Requests</a></h3> + <h4><a name="fifield" id="fifield">Intra-Field Navigation + Requests</a></h4> <p>These requests drive movement of the edit cursor within the currently selected field.</p> @@ -2877,7 +2829,7 @@ int form_driver(FORM *form, /* form to pass input to */ end of line or field look for the first or last non-pad character in their ranges.</p> - <h3><a name="fscroll" id="fscroll">Scrolling Requests</a></h3> + <h4><a name="fscroll" id="fscroll">Scrolling Requests</a></h4> <p>Fields that are dynamic and have grown and fields explicitly created with offscreen rows are scrollable. One-line fields @@ -2952,7 +2904,7 @@ int form_driver(FORM *form, /* form to pass input to */ <p>For scrolling purposes, a <em>page</em> of a field is the height of its visible part.</p> - <h3><a name="fedit" id="fedit">Editing Requests</a></h3> + <h4><a name="fedit" id="fedit">Editing Requests</a></h4> <p>When you pass the forms driver an ASCII character, it is treated as a request to add the character to the field's data @@ -3068,7 +3020,7 @@ int form_driver(FORM *form, /* form to pass input to */ <p>See <a href="#frmoptions">Form Options</a> for discussion of how to set and clear the overload options.</p> - <h3><a name="forder" id="forder">Order Requests</a></h3> + <h4><a name="forder" id="forder">Order Requests</a></h4> <p>If the type of your field is ordered, and has associated functions for getting the next and previous values of the type @@ -3094,7 +3046,7 @@ int form_driver(FORM *form, /* form to pass input to */ field type of your own (see <a href="#fcustom">Custom Validation Types</a>), you can associate our own ordering functions.</p> - <h3><a name="fappcmds" id="fappcmds">Application Commands</a></h3> + <h4><a name="fappcmds" id="fappcmds">Application Commands</a></h4> <p>Form requests are represented as integers above the <code>curses</code> value greater than <code>KEY_MAX</code> and @@ -3102,13 +3054,13 @@ int form_driver(FORM *form, /* form to pass input to */ your input-virtualization routine returns a value above <code>MAX_COMMAND</code>, the forms driver will ignore it.</p> - <h2><a name="fhooks" id="fhooks">Field Change Hooks</a></h2> + <h3><a name="fhooks" id="fhooks">Field Change Hooks</a></h3> <p>It is possible to set function hooks to be executed whenever the current field or form changes. Here are the functions that support this:</p> - <pre> + <pre class="code-block"> typedef void (*HOOK)(); /* pointer to function returning void */ int set_form_init(FORM *form, /* form to alter */ @@ -3131,7 +3083,6 @@ int set_field_term(FORM *form, /* form to alter */ HOOK field_term(FORM *form); /* form to query */ </pre> - <p>These functions allow you to either set or query four different hooks. In each of the set functions, the second argument should be the address of a hook function. These @@ -3182,7 +3133,7 @@ HOOK field_term(FORM *form); /* form to query */ <p>You can disable any of these hooks by (re)setting them to NULL, the default value.</p> - <h2><a href="#ffocus">Field Change Commands</a></h2> + <h3><a href="#ffocus">Field Change Commands</a></h3> <p>Normally, navigation through the form will be driven by the user's input requests. But sometimes it is useful to be able to @@ -3190,7 +3141,7 @@ HOOK field_term(FORM *form); /* form to query */ application, or ask which field it currently is in. The following functions help you accomplish this:</p> - <pre> + <pre class="code-block"> int set_current_field(FORM *form, /* form to alter */ FIELD *field); /* field to shift to */ @@ -3199,7 +3150,6 @@ FIELD *current_field(FORM *form); /* form to query */ int field_index(FORM *form, /* form to query */ FIELD *field); /* field to get index of */ </pre> - <p>The function <code>field_index()</code> returns the index of the given field in the given form's field array (the array passed to <code>new_form()</code> or @@ -3211,22 +3161,21 @@ int field_index(FORM *form, /* form to query */ <p>It is also possible to move around by pages.</p> - <pre> + <pre class="code-block"> int set_form_page(FORM *form, /* form to alter */ int page); /* page to go to (0-origin) */ int form_page(FORM *form); /* return form's current page */ </pre> - <p>The initial page of a newly-created form is 0. The function <code>set_form_fields()</code> resets this.</p> - <h2><a name="frmoptions" id="frmoptions">Form Options</a></h2> + <h3><a name="frmoptions" id="frmoptions">Form Options</a></h3> <p>Like fields, forms may have control option bits. They can be changed or queried with these functions:</p> - <pre> + <pre class="code-block"> int set_form_opts(FORM *form, /* form to alter */ int attr); /* attribute to set */ @@ -3238,7 +3187,6 @@ int form_opts_off(FORM *form, /* form to alter */ int form_opts(FORM *form); /* form to query */ </pre> - <p>By default, all options are on. Here are the available option bits:</p> @@ -3261,7 +3209,7 @@ int form_opts(FORM *form); /* form to query */ <p>The option values are bit-masks and can be composed with logical-or in the obvious way.</p> - <h2><a name="fcustom" id="fcustom">Custom Validation Types</a></h2> + <h3><a name="fcustom" id="fcustom">Custom Validation Types</a></h3> <p>The <code>form</code> library gives you the capability to define custom validation types of your own. Further, the optional @@ -3271,16 +3219,15 @@ int form_opts(FORM *form); /* form to query */ the handling of the additional arguments within custom validation functions.</p> - <h3><a name="flinktypes" id="flinktypes">Union Types</a></h3> + <h4><a name="flinktypes" id="flinktypes">Union Types</a></h4> <p>The simplest way to create a custom data type is to compose it from two preexisting ones:</p> - <pre> + <pre class="code-block"> FIELD *link_fieldtype(FIELDTYPE *type1, FIELDTYPE *type2); </pre> - <p>This function creates a field type that will accept any of the values legal for either of its argument field types (which may be either predefined or programmer-defined). If a @@ -3292,7 +3239,7 @@ FIELD *link_fieldtype(FIELDTYPE *type1, function for the first type, then for the second, to figure what type the buffer contents should be treated as.</p> - <h3><a name="fnewtypes" id="fnewtypes">New Field Types</a></h3> + <h4><a name="fnewtypes" id="fnewtypes">New Field Types</a></h4> <p>To create a field type from scratch, you need to specify one or both of the following things:</p> @@ -3307,7 +3254,7 @@ FIELD *link_fieldtype(FIELDTYPE *type1, <p>Here is how you do that:</p> - <pre> + <pre class="code-block"> typedef int (*HOOK)(); /* pointer to function returning int */ FIELDTYPE *new_fieldtype(HOOK f_validate, /* field validator */ @@ -3315,7 +3262,6 @@ FIELDTYPE *new_fieldtype(HOOK f_validate, /* field validator */ int free_fieldtype(FIELDTYPE *ftype); /* type to free */ </pre> - <p>At least one of the arguments of <code>new_fieldtype()</code> must be non-NULL. The forms driver will automatically call the new type's validation functions at appropriate points in @@ -3334,8 +3280,8 @@ int free_fieldtype(FIELDTYPE *ftype); /* type to free */ argument. It too should return TRUE if the character is valid, FALSE otherwise.</p> - <h3><a name="fcheckargs" id="fcheckargs">Validation Function - Arguments</a></h3> + <h4><a name="fcheckargs" id="fcheckargs">Validation Function + Arguments</a></h4> <p>Your field- and character- validation functions will be passed a second argument as well. This second argument is the address of @@ -3353,7 +3299,7 @@ int free_fieldtype(FIELDTYPE *ftype); /* type to free */ <p>Here is how you make the association:</p> - <pre> + <pre class="code-block"> typedef char *(*PTRHOOK)(); /* pointer to function returning (char *) */ typedef void (*VOIDHOOK)(); /* pointer to function returning void */ @@ -3362,7 +3308,6 @@ int set_fieldtype_arg(FIELDTYPE *type, /* type to alter */ PTRHOOK copy_str, /* make copy of structure */ VOIDHOOK free_str); /* free structure storage */ </pre> - <p>Here is how the storage-management hooks are used:</p> <dl> @@ -3398,8 +3343,8 @@ int set_fieldtype_arg(FIELDTYPE *type, /* type to alter */ this happens. Thus, your validation functions should never see a NULL file pointer and need not check specially for it.</p> - <h3><a name="fcustorder" id="fcustorder">Order Functions For - Custom Types</a></h3> + <h4><a name="fcustorder" id="fcustorder">Order Functions For + Custom Types</a></h4> <p>Some custom field types are simply ordered in the same well-defined way that <code>TYPE_ENUM</code> is. For such types, @@ -3407,14 +3352,13 @@ int set_fieldtype_arg(FIELDTYPE *type, /* type to alter */ support the <code>REQ_NEXT_CHOICE</code> and <code>REQ_PREV_CHOICE</code> requests. Here is how:</p> - <pre> + <pre class="code-block"> typedef int (*INTHOOK)(); /* pointer to function returning int */ int set_fieldtype_arg(FIELDTYPE *type, /* type to alter */ INTHOOK succ, /* get successor value */ INTHOOK pred); /* get predecessor value */ </pre> - <p>The successor and predecessor arguments will each be passed two arguments; a field pointer, and a pile pointer (as for the validation functions). They are expected to use the function @@ -3424,7 +3368,7 @@ int set_fieldtype_arg(FIELDTYPE *type, /* type to alter */ (a legal next or previous value was set) or FALSE to indicate failure.</p> - <h3><a name="fcustprobs" id="fcustprobs">Avoiding Problems</a></h3> + <h4><a name="fcustprobs" id="fcustprobs">Avoiding Problems</a></h4> <p>The interface for defining custom types is complicated and tricky. Rather than attempting to create a custom type entirely |