diff options
Diffstat (limited to 'ncurses-5.3/doc/html/ada/terminal_interface-curses__adb.htm')
-rw-r--r-- | ncurses-5.3/doc/html/ada/terminal_interface-curses__adb.htm | 2566 |
1 files changed, 2566 insertions, 0 deletions
diff --git a/ncurses-5.3/doc/html/ada/terminal_interface-curses__adb.htm b/ncurses-5.3/doc/html/ada/terminal_interface-curses__adb.htm new file mode 100644 index 0000000..6d54885 --- /dev/null +++ b/ncurses-5.3/doc/html/ada/terminal_interface-curses__adb.htm @@ -0,0 +1,2566 @@ +<HTML><HEAD><TITLE>terminal_interface-curses.adb</TITLE></HEAD> +<BODY> +<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses.adb </H1></DIV><HR> +<PRE> +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> +<FONT COLOR=green><EM>-- --</EM></FONT> +<FONT COLOR=green><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></FONT> +<FONT COLOR=green><EM>-- --</EM></FONT> +<FONT COLOR=green><EM>-- Terminal_Interface.Curses --</EM></FONT> +<FONT COLOR=green><EM>-- --</EM></FONT> +<FONT COLOR=green><EM>-- B O D Y --</EM></FONT> +<FONT COLOR=green><EM>-- --</EM></FONT> +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> +<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc. --</EM></FONT> +<FONT COLOR=green><EM>-- --</EM></FONT> +<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></FONT> +<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the --</EM></FONT> +<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including --</EM></FONT> +<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></FONT> +<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></FONT> +<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></FONT> +<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions: --</EM></FONT> +<FONT COLOR=green><EM>-- --</EM></FONT> +<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included --</EM></FONT> +<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software. --</EM></FONT> +<FONT COLOR=green><EM>-- --</EM></FONT> +<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></FONT> +<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></FONT> +<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></FONT> +<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></FONT> +<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></FONT> +<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></FONT> +<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></FONT> +<FONT COLOR=green><EM>-- --</EM></FONT> +<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></FONT> +<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></FONT> +<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written --</EM></FONT> +<FONT COLOR=green><EM>-- authorization. --</EM></FONT> +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> +<FONT COLOR=green><EM>-- Author: <A HREF="http://www.familiepfeifer.de/juergen">Jürgen Pfeifer</A>, 1996</EM></FONT> +<FONT COLOR=green><EM>-- Contact: <A HREF="http://www.familiepfeifer.de/Contact.aspx?Lang=en">www.familiepfeifer.de/Contact.aspx?Lang=en</A></EM></FONT> +<FONT COLOR=green><EM>-- Version Control:</EM></FONT> +<FONT COLOR=green><EM>-- @Revision: 1.28 @</EM></FONT> +<FONT COLOR=green><EM>-- Binding Version 01.00</EM></FONT> +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> +<b>with</b> System; + +<b>with</b> <A HREF="terminal_interface__ads.htm#42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#51_35">Aux</A>; +<b>with</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C; +<b>with</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.Strings; +<b>with</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.Pointers; +<b>with</b> Ada.Characters.Handling; <b>use</b> Ada.Characters.Handling; +<b>with</b> Ada.Strings.Fixed; +<b>with</b> Ada.Unchecked_Conversion; + +<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#49_28">Curses</A><FONT COLOR=red><A NAME="52_33"></A></FONT> <b>is</b> + + <b>use</b> <A HREF="terminal_interface-curses-aux__ads.htm#51_35">Aux</A>; + <b>use</b> <b>type</b> System.Bit_Order; + + <b>package</b> <FONT COLOR=red><A NAME="57_12">ASF</A></FONT> <b>renames</b> Ada.Strings.Fixed; + + <b>type</b> <FONT COLOR=red><A NAME="59_9">chtype_array</A></FONT> <b>is</b> <b>array</b> (size_t <b>range</b> <>) + <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A>; + <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses__adb.htm#59_9">chtype_array</A>); + +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>generic</b> + <b>type</b> <FONT COLOR=red><A NAME="65_12">Element</A></FONT> <b>is</b> (<>); + <b>function</b> <FONT COLOR=red><A NAME="66_13">W_Get_Element</A></FONT> (<FONT COLOR=red><A NAME="66_28">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="67_28">Offset</A></FONT> : <b>in</b> Natural) <b>return</b> <A HREF="terminal_interface-curses__adb.htm#65_12">Element</A>; + + <b>function</b> <A HREF="terminal_interface-curses__adb.htm#66_13">W_Get_Element</A> (<FONT COLOR=red><A NAME="69_28">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="70_28">Offset</A></FONT> : <b>in</b> Natural) <b>return</b> <A HREF="terminal_interface-curses__adb.htm#65_12">Element</A> <b>is</b> + <b>type</b> <FONT COLOR=red><A NAME="71_12">E_Array</A></FONT> <b>is</b> <b>array</b> (Natural <b>range</b> <>) <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses__adb.htm#65_12">Element</A>; + <b>package</b> <FONT COLOR=red><A NAME="72_15">C_E_Array</A></FONT> <b>is</b> <b>new</b> + <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.Pointers (Natural, <A HREF="terminal_interface-curses__adb.htm#65_12">Element</A>, <A HREF="terminal_interface-curses__adb.htm#71_12">E_Array</A>, <A HREF="terminal_interface-curses__adb.htm#65_12">Element</A>'Val (0)); + <b>use</b> <A HREF="terminal_interface-curses__adb.htm#72_15">C_E_Array</A>; + + <b>function</b> <FONT COLOR=red><A NAME="76_16">To_Pointer</A></FONT> <b>is</b> <b>new</b> + Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>, Pointer); + + <FONT COLOR=red><A NAME="79_7">P</A></FONT> : Pointer := <A HREF="terminal_interface-curses__adb.htm#76_16">To_Pointer</A> (<A HREF="terminal_interface-curses__adb.htm#66_28">Win</A>); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#66_28">Win</A> = <A HREF="terminal_interface-curses__ads.htm#58_4">Null_Window</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>else</b> + <A HREF="terminal_interface-curses__adb.htm#79_7">P</A> := <A HREF="terminal_interface-curses__adb.htm#79_7">P</A> + ptrdiff_t (<A HREF="terminal_interface-curses__adb.htm#67_28">Offset</A>); + <b>return</b> <A HREF="terminal_interface-curses__adb.htm#79_7">P</A>.<b>all</b>; + <b>end</b> <b>if</b>; + <b>end</b> W_Get_Element; + + <b>function</b> <FONT COLOR=red><A NAME="89_13">W_Get_Int</A></FONT> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses__adb.htm#66_13">W_Get_Element</A> (<A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>); + <b>function</b> <FONT COLOR=red><A NAME="90_13">W_Get_Short</A></FONT> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses__adb.htm#66_13">W_Get_Element</A> (<A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A>); + <b>function</b> <FONT COLOR=red><A NAME="91_13">W_Get_Byte</A></FONT> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses__adb.htm#66_13">W_Get_Element</A> (<A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.unsigned_char); + + <b>function</b> <A HREF="terminal_interface-curses__adb.htm#96_13">Get_Flag</A><FONT COLOR=red><A NAME="93_13"></A></FONT> (<FONT COLOR=red><A NAME="93_23">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="94_23">Offset</A></FONT> : Natural) <b>return</b> Boolean; + + <b>function</b> <A HREF="terminal_interface-curses__adb.htm#93_13">Get_Flag</A><FONT COLOR=red><A NAME="96_13"></A></FONT> (<A HREF="terminal_interface-curses__adb.htm#93_23">Win</A> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <A HREF="terminal_interface-curses__adb.htm#94_23">Offset</A> : Natural) <b>return</b> Boolean + <b>is</b> + <FONT COLOR=red><A NAME="99_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>begin</b> + <b>case</b> <A HREF="terminal_interface-curses__ads.htm#1928_4">Sizeof_bool</A> <b>is</b> + <b>when</b> 1 => <A HREF="terminal_interface-curses__adb.htm#99_7">Res</A> := <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#91_13">W_Get_Byte</A> (<A HREF="terminal_interface-curses__adb.htm#93_23">Win</A>, <A HREF="terminal_interface-curses__adb.htm#94_23">Offset</A>)); + <b>when</b> 2 => <A HREF="terminal_interface-curses__adb.htm#99_7">Res</A> := <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#90_13">W_Get_Short</A> (<A HREF="terminal_interface-curses__adb.htm#93_23">Win</A>, <A HREF="terminal_interface-curses__adb.htm#94_23">Offset</A>)); + <b>when</b> 4 => <A HREF="terminal_interface-curses__adb.htm#99_7">Res</A> := <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#89_13">W_Get_Int</A> (<A HREF="terminal_interface-curses__adb.htm#93_23">Win</A>, <A HREF="terminal_interface-curses__adb.htm#94_23">Offset</A>)); + <b>when</b> <b>others</b> => <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>case</b>; + + <b>case</b> <A HREF="terminal_interface-curses__adb.htm#99_7">Res</A> <b>is</b> + <b>when</b> 0 => <b>return</b> False; + <b>when</b> <b>others</b> => <b>return</b> True; + <b>end</b> <b>case</b>; + <b>end</b> Get_Flag; + +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1610_13">Key_Name</A><FONT COLOR=red><A NAME="115_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1610_23">Key</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#72_12">Real_Key_Code</A>) <b>return</b> String + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="117_16">Keyname</A></FONT> (<FONT COLOR=red><A NAME="117_25">K</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> chars_ptr; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#117_16">Keyname</A>, "keyname"); + + <FONT COLOR=red><A NAME="120_7">Ch</A></FONT> : Character; + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__ads.htm#1610_23">Key</A> <= Character'Pos (Character'Last) <b>then</b> + <A HREF="terminal_interface-curses__adb.htm#120_7">Ch</A> := Character'Val (<A HREF="terminal_interface-curses__ads.htm#1610_23">Key</A>); + <b>if</b> Is_Control (<A HREF="terminal_interface-curses__adb.htm#120_7">Ch</A>) <b>then</b> + <b>return</b> <A HREF="terminal_interface-curses__ads.htm#1621_13">Un_Control</A> (<A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A>'(Ch => <A HREF="terminal_interface-curses__adb.htm#120_7">Ch</A>, + Color => <A HREF="terminal_interface-curses__ads.htm#298_9">Color_Pair</A>'First, + Attr => <A HREF="terminal_interface-curses__ads.htm#350_4">Normal_Video</A>)); + <b>elsif</b> Is_Graphic (<A HREF="terminal_interface-curses__adb.htm#120_7">Ch</A>) <b>then</b> + <b>declare</b> + <FONT COLOR=red><A NAME="130_16">S</A></FONT> : String (1 .. 1); + <b>begin</b> + <A HREF="terminal_interface-curses__adb.htm#130_16">S</A> (1) := <A HREF="terminal_interface-curses__adb.htm#120_7">Ch</A>; + <b>return</b> <A HREF="terminal_interface-curses__adb.htm#130_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#122_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#117_16">Keyname</A> (<A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1610_23">Key</A>))); + <b>end</b> <b>if</b>; + <b>end</b> Key_Name; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1604_14">Key_Name</A><FONT COLOR=red><A NAME="143_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1604_24">Key</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#72_12">Real_Key_Code</A>; + <A HREF="terminal_interface-curses__ads.htm#1605_24">Name</A> : <b>out</b> String) + <b>is</b> + <b>begin</b> + <A HREF="terminal_interface-curses__adb.htm#57_12">ASF</A>.Move (<A HREF="terminal_interface-curses__ads.htm#1610_13">Key_Name</A> (<A HREF="terminal_interface-curses__ads.htm#1604_24">Key</A>), <A HREF="terminal_interface-curses__ads.htm#1605_24">Name</A>); + <b>end</b> Key_Name; + +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#480_14">Init_Screen</A><FONT COLOR=red><A NAME="151_14"></A></FONT> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="153_16">Initscr</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#153_16">Initscr</A>, "initscr"); + + <FONT COLOR=red><A NAME="156_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <b>begin</b> + <A HREF="terminal_interface-curses__adb.htm#156_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#153_16">Initscr</A>; + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#156_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#58_4">Null_Window</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Init_Screen; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#489_14">End_Windows</A><FONT COLOR=red><A NAME="164_14"></A></FONT> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="166_16">Endwin</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#166_16">Endwin</A>, "endwin"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#166_16">Endwin</A> = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> End_Windows; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#496_13">Is_End_Window</A><FONT COLOR=red><A NAME="174_13"></A></FONT> <b>return</b> Boolean + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="176_16">Isendwin</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#176_16">Isendwin</A>, "isendwin"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#176_16">Isendwin</A> = <A HREF="terminal_interface-curses__ads.htm#1932_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> Is_End_Window; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#505_14">Move_Cursor</A><FONT COLOR=red><A NAME="186_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#505_27">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#506_27">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#507_27">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="190_16">Wmove</A></FONT> (<FONT COLOR=red><A NAME="190_23">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="191_23">Line</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="192_23">Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> + ) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#190_16">Wmove</A>, "wmove"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#190_16">Wmove</A> (<A HREF="terminal_interface-curses__ads.htm#505_27">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#506_27">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#507_27">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Move_Cursor; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#517_14">Add</A><FONT COLOR=red><A NAME="201_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#517_19">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#518_19">Ch</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="204_16">Waddch</A></FONT> (<FONT COLOR=red><A NAME="204_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="205_24">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#204_16">Waddch</A>, "waddch"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#204_16">Waddch</A> (<A HREF="terminal_interface-curses__ads.htm#517_19">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#105_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#518_19">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Add; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#522_14">Add</A><FONT COLOR=red><A NAME="213_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#522_19">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#523_19">Ch</A> : <b>in</b> Character) + <b>is</b> + <b>begin</b> + <A HREF="terminal_interface-curses__ads.htm#517_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#522_19">Win</A>, + <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A>'(Ch => <A HREF="terminal_interface-curses__ads.htm#523_19">Ch</A>, + Color => <A HREF="terminal_interface-curses__ads.htm#298_9">Color_Pair</A>'First, + Attr => <A HREF="terminal_interface-curses__ads.htm#350_4">Normal_Video</A>)); + <b>end</b> Add; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#528_14">Add</A><FONT COLOR=red><A NAME="223_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#529_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#530_7">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#531_7">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#532_7">Ch</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="229_16">mvwaddch</A></FONT> (<FONT COLOR=red><A NAME="229_26">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="230_26">Y</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="231_26">X</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="232_26">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#229_16">mvwaddch</A>, "mvwaddch"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#229_16">mvwaddch</A> (<A HREF="terminal_interface-curses__ads.htm#529_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#530_7">Line</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#531_7">Column</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#105_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#532_7">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Add; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#536_14">Add</A><FONT COLOR=red><A NAME="242_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#537_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#538_7">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#539_7">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#540_7">Ch</A> : <b>in</b> Character) + <b>is</b> + <b>begin</b> + <A HREF="terminal_interface-curses__ads.htm#528_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#537_7">Win</A>, + <A HREF="terminal_interface-curses__ads.htm#538_7">Line</A>, + <A HREF="terminal_interface-curses__ads.htm#539_7">Column</A>, + <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A>'(Ch => <A HREF="terminal_interface-curses__ads.htm#540_7">Ch</A>, + Color => <A HREF="terminal_interface-curses__ads.htm#298_9">Color_Pair</A>'First, + Attr => <A HREF="terminal_interface-curses__ads.htm#350_4">Normal_Video</A>)); + <b>end</b> Add; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#545_14">Add_With_Immediate_Echo</A><FONT COLOR=red><A NAME="257_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#546_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#547_7">Ch</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="261_16">Wechochar</A></FONT> (<FONT COLOR=red><A NAME="261_27">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="262_27">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#261_16">Wechochar</A>, "wechochar"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#261_16">Wechochar</A> (<A HREF="terminal_interface-curses__ads.htm#546_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#105_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#547_7">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Add_With_Immediate_Echo; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#551_14">Add_With_Immediate_Echo</A><FONT COLOR=red><A NAME="270_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#552_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#553_7">Ch</A> : <b>in</b> Character) + <b>is</b> + <b>begin</b> + <A HREF="terminal_interface-curses__ads.htm#545_14">Add_With_Immediate_Echo</A> + (<A HREF="terminal_interface-curses__ads.htm#552_7">Win</A>, + <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A>'(Ch => <A HREF="terminal_interface-curses__ads.htm#553_7">Ch</A>, + Color => <A HREF="terminal_interface-curses__ads.htm#298_9">Color_Pair</A>'First, + Attr => <A HREF="terminal_interface-curses__ads.htm#350_4">Normal_Video</A>)); + <b>end</b> Add_With_Immediate_Echo; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#563_13">Create</A><FONT COLOR=red><A NAME="282_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#564_7">Number_Of_Lines</A> : <A HREF="terminal_interface-curses__ads.htm#63_12">Line_Count</A>; + <A HREF="terminal_interface-curses__ads.htm#565_7">Number_Of_Columns</A> : <A HREF="terminal_interface-curses__ads.htm#65_12">Column_Count</A>; + <A HREF="terminal_interface-curses__ads.htm#566_7">First_Line_Position</A> : <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#567_7">First_Column_Position</A> : <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="287_16">Newwin</A></FONT> (<FONT COLOR=red><A NAME="287_24">Number_Of_Lines</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="288_24">Number_Of_Columns</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="289_24">First_Line_Position</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="290_24">First_Column_Position</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#287_16">Newwin</A>, "newwin"); + + <FONT COLOR=red><A NAME="293_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <b>begin</b> + <A HREF="terminal_interface-curses__adb.htm#293_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#287_16">Newwin</A> (<A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#564_7">Number_Of_Lines</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#565_7">Number_Of_Columns</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#566_7">First_Line_Position</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#567_7">First_Column_Position</A>)); + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#293_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#58_4">Null_Window</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>return</b> <A HREF="terminal_interface-curses__adb.htm#293_7">W</A>; + <b>end</b> Create; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#582_14">Delete</A><FONT COLOR=red><A NAME="305_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#582_22">Win</A> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="307_16">Wdelwin</A></FONT> (<FONT COLOR=red><A NAME="307_25">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#307_16">Wdelwin</A>, "delwin"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#307_16">Wdelwin</A> (<A HREF="terminal_interface-curses__ads.htm#582_22">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <A HREF="terminal_interface-curses__ads.htm#582_22">Win</A> := <A HREF="terminal_interface-curses__ads.htm#58_4">Null_Window</A>; + <b>end</b> Delete; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#588_13">Sub_Window</A><FONT COLOR=red><A NAME="316_13"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#589_7">Win</A> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#590_7">Number_Of_Lines</A> : <A HREF="terminal_interface-curses__ads.htm#63_12">Line_Count</A>; + <A HREF="terminal_interface-curses__ads.htm#591_7">Number_Of_Columns</A> : <A HREF="terminal_interface-curses__ads.htm#65_12">Column_Count</A>; + <A HREF="terminal_interface-curses__ads.htm#592_7">First_Line_Position</A> : <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#593_7">First_Column_Position</A> : <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="323_16">Subwin</A></FONT> + (<FONT COLOR=red><A NAME="324_10">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="325_10">Number_Of_Lines</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="326_10">Number_Of_Columns</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="327_10">First_Line_Position</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="328_10">First_Column_Position</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#323_16">Subwin</A>, "subwin"); + + <FONT COLOR=red><A NAME="331_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <b>begin</b> + <A HREF="terminal_interface-curses__adb.htm#331_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#323_16">Subwin</A> (<A HREF="terminal_interface-curses__ads.htm#589_7">Win</A>, + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#590_7">Number_Of_Lines</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#591_7">Number_Of_Columns</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#592_7">First_Line_Position</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#593_7">First_Column_Position</A>)); + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#331_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#58_4">Null_Window</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>return</b> <A HREF="terminal_interface-curses__adb.htm#331_7">W</A>; + <b>end</b> Sub_Window; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#598_13">Derived_Window</A><FONT COLOR=red><A NAME="344_13"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#599_7">Win</A> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#600_7">Number_Of_Lines</A> : <A HREF="terminal_interface-curses__ads.htm#63_12">Line_Count</A>; + <A HREF="terminal_interface-curses__ads.htm#601_7">Number_Of_Columns</A> : <A HREF="terminal_interface-curses__ads.htm#65_12">Column_Count</A>; + <A HREF="terminal_interface-curses__ads.htm#602_7">First_Line_Position</A> : <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#603_7">First_Column_Position</A> : <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="351_16">Derwin</A></FONT> + (<FONT COLOR=red><A NAME="352_10">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="353_10">Number_Of_Lines</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="354_10">Number_Of_Columns</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="355_10">First_Line_Position</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="356_10">First_Column_Position</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#351_16">Derwin</A>, "derwin"); + + <FONT COLOR=red><A NAME="359_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <b>begin</b> + <A HREF="terminal_interface-curses__adb.htm#359_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#351_16">Derwin</A> (<A HREF="terminal_interface-curses__ads.htm#599_7">Win</A>, + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#600_7">Number_Of_Lines</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#601_7">Number_Of_Columns</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#602_7">First_Line_Position</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#603_7">First_Column_Position</A>)); + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#359_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#58_4">Null_Window</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>return</b> <A HREF="terminal_interface-curses__adb.htm#359_7">W</A>; + <b>end</b> Derived_Window; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#608_13">Duplicate</A><FONT COLOR=red><A NAME="372_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#608_24">Win</A> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="374_16">Dupwin</A></FONT> (<FONT COLOR=red><A NAME="374_24">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#374_16">Dupwin</A>, "dupwin"); + + <FONT COLOR=red><A NAME="377_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__adb.htm#374_16">Dupwin</A> (<A HREF="terminal_interface-curses__ads.htm#608_24">Win</A>); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#377_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#58_4">Null_Window</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>return</b> <A HREF="terminal_interface-curses__adb.htm#377_7">W</A>; + <b>end</b> Duplicate; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#613_14">Move_Window</A><FONT COLOR=red><A NAME="385_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#613_27">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <A HREF="terminal_interface-curses__ads.htm#614_27">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#615_27">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="389_16">Mvwin</A></FONT> (<FONT COLOR=red><A NAME="389_23">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="390_23">Line</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="391_23">Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#389_16">Mvwin</A>, "mvwin"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#389_16">Mvwin</A> (<A HREF="terminal_interface-curses__ads.htm#613_27">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#614_27">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#615_27">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Move_Window; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#620_14">Move_Derived_Window</A><FONT COLOR=red><A NAME="399_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#620_35">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <A HREF="terminal_interface-curses__ads.htm#621_35">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#622_35">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="403_16">Mvderwin</A></FONT> (<FONT COLOR=red><A NAME="403_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="404_26">Line</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="405_26">Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#403_16">Mvderwin</A>, "mvderwin"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#403_16">Mvderwin</A> (<A HREF="terminal_interface-curses__ads.htm#620_35">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#621_35">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#622_35">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Move_Derived_Window; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#637_14">Set_Synch_Mode</A><FONT COLOR=red><A NAME="413_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#637_30">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#638_30">Mode</A> : <b>in</b> Boolean := False) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="416_16">Syncok</A></FONT> (<FONT COLOR=red><A NAME="416_24">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="417_24">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#416_16">Syncok</A>, "syncok"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#416_16">Syncok</A> (<A HREF="terminal_interface-curses__ads.htm#637_30">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#638_30">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Set_Synch_Mode; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#647_14">Add</A><FONT COLOR=red><A NAME="425_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#647_19">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#648_19">Str</A> : <b>in</b> String; + <A HREF="terminal_interface-curses__ads.htm#649_19">Len</A> : <b>in</b> Integer := -1) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="429_16">Waddnstr</A></FONT> (<FONT COLOR=red><A NAME="429_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="430_26">Str</A></FONT> : char_array; + <FONT COLOR=red><A NAME="431_26">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#429_16">Waddnstr</A>, "waddnstr"); + + <FONT COLOR=red><A NAME="434_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#648_19">Str</A>'Length); + <FONT COLOR=red><A NAME="435_7">Length</A></FONT> : size_t; + <b>begin</b> + To_C (<A HREF="terminal_interface-curses__ads.htm#648_19">Str</A>, <A HREF="terminal_interface-curses__adb.htm#434_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#435_7">Length</A>); + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#429_16">Waddnstr</A> (<A HREF="terminal_interface-curses__ads.htm#647_19">Win</A>, <A HREF="terminal_interface-curses__adb.htm#434_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#649_19">Len</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Add; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#656_14">Add</A><FONT COLOR=red><A NAME="443_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#656_19">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#657_19">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#658_19">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#659_19">Str</A> : <b>in</b> String; + <A HREF="terminal_interface-curses__ads.htm#660_19">Len</A> : <b>in</b> Integer := -1) + <b>is</b> + <b>begin</b> + <A HREF="terminal_interface-curses__ads.htm#505_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#656_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#657_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#658_19">Column</A>); + <A HREF="terminal_interface-curses__ads.htm#647_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#656_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#659_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#660_19">Len</A>); + <b>end</b> Add; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#671_14">Add</A><FONT COLOR=red><A NAME="455_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#671_19">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#672_19">Str</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#376_9">Attributed_String</A>; + <A HREF="terminal_interface-curses__ads.htm#673_19">Len</A> : <b>in</b> Integer := -1) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="460_16">Waddchnstr</A></FONT> (<FONT COLOR=red><A NAME="460_28">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="461_28">Str</A></FONT> : <A HREF="terminal_interface-curses__adb.htm#59_9">chtype_array</A>; + <FONT COLOR=red><A NAME="462_28">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#460_16">Waddchnstr</A>, "waddchnstr"); + + <FONT COLOR=red><A NAME="465_7">Txt</A></FONT> : <A HREF="terminal_interface-curses__adb.htm#59_9">chtype_array</A> (0 .. <A HREF="terminal_interface-curses__ads.htm#672_19">Str</A>'Length); + <b>begin</b> + <b>for</b> <FONT COLOR=red><A NAME="467_11">Length</A></FONT> <b>in</b> 1 .. size_t (<A HREF="terminal_interface-curses__ads.htm#672_19">Str</A>'Length) <b>loop</b> + <A HREF="terminal_interface-curses__adb.htm#465_7">Txt</A> (<A HREF="terminal_interface-curses__adb.htm#467_11">Length</A> - 1) := <A HREF="terminal_interface-curses__ads.htm#672_19">Str</A> (Natural (<A HREF="terminal_interface-curses__adb.htm#467_11">Length</A>)); + <b>end</b> <b>loop</b>; + <A HREF="terminal_interface-curses__adb.htm#465_7">Txt</A> (<A HREF="terminal_interface-curses__ads.htm#672_19">Str</A>'Length) := <A HREF="terminal_interface-curses__ads.htm#371_4">Default_Character</A>; + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#460_16">Waddchnstr</A> (<A HREF="terminal_interface-curses__ads.htm#671_19">Win</A>, + <A HREF="terminal_interface-curses__adb.htm#465_7">Txt</A>, + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#673_19">Len</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Add; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#680_14">Add</A><FONT COLOR=red><A NAME="478_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#680_19">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#681_19">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#682_19">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#683_19">Str</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#376_9">Attributed_String</A>; + <A HREF="terminal_interface-curses__ads.htm#684_19">Len</A> : <b>in</b> Integer := -1) + <b>is</b> + <b>begin</b> + <A HREF="terminal_interface-curses__ads.htm#505_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#680_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#681_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#682_19">Column</A>); + <A HREF="terminal_interface-curses__ads.htm#671_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#680_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#683_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#684_19">Len</A>); + <b>end</b> Add; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#698_14">Border</A><FONT COLOR=red><A NAME="490_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#699_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#700_7">Left_Side_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#371_4">Default_Character</A>; + <A HREF="terminal_interface-curses__ads.htm#701_7">Right_Side_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#371_4">Default_Character</A>; + <A HREF="terminal_interface-curses__ads.htm#702_7">Top_Side_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#371_4">Default_Character</A>; + <A HREF="terminal_interface-curses__ads.htm#703_7">Bottom_Side_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#371_4">Default_Character</A>; + <A HREF="terminal_interface-curses__ads.htm#704_7">Upper_Left_Corner_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#371_4">Default_Character</A>; + <A HREF="terminal_interface-curses__ads.htm#705_7">Upper_Right_Corner_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#371_4">Default_Character</A>; + <A HREF="terminal_interface-curses__ads.htm#706_7">Lower_Left_Corner_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#371_4">Default_Character</A>; + <A HREF="terminal_interface-curses__ads.htm#707_7">Lower_Right_Corner_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#371_4">Default_Character</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="501_16">Wborder</A></FONT> (<FONT COLOR=red><A NAME="501_25">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="502_25">LS</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>; + <FONT COLOR=red><A NAME="503_25">RS</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>; + <FONT COLOR=red><A NAME="504_25">TS</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>; + <FONT COLOR=red><A NAME="505_25">BS</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>; + <FONT COLOR=red><A NAME="506_25">ULC</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>; + <FONT COLOR=red><A NAME="507_25">URC</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>; + <FONT COLOR=red><A NAME="508_25">LLC</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>; + <FONT COLOR=red><A NAME="509_25">LRC</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#501_16">Wborder</A>, "wborder"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#501_16">Wborder</A> (<A HREF="terminal_interface-curses__ads.htm#699_7">Win</A>, + <A HREF="terminal_interface-curses-aux__ads.htm#105_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#700_7">Left_Side_Symbol</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#105_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#701_7">Right_Side_Symbol</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#105_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#702_7">Top_Side_Symbol</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#105_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#703_7">Bottom_Side_Symbol</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#105_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#704_7">Upper_Left_Corner_Symbol</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#105_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#705_7">Upper_Right_Corner_Symbol</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#105_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#706_7">Lower_Left_Corner_Symbol</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#105_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#707_7">Lower_Right_Corner_Symbol</A>) + ) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> + <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Border; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#714_14">Box</A><FONT COLOR=red><A NAME="527_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#715_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#716_7">Vertical_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#371_4">Default_Character</A>; + <A HREF="terminal_interface-curses__ads.htm#717_7">Horizontal_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#371_4">Default_Character</A>) + <b>is</b> + <b>begin</b> + <A HREF="terminal_interface-curses__ads.htm#698_14">Border</A> (<A HREF="terminal_interface-curses__ads.htm#715_7">Win</A>, + <A HREF="terminal_interface-curses__ads.htm#716_7">Vertical_Symbol</A>, <A HREF="terminal_interface-curses__ads.htm#716_7">Vertical_Symbol</A>, + <A HREF="terminal_interface-curses__ads.htm#717_7">Horizontal_Symbol</A>, <A HREF="terminal_interface-curses__ads.htm#717_7">Horizontal_Symbol</A>); + <b>end</b> Box; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#722_14">Horizontal_Line</A><FONT COLOR=red><A NAME="538_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#723_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#724_7">Line_Size</A> : <b>in</b> Natural; + <A HREF="terminal_interface-curses__ads.htm#725_7">Line_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#371_4">Default_Character</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="543_16">Whline</A></FONT> (<FONT COLOR=red><A NAME="543_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="544_24">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>; + <FONT COLOR=red><A NAME="545_24">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#543_16">Whline</A>, "whline"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#543_16">Whline</A> (<A HREF="terminal_interface-curses__ads.htm#723_7">Win</A>, + <A HREF="terminal_interface-curses-aux__ads.htm#105_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#725_7">Line_Symbol</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#724_7">Line_Size</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Horizontal_Line; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#731_14">Vertical_Line</A><FONT COLOR=red><A NAME="555_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#732_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#733_7">Line_Size</A> : <b>in</b> Natural; + <A HREF="terminal_interface-curses__ads.htm#734_7">Line_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#371_4">Default_Character</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="560_16">Wvline</A></FONT> (<FONT COLOR=red><A NAME="560_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="561_24">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>; + <FONT COLOR=red><A NAME="562_24">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#560_16">Wvline</A>, "wvline"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#560_16">Wvline</A> (<A HREF="terminal_interface-curses__ads.htm#732_7">Win</A>, + <A HREF="terminal_interface-curses-aux__ads.htm#105_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#734_7">Line_Symbol</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#733_7">Line_Size</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Vertical_Line; + +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#745_13">Get_Keystroke</A><FONT COLOR=red><A NAME="573_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#745_28">Win</A> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>) + <b>return</b> <A HREF="terminal_interface-curses__ads.htm#72_12">Real_Key_Code</A> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="576_16">Wgetch</A></FONT> (<FONT COLOR=red><A NAME="576_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#576_16">Wgetch</A>, "wgetch"); + + <FONT COLOR=red><A NAME="579_7">C</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#576_16">Wgetch</A> (<A HREF="terminal_interface-curses__ads.htm#745_28">Win</A>); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#579_7">C</A> = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>return</b> <A HREF="terminal_interface-curses__ads.htm#87_4">Key_None</A>; + <b>else</b> + <b>return</b> <A HREF="terminal_interface-curses__ads.htm#72_12">Real_Key_Code</A> (<A HREF="terminal_interface-curses__adb.htm#579_7">C</A>); + <b>end</b> <b>if</b>; + <b>end</b> Get_Keystroke; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#756_14">Undo_Keystroke</A><FONT COLOR=red><A NAME="588_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#756_30">Key</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#72_12">Real_Key_Code</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="590_16">Ungetch</A></FONT> (<FONT COLOR=red><A NAME="590_25">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#590_16">Ungetch</A>, "ungetch"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#590_16">Ungetch</A> (<A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#756_30">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Undo_Keystroke; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#761_13">Has_Key</A><FONT COLOR=red><A NAME="598_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#761_22">Key</A> : <A HREF="terminal_interface-curses__ads.htm#77_12">Special_Key_Code</A>) <b>return</b> Boolean + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="600_16">Haskey</A></FONT> (<FONT COLOR=red><A NAME="600_24">Key</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#600_16">Haskey</A>, "has_key"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#600_16">Haskey</A> (<A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#761_22">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#76_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> Has_Key; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#768_13">Is_Function_Key</A><FONT COLOR=red><A NAME="610_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#768_30">Key</A> : <A HREF="terminal_interface-curses__ads.htm#77_12">Special_Key_Code</A>) <b>return</b> Boolean + <b>is</b> + <FONT COLOR=red><A NAME="612_7">L</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#77_12">Special_Key_Code</A> := <A HREF="terminal_interface-curses__ads.htm#77_12">Special_Key_Code</A> (Natural (<A HREF="terminal_interface-curses__ads.htm#97_4">Key_F0</A>) + + Natural (<A HREF="terminal_interface-curses__ads.htm#772_12">Function_Key_Number</A>'Last)); + <b>begin</b> + <b>if</b> (<A HREF="terminal_interface-curses__ads.htm#768_30">Key</A> >= <A HREF="terminal_interface-curses__ads.htm#97_4">Key_F0</A>) <b>and</b> <b>then</b> (<A HREF="terminal_interface-curses__ads.htm#768_30">Key</A> <= <A HREF="terminal_interface-curses__adb.htm#612_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> Is_Function_Key; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#775_13">Function_Key</A><FONT COLOR=red><A NAME="622_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#775_27">Key</A> : <A HREF="terminal_interface-curses__ads.htm#72_12">Real_Key_Code</A>) + <b>return</b> <A HREF="terminal_interface-curses__ads.htm#772_12">Function_Key_Number</A> + <b>is</b> + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__ads.htm#768_13">Is_Function_Key</A> (<A HREF="terminal_interface-curses__ads.htm#775_27">Key</A>) <b>then</b> + <b>return</b> <A HREF="terminal_interface-curses__ads.htm#772_12">Function_Key_Number</A> (<A HREF="terminal_interface-curses__ads.htm#775_27">Key</A> - <A HREF="terminal_interface-curses__ads.htm#97_4">Key_F0</A>); + <b>else</b> + <b>raise</b> Constraint_Error; + <b>end</b> <b>if</b>; + <b>end</b> Function_Key; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#780_13">Function_Key_Code</A><FONT COLOR=red><A NAME="633_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#780_32">Key</A> : <A HREF="terminal_interface-curses__ads.htm#772_12">Function_Key_Number</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#72_12">Real_Key_Code</A> + <b>is</b> + <b>begin</b> + <b>return</b> <A HREF="terminal_interface-curses__ads.htm#72_12">Real_Key_Code</A> (Natural (<A HREF="terminal_interface-curses__ads.htm#97_4">Key_F0</A>) + Natural (<A HREF="terminal_interface-curses__ads.htm#780_32">Key</A>)); + <b>end</b> Function_Key_Code; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#794_14">Standout</A><FONT COLOR=red><A NAME="639_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#794_24">Win</A> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#795_24">On</A> : Boolean := True) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="642_16">wstandout</A></FONT> (<FONT COLOR=red><A NAME="642_27">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#642_16">wstandout</A>, "wstandout"); + <b>function</b> <FONT COLOR=red><A NAME="644_16">wstandend</A></FONT> (<FONT COLOR=red><A NAME="644_27">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#644_16">wstandend</A>, "wstandend"); + + <FONT COLOR=red><A NAME="647_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__ads.htm#795_24">On</A> <b>then</b> + <A HREF="terminal_interface-curses__adb.htm#647_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#642_16">wstandout</A> (<A HREF="terminal_interface-curses__ads.htm#794_24">Win</A>); + <b>else</b> + <A HREF="terminal_interface-curses__adb.htm#647_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#644_16">wstandend</A> (<A HREF="terminal_interface-curses__ads.htm#794_24">Win</A>); + <b>end</b> <b>if</b>; + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#647_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Standout; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#800_14">Switch_Character_Attribute</A><FONT COLOR=red><A NAME="659_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#801_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#802_7">Attr</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#306_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#350_4">Normal_Video</A>; + <A HREF="terminal_interface-curses__ads.htm#803_7">On</A> : <b>in</b> Boolean := True) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="664_16">Wattron</A></FONT> (<FONT COLOR=red><A NAME="664_25">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="665_25">C_Attr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#65_12">C_AttrType</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#664_16">Wattron</A>, "wattr_on"); + <b>function</b> <FONT COLOR=red><A NAME="667_16">Wattroff</A></FONT> (<FONT COLOR=red><A NAME="667_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="668_26">C_Attr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#65_12">C_AttrType</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#667_16">Wattroff</A>, "wattr_off"); + <FONT COLOR=green><EM>-- In Ada we use the On Boolean to control whether or not we want to</EM></FONT> + <FONT COLOR=green><EM>-- switch on or off the attributes in the set.</EM></FONT> + <FONT COLOR=red><A NAME="672_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="673_7">AC</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A> := (Ch => Character'First, + Color => <A HREF="terminal_interface-curses__ads.htm#298_9">Color_Pair</A>'First, + Attr => <A HREF="terminal_interface-curses__ads.htm#802_7">Attr</A>); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__ads.htm#803_7">On</A> <b>then</b> + <A HREF="terminal_interface-curses__adb.htm#672_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#664_16">Wattron</A> (<A HREF="terminal_interface-curses__ads.htm#801_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#109_13">AttrChar_To_AttrType</A> (<A HREF="terminal_interface-curses__adb.htm#673_7">AC</A>)); + <b>else</b> + <A HREF="terminal_interface-curses__adb.htm#672_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#667_16">Wattroff</A> (<A HREF="terminal_interface-curses__ads.htm#801_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#109_13">AttrChar_To_AttrType</A> (<A HREF="terminal_interface-curses__adb.htm#673_7">AC</A>)); + <b>end</b> <b>if</b>; + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#672_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Switch_Character_Attribute; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#811_14">Set_Character_Attributes</A><FONT COLOR=red><A NAME="687_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#812_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#813_7">Attr</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#306_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#350_4">Normal_Video</A>; + <A HREF="terminal_interface-curses__ads.htm#814_7">Color</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#298_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#298_9">Color_Pair</A>'First) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="692_16">Wattrset</A></FONT> (<FONT COLOR=red><A NAME="692_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="693_26">C_Attr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#65_12">C_AttrType</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#692_16">Wattrset</A>, "wattrset"); <FONT COLOR=green><EM>-- ??? wattr_set</EM></FONT> + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#692_16">Wattrset</A> (<A HREF="terminal_interface-curses__ads.htm#812_7">Win</A>, + <A HREF="terminal_interface-curses-aux__ads.htm#109_13">AttrChar_To_AttrType</A> (<A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A>' + (Ch => Character'First, + Color => <A HREF="terminal_interface-curses__ads.htm#814_7">Color</A>, + Attr => <A HREF="terminal_interface-curses__ads.htm#813_7">Attr</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Set_Character_Attributes; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#820_13">Get_Character_Attribute</A><FONT COLOR=red><A NAME="705_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#821_7">Win</A> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>) + <b>return</b> <A HREF="terminal_interface-curses__ads.htm#306_9">Character_Attribute_Set</A> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="708_16">Wattrget</A></FONT> (<FONT COLOR=red><A NAME="708_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="709_26">Atr</A></FONT> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#65_12">C_AttrType</A>; + <FONT COLOR=red><A NAME="710_26">Col</A></FONT> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A>; + <FONT COLOR=red><A NAME="711_26">Opt</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#708_16">Wattrget</A>, "wattr_get"); + + <FONT COLOR=red><A NAME="714_7">Attr</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#65_12">C_AttrType</A>; + <FONT COLOR=red><A NAME="715_7">Col</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A>; + <FONT COLOR=red><A NAME="716_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#708_16">Wattrget</A> (<A HREF="terminal_interface-curses__ads.htm#821_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#714_7">Attr</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#715_7">Col</A>'<b>Access</b>, + System.Null_Address); + <FONT COLOR=red><A NAME="718_7">Ch</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A>; + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#716_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Ok</A> <b>then</b> + <A HREF="terminal_interface-curses__adb.htm#718_7">Ch</A> := <A HREF="terminal_interface-curses-aux__ads.htm#113_13">AttrType_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#714_7">Attr</A>); + <b>return</b> <A HREF="terminal_interface-curses__adb.htm#718_7">Ch</A>.<A HREF="terminal_interface-curses__ads.htm#354_10">Attr</A>; + <b>else</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Get_Character_Attribute; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#826_13">Get_Character_Attribute</A><FONT COLOR=red><A NAME="728_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#827_7">Win</A> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>) + <b>return</b> <A HREF="terminal_interface-curses__ads.htm#298_9">Color_Pair</A> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="731_16">Wattrget</A></FONT> (<FONT COLOR=red><A NAME="731_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="732_26">Atr</A></FONT> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#65_12">C_AttrType</A>; + <FONT COLOR=red><A NAME="733_26">Col</A></FONT> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A>; + <FONT COLOR=red><A NAME="734_26">Opt</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#731_16">Wattrget</A>, "wattr_get"); + + <FONT COLOR=red><A NAME="737_7">Attr</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#65_12">C_AttrType</A>; + <FONT COLOR=red><A NAME="738_7">Col</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A>; + <FONT COLOR=red><A NAME="739_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#731_16">Wattrget</A> (<A HREF="terminal_interface-curses__ads.htm#827_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#737_7">Attr</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#738_7">Col</A>'<b>Access</b>, + System.Null_Address); + <FONT COLOR=red><A NAME="741_7">Ch</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A>; + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#739_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Ok</A> <b>then</b> + <A HREF="terminal_interface-curses__adb.htm#741_7">Ch</A> := <A HREF="terminal_interface-curses-aux__ads.htm#113_13">AttrType_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#737_7">Attr</A>); + <b>return</b> <A HREF="terminal_interface-curses__adb.htm#741_7">Ch</A>.<A HREF="terminal_interface-curses__ads.htm#355_10">Color</A>; + <b>else</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Get_Character_Attribute; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#832_14">Set_Color</A><FONT COLOR=red><A NAME="751_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#832_25">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#833_25">Pair</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#298_9">Color_Pair</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="754_16">Wset_Color</A></FONT> (<FONT COLOR=red><A NAME="754_28">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="755_28">Color</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A>; + <FONT COLOR=red><A NAME="756_28">Opts</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Void_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#754_16">Wset_Color</A>, "wcolor_set"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#754_16">Wset_Color</A> (<A HREF="terminal_interface-curses__ads.htm#832_25">Win</A>, + <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#833_25">Pair</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Void_Ptr</A> (System.Null_Address)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Set_Color; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#839_14">Change_Attributes</A><FONT COLOR=red><A NAME="766_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#840_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#841_7">Count</A> : <b>in</b> Integer := -1; + <A HREF="terminal_interface-curses__ads.htm#842_7">Attr</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#306_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#350_4">Normal_Video</A>; + <A HREF="terminal_interface-curses__ads.htm#843_7">Color</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#298_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#298_9">Color_Pair</A>'First) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="772_16">Wchgat</A></FONT> (<FONT COLOR=red><A NAME="772_24">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="773_24">Cnt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="774_24">Attr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#65_12">C_AttrType</A>; + <FONT COLOR=red><A NAME="775_24">Color</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A>; + <FONT COLOR=red><A NAME="776_24">Opts</A></FONT> : System.Address := System.Null_Address) + <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#772_16">Wchgat</A>, "wchgat"); + + <FONT COLOR=red><A NAME="780_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A> := + (Ch => Character'First, Color => <A HREF="terminal_interface-curses__ads.htm#298_9">Color_Pair</A>'First, Attr => <A HREF="terminal_interface-curses__ads.htm#842_7">Attr</A>); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#772_16">Wchgat</A> (<A HREF="terminal_interface-curses__ads.htm#840_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#841_7">Count</A>), <A HREF="terminal_interface-curses-aux__ads.htm#109_13">AttrChar_To_AttrType</A> (<A HREF="terminal_interface-curses__adb.htm#780_7">Ch</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#843_7">Color</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Change_Attributes; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#848_14">Change_Attributes</A><FONT COLOR=red><A NAME="789_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#849_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#850_7">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A> := <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>'First; + <A HREF="terminal_interface-curses__ads.htm#851_7">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A> := <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>'First; + <A HREF="terminal_interface-curses__ads.htm#852_7">Count</A> : <b>in</b> Integer := -1; + <A HREF="terminal_interface-curses__ads.htm#853_7">Attr</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#306_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#350_4">Normal_Video</A>; + <A HREF="terminal_interface-curses__ads.htm#854_7">Color</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#298_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#298_9">Color_Pair</A>'First) + <b>is</b> + <b>begin</b> + <A HREF="terminal_interface-curses__ads.htm#505_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#849_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#850_7">Line</A>, <A HREF="terminal_interface-curses__ads.htm#851_7">Column</A>); + <A HREF="terminal_interface-curses__ads.htm#839_14">Change_Attributes</A> (<A HREF="terminal_interface-curses__ads.htm#849_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#852_7">Count</A>, <A HREF="terminal_interface-curses__ads.htm#853_7">Attr</A>, <A HREF="terminal_interface-curses__ads.htm#854_7">Color</A>); + <b>end</b> Change_Attributes; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#864_14">Beep</A><FONT COLOR=red><A NAME="802_14"></A></FONT> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="804_16">Beeper</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#804_16">Beeper</A>, "beep"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#804_16">Beeper</A> = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Beep; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#869_14">Flash_Screen</A><FONT COLOR=red><A NAME="812_14"></A></FONT> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="814_16">Flash</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#814_16">Flash</A>, "flash"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#814_16">Flash</A> = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Flash_Screen; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#880_14">Set_Cbreak_Mode</A><FONT COLOR=red><A NAME="822_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#880_31">SwitchOn</A> : <b>in</b> Boolean := True) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="824_16">Cbreak</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#824_16">Cbreak</A>, "cbreak"); + <b>function</b> <FONT COLOR=red><A NAME="826_16">NoCbreak</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#826_16">NoCbreak</A>, "nocbreak"); + + <FONT COLOR=red><A NAME="829_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__ads.htm#880_31">SwitchOn</A> <b>then</b> + <A HREF="terminal_interface-curses__adb.htm#829_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#824_16">Cbreak</A>; + <b>else</b> + <A HREF="terminal_interface-curses__adb.htm#829_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#826_16">NoCbreak</A>; + <b>end</b> <b>if</b>; + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#829_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Set_Cbreak_Mode; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#886_14">Set_Raw_Mode</A><FONT COLOR=red><A NAME="841_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#886_28">SwitchOn</A> : <b>in</b> Boolean := True) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="843_16">Raw</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#843_16">Raw</A>, "raw"); + <b>function</b> <FONT COLOR=red><A NAME="845_16">NoRaw</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#845_16">NoRaw</A>, "noraw"); + + <FONT COLOR=red><A NAME="848_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__ads.htm#886_28">SwitchOn</A> <b>then</b> + <A HREF="terminal_interface-curses__adb.htm#848_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#843_16">Raw</A>; + <b>else</b> + <A HREF="terminal_interface-curses__adb.htm#848_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#845_16">NoRaw</A>; + <b>end</b> <b>if</b>; + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#848_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Set_Raw_Mode; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#892_14">Set_Echo_Mode</A><FONT COLOR=red><A NAME="860_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#892_29">SwitchOn</A> : <b>in</b> Boolean := True) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="862_16">Echo</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#862_16">Echo</A>, "echo"); + <b>function</b> <FONT COLOR=red><A NAME="864_16">NoEcho</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#864_16">NoEcho</A>, "noecho"); + + <FONT COLOR=red><A NAME="867_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__ads.htm#892_29">SwitchOn</A> <b>then</b> + <A HREF="terminal_interface-curses__adb.htm#867_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#862_16">Echo</A>; + <b>else</b> + <A HREF="terminal_interface-curses__adb.htm#867_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#864_16">NoEcho</A>; + <b>end</b> <b>if</b>; + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#867_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Set_Echo_Mode; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#898_14">Set_Meta_Mode</A><FONT COLOR=red><A NAME="879_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#898_29">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#899_29">SwitchOn</A> : <b>in</b> Boolean := True) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="882_16">Meta</A></FONT> (<FONT COLOR=red><A NAME="882_22">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; <FONT COLOR=red><A NAME="882_34">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#882_16">Meta</A>, "meta"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#882_16">Meta</A> (<A HREF="terminal_interface-curses__ads.htm#898_29">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#899_29">SwitchOn</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Set_Meta_Mode; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#904_14">Set_KeyPad_Mode</A><FONT COLOR=red><A NAME="890_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#904_31">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#905_31">SwitchOn</A> : <b>in</b> Boolean := True) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="893_16">Keypad</A></FONT> (<FONT COLOR=red><A NAME="893_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; <FONT COLOR=red><A NAME="893_36">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#893_16">Keypad</A>, "keypad"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#893_16">Keypad</A> (<A HREF="terminal_interface-curses__ads.htm#904_31">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#905_31">SwitchOn</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Set_KeyPad_Mode; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#909_13">Get_KeyPad_Mode</A><FONT COLOR=red><A NAME="901_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#909_30">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>) + <b>return</b> Boolean + <b>is</b> + <b>begin</b> + <b>return</b> <A HREF="terminal_interface-curses__adb.htm#93_13">Get_Flag</A> (<A HREF="terminal_interface-curses__ads.htm#909_30">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1927_4">Offset_use_keypad</A>); + <b>end</b> Get_KeyPad_Mode; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#917_14">Half_Delay</A><FONT COLOR=red><A NAME="908_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#917_26">Amount</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#914_9">Half_Delay_Amount</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="910_16">Halfdelay</A></FONT> (<FONT COLOR=red><A NAME="910_27">Amount</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#910_16">Halfdelay</A>, "halfdelay"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#910_16">Halfdelay</A> (<A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#917_26">Amount</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Half_Delay; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#922_14">Set_Flush_On_Interrupt_Mode</A><FONT COLOR=red><A NAME="918_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#923_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#924_7">Mode</A> : <b>in</b> Boolean := True) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="922_16">Intrflush</A></FONT> (<FONT COLOR=red><A NAME="922_27">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; <FONT COLOR=red><A NAME="922_41">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#922_16">Intrflush</A>, "intrflush"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#922_16">Intrflush</A> (<A HREF="terminal_interface-curses__ads.htm#923_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#924_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Set_Flush_On_Interrupt_Mode; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#929_14">Set_Queue_Interrupt_Mode</A><FONT COLOR=red><A NAME="930_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#930_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#931_7">Flush</A> : <b>in</b> Boolean := True) + <b>is</b> + <b>procedure</b> <FONT COLOR=red><A NAME="934_17">Qiflush</A></FONT>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#934_17">Qiflush</A>, "qiflush"); + <b>procedure</b> <FONT COLOR=red><A NAME="936_17">No_Qiflush</A></FONT>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#936_17">No_Qiflush</A>, "noqiflush"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__ads.htm#931_7">Flush</A> <b>then</b> + <A HREF="terminal_interface-curses__adb.htm#934_17">Qiflush</A>; + <b>else</b> + <A HREF="terminal_interface-curses__adb.htm#936_17">No_Qiflush</A>; + <b>end</b> <b>if</b>; + <b>end</b> Set_Queue_Interrupt_Mode; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#937_14">Set_NoDelay_Mode</A><FONT COLOR=red><A NAME="946_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#938_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#939_7">Mode</A> : <b>in</b> Boolean := False) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="950_16">Nodelay</A></FONT> (<FONT COLOR=red><A NAME="950_25">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; <FONT COLOR=red><A NAME="950_39">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#950_16">Nodelay</A>, "nodelay"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#950_16">Nodelay</A> (<A HREF="terminal_interface-curses__ads.htm#938_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#939_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Set_NoDelay_Mode; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#946_14">Set_Timeout_Mode</A><FONT COLOR=red><A NAME="958_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#946_32">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#947_32">Mode</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#943_9">Timeout_Mode</A>; + <A HREF="terminal_interface-curses__ads.htm#948_32">Amount</A> : <b>in</b> Natural) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="962_16">Wtimeout</A></FONT> (<FONT COLOR=red><A NAME="962_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; <FONT COLOR=red><A NAME="962_40">Amount</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#962_16">Wtimeout</A>, "wtimeout"); + + <FONT COLOR=red><A NAME="965_7">Time</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>begin</b> + <b>case</b> <A HREF="terminal_interface-curses__ads.htm#947_32">Mode</A> <b>is</b> + <b>when</b> <A HREF="terminal_interface-curses__ads.htm#943_26">Blocking</A> => <A HREF="terminal_interface-curses__adb.htm#965_7">Time</A> := -1; + <b>when</b> <A HREF="terminal_interface-curses__ads.htm#943_36">Non_Blocking</A> => <A HREF="terminal_interface-curses__adb.htm#965_7">Time</A> := 0; + <b>when</b> <A HREF="terminal_interface-curses__ads.htm#943_50">Delayed</A> => + <b>if</b> <A HREF="terminal_interface-curses__ads.htm#948_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#965_7">Time</A> := <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#948_32">Amount</A>); + <b>end</b> <b>case</b>; + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#962_16">Wtimeout</A> (<A HREF="terminal_interface-curses__ads.htm#946_32">Win</A>, <A HREF="terminal_interface-curses__adb.htm#965_7">Time</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Set_Timeout_Mode; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#958_14">Set_Escape_Timer_Mode</A><FONT COLOR=red><A NAME="981_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#959_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#960_7">Timer_Off</A> : <b>in</b> Boolean := False) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="985_16">Notimeout</A></FONT> (<FONT COLOR=red><A NAME="985_27">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; <FONT COLOR=red><A NAME="985_41">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#985_16">Notimeout</A>, "notimeout"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#985_16">Notimeout</A> (<A HREF="terminal_interface-curses__ads.htm#959_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#960_7">Timer_Off</A>))) + = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Set_Escape_Timer_Mode; + +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#969_14">Set_NL_Mode</A><FONT COLOR=red><A NAME="995_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#969_27">SwitchOn</A> : <b>in</b> Boolean := True) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="997_16">NL</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#997_16">NL</A>, "nl"); + <b>function</b> <FONT COLOR=red><A NAME="999_16">NoNL</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#999_16">NoNL</A>, "nonl"); + + <FONT COLOR=red><A NAME="1002_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__ads.htm#969_27">SwitchOn</A> <b>then</b> + <A HREF="terminal_interface-curses__adb.htm#1002_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#997_16">NL</A>; + <b>else</b> + <A HREF="terminal_interface-curses__adb.htm#1002_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#999_16">NoNL</A>; + <b>end</b> <b>if</b>; + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1002_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Set_NL_Mode; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#975_14">Clear_On_Next_Update</A><FONT COLOR=red><A NAME="1014_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#976_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#977_7">Do_Clear</A> : <b>in</b> Boolean := True) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1018_16">Clear_Ok</A></FONT> (<FONT COLOR=red><A NAME="1018_26">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; <FONT COLOR=red><A NAME="1018_38">Flag</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1018_16">Clear_Ok</A>, "clearok"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1018_16">Clear_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#976_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#977_7">Do_Clear</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Clear_On_Next_Update; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#982_14">Use_Insert_Delete_Line</A><FONT COLOR=red><A NAME="1026_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#983_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#984_7">Do_Idl</A> : <b>in</b> Boolean := True) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1030_16">IDL_Ok</A></FONT> (<FONT COLOR=red><A NAME="1030_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; <FONT COLOR=red><A NAME="1030_36">Flag</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1030_16">IDL_Ok</A>, "idlok"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1030_16">IDL_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#983_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#984_7">Do_Idl</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Use_Insert_Delete_Line; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#989_14">Use_Insert_Delete_Character</A><FONT COLOR=red><A NAME="1038_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#990_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#991_7">Do_Idc</A> : <b>in</b> Boolean := True) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1042_16">IDC_Ok</A></FONT> (<FONT COLOR=red><A NAME="1042_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; <FONT COLOR=red><A NAME="1042_36">Flag</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1042_16">IDC_Ok</A>, "idcok"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1042_16">IDC_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#990_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#991_7">Do_Idc</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Use_Insert_Delete_Character; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#996_14">Leave_Cursor_After_Update</A><FONT COLOR=red><A NAME="1050_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#997_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#998_7">Do_Leave</A> : <b>in</b> Boolean := True) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1054_16">Leave_Ok</A></FONT> (<FONT COLOR=red><A NAME="1054_26">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; <FONT COLOR=red><A NAME="1054_38">Flag</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1054_16">Leave_Ok</A>, "leaveok"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1054_16">Leave_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#997_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#998_7">Do_Leave</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Leave_Cursor_After_Update; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1003_14">Immediate_Update_Mode</A><FONT COLOR=red><A NAME="1062_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1004_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1005_7">Mode</A> : <b>in</b> Boolean := False) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1066_16">Immedok</A></FONT> (<FONT COLOR=red><A NAME="1066_25">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; <FONT COLOR=red><A NAME="1066_39">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1066_16">Immedok</A>, "immedok"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1066_16">Immedok</A> (<A HREF="terminal_interface-curses__ads.htm#1004_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#1005_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Immediate_Update_Mode; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1010_14">Allow_Scrolling</A><FONT COLOR=red><A NAME="1074_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1011_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1012_7">Mode</A> : <b>in</b> Boolean := False) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1078_16">Scrollok</A></FONT> (<FONT COLOR=red><A NAME="1078_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; <FONT COLOR=red><A NAME="1078_40">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1078_16">Scrollok</A>, "scrollok"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1078_16">Scrollok</A> (<A HREF="terminal_interface-curses__ads.htm#1011_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#1012_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Allow_Scrolling; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1016_13">Scrolling_Allowed</A><FONT COLOR=red><A NAME="1086_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1016_32">Win</A> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>) + <b>return</b> Boolean + <b>is</b> + <b>begin</b> + <b>return</b> <A HREF="terminal_interface-curses__adb.htm#93_13">Get_Flag</A> (<A HREF="terminal_interface-curses__ads.htm#1016_32">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1922_4">Offset_scroll</A>); + <b>end</b> Scrolling_Allowed; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1021_14">Set_Scroll_Region</A><FONT COLOR=red><A NAME="1093_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1022_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1023_7">Top_Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1024_7">Bottom_Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1098_16">Wsetscrreg</A></FONT> (<FONT COLOR=red><A NAME="1098_28">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="1099_28">Lin</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1100_28">Col</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1098_16">Wsetscrreg</A>, "wsetscrreg"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1098_16">Wsetscrreg</A> (<A HREF="terminal_interface-curses__ads.htm#1022_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1023_7">Top_Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1024_7">Bottom_Line</A>)) + = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Set_Scroll_Region; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1034_14">Update_Screen</A><FONT COLOR=red><A NAME="1109_14"></A></FONT> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1111_16">Do_Update</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1111_16">Do_Update</A>, "doupdate"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1111_16">Do_Update</A> = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Update_Screen; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1039_14">Refresh</A><FONT COLOR=red><A NAME="1119_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1039_23">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1121_16">Wrefresh</A></FONT> (<FONT COLOR=red><A NAME="1121_26">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1121_16">Wrefresh</A>, "wrefresh"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1121_16">Wrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#1039_23">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Refresh; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1046_14">Refresh_Without_Update</A><FONT COLOR=red><A NAME="1129_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1047_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1132_16">Wnoutrefresh</A></FONT> (<FONT COLOR=red><A NAME="1132_30">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1132_16">Wnoutrefresh</A>, "wnoutrefresh"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1132_16">Wnoutrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#1047_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Refresh_Without_Update; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1053_14">Redraw</A><FONT COLOR=red><A NAME="1140_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1053_22">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1142_16">Redrawwin</A></FONT> (<FONT COLOR=red><A NAME="1142_27">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1142_16">Redrawwin</A>, "redrawwin"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1142_16">Redrawwin</A> (<A HREF="terminal_interface-curses__ads.htm#1053_22">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Redraw; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1057_14">Redraw</A><FONT COLOR=red><A NAME="1150_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1057_22">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1058_22">Begin_Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1059_22">Line_Count</A> : <b>in</b> Positive) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1155_16">Wredrawln</A></FONT> (<FONT COLOR=red><A NAME="1155_27">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; <FONT COLOR=red><A NAME="1155_41">First</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; <FONT COLOR=red><A NAME="1155_56">Cnt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) + <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1155_16">Wredrawln</A>, "wredrawln"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1155_16">Wredrawln</A> (<A HREF="terminal_interface-curses__ads.htm#1057_22">Win</A>, + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1058_22">Begin_Line</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1059_22">Line_Count</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Redraw; + +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1068_14">Erase</A><FONT COLOR=red><A NAME="1167_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1068_21">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1169_16">Werase</A></FONT> (<FONT COLOR=red><A NAME="1169_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1169_16">Werase</A>, "werase"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1169_16">Werase</A> (<A HREF="terminal_interface-curses__ads.htm#1068_21">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Erase; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1074_14">Clear</A><FONT COLOR=red><A NAME="1177_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1075_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1179_16">Wclear</A></FONT> (<FONT COLOR=red><A NAME="1179_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1179_16">Wclear</A>, "wclear"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1179_16">Wclear</A> (<A HREF="terminal_interface-curses__ads.htm#1075_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Clear; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1081_14">Clear_To_End_Of_Screen</A><FONT COLOR=red><A NAME="1187_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1082_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1189_16">Wclearbot</A></FONT> (<FONT COLOR=red><A NAME="1189_27">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1189_16">Wclearbot</A>, "wclrtobot"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1189_16">Wclearbot</A> (<A HREF="terminal_interface-curses__ads.htm#1082_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Clear_To_End_Of_Screen; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1088_14">Clear_To_End_Of_Line</A><FONT COLOR=red><A NAME="1197_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1089_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1199_16">Wcleareol</A></FONT> (<FONT COLOR=red><A NAME="1199_27">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1199_16">Wcleareol</A>, "wclrtoeol"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1199_16">Wcleareol</A> (<A HREF="terminal_interface-curses__ads.htm#1089_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Clear_To_End_Of_Line; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1102_14">Set_Background</A><FONT COLOR=red><A NAME="1207_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1103_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1104_7">Ch</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A>) + <b>is</b> + <b>procedure</b> <FONT COLOR=red><A NAME="1211_17">WBackground</A></FONT> (<FONT COLOR=red><A NAME="1211_30">W</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; <FONT COLOR=red><A NAME="1211_45">Ch</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>); + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1211_17">WBackground</A>, "wbkgdset"); + <b>begin</b> + <A HREF="terminal_interface-curses__adb.htm#1211_17">WBackground</A> (<A HREF="terminal_interface-curses__ads.htm#1103_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#105_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#1104_7">Ch</A>)); + <b>end</b> Set_Background; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1110_14">Change_Background</A><FONT COLOR=red><A NAME="1217_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1111_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1112_7">Ch</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1221_16">WChangeBkgd</A></FONT> (<FONT COLOR=red><A NAME="1221_29">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; <FONT COLOR=red><A NAME="1221_41">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1221_16">WChangeBkgd</A>, "wbkgd"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1221_16">WChangeBkgd</A> (<A HREF="terminal_interface-curses__ads.htm#1111_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#105_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#1112_7">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Change_Background; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1119_13">Get_Background</A><FONT COLOR=red><A NAME="1229_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1119_29">Win</A> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>) + <b>return</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1232_16">Wgetbkgd</A></FONT> (<FONT COLOR=red><A NAME="1232_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1232_16">Wgetbkgd</A>, "getbkgd"); + <b>begin</b> + <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#102_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#1232_16">Wgetbkgd</A> (<A HREF="terminal_interface-curses__ads.htm#1119_29">Win</A>)); + <b>end</b> Get_Background; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1146_14">Change_Lines_Status</A><FONT COLOR=red><A NAME="1238_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1146_35">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1147_35">Start</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1148_35">Count</A> : <b>in</b> Positive; + <A HREF="terminal_interface-curses__ads.htm#1149_35">State</A> : <b>in</b> Boolean) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1243_16">Wtouchln</A></FONT> (<FONT COLOR=red><A NAME="1243_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="1244_26">Sta</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1245_26">Cnt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1246_26">Chg</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1243_16">Wtouchln</A>, "wtouchln"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1243_16">Wtouchln</A> (<A HREF="terminal_interface-curses__ads.htm#1146_35">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1147_35">Start</A>), <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1148_35">Count</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#1149_35">State</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Change_Lines_Status; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1135_14">Touch</A><FONT COLOR=red><A NAME="1255_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1135_21">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>) + <b>is</b> + <FONT COLOR=red><A NAME="1257_7">Y</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <FONT COLOR=red><A NAME="1258_7">X</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>; + <b>begin</b> + <A HREF="terminal_interface-curses__ads.htm#1222_14">Get_Size</A> (<A HREF="terminal_interface-curses__ads.htm#1135_21">Win</A>, <A HREF="terminal_interface-curses__adb.htm#1257_7">Y</A>, <A HREF="terminal_interface-curses__adb.htm#1258_7">X</A>); + <A HREF="terminal_interface-curses__ads.htm#1146_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#1135_21">Win</A>, 0, Positive (<A HREF="terminal_interface-curses__adb.htm#1257_7">Y</A>), True); + <b>end</b> Touch; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1130_14">Untouch</A><FONT COLOR=red><A NAME="1264_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1130_23">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>) + <b>is</b> + <FONT COLOR=red><A NAME="1266_7">Y</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <FONT COLOR=red><A NAME="1267_7">X</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>; + <b>begin</b> + <A HREF="terminal_interface-curses__ads.htm#1222_14">Get_Size</A> (<A HREF="terminal_interface-curses__ads.htm#1130_23">Win</A>, <A HREF="terminal_interface-curses__adb.htm#1266_7">Y</A>, <A HREF="terminal_interface-curses__adb.htm#1267_7">X</A>); + <A HREF="terminal_interface-curses__ads.htm#1146_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#1130_23">Win</A>, 0, Positive (<A HREF="terminal_interface-curses__adb.htm#1266_7">Y</A>), False); + <b>end</b> Untouch; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1139_14">Touch</A><FONT COLOR=red><A NAME="1273_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1139_21">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1140_21">Start</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1141_21">Count</A> : <b>in</b> Positive) + <b>is</b> + <b>begin</b> + <A HREF="terminal_interface-curses__ads.htm#1146_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#1139_21">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1140_21">Start</A>, <A HREF="terminal_interface-curses__ads.htm#1141_21">Count</A>, True); + <b>end</b> Touch; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1154_13">Is_Touched</A><FONT COLOR=red><A NAME="1281_13"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1154_25">Win</A> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1155_25">Line</A> : <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>) <b>return</b> Boolean + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1285_16">WLineTouched</A></FONT> (<FONT COLOR=red><A NAME="1285_30">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; <FONT COLOR=red><A NAME="1285_42">L</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1285_16">WLineTouched</A>, "is_linetouched"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1285_16">WLineTouched</A> (<A HREF="terminal_interface-curses__ads.htm#1154_25">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1155_25">Line</A>)) = <A HREF="terminal_interface-curses__ads.htm#1932_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> Is_Touched; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1159_13">Is_Touched</A><FONT COLOR=red><A NAME="1295_13"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1159_25">Win</A> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>) <b>return</b> Boolean + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1298_16">WWinTouched</A></FONT> (<FONT COLOR=red><A NAME="1298_29">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1298_16">WWinTouched</A>, "is_wintouched"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1298_16">WWinTouched</A> (<A HREF="terminal_interface-curses__ads.htm#1159_25">Win</A>) = <A HREF="terminal_interface-curses__ads.htm#1932_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> Is_Touched; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1168_14">Copy</A><FONT COLOR=red><A NAME="1308_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1169_7">Source_Window</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1170_7">Destination_Window</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1171_7">Source_Top_Row</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1172_7">Source_Left_Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1173_7">Destination_Top_Row</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1174_7">Destination_Left_Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1175_7">Destination_Bottom_Row</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1176_7">Destination_Right_Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1177_7">Non_Destructive_Mode</A> : <b>in</b> Boolean := True) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1319_16">Copywin</A></FONT> (<FONT COLOR=red><A NAME="1319_25">Src</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="1320_25">Dst</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="1321_25">Str</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1322_25">Slc</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1323_25">Dtr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1324_25">Dlc</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1325_25">Dbr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1326_25">Drc</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1327_25">Ndm</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1319_16">Copywin</A>, "copywin"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1319_16">Copywin</A> (<A HREF="terminal_interface-curses__ads.htm#1169_7">Source_Window</A>, + <A HREF="terminal_interface-curses__ads.htm#1170_7">Destination_Window</A>, + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1171_7">Source_Top_Row</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1172_7">Source_Left_Column</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1173_7">Destination_Top_Row</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1174_7">Destination_Left_Column</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1175_7">Destination_Bottom_Row</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1176_7">Destination_Right_Column</A>), + Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#1177_7">Non_Destructive_Mode</A>) + ) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Copy; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1182_14">Overwrite</A><FONT COLOR=red><A NAME="1344_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1182_25">Source_Window</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1183_25">Destination_Window</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1348_16">Overwrite</A></FONT> (<FONT COLOR=red><A NAME="1348_27">Src</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; <FONT COLOR=red><A NAME="1348_41">Dst</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1348_16">Overwrite</A>, "overwrite"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1348_16">Overwrite</A> (<A HREF="terminal_interface-curses__ads.htm#1182_25">Source_Window</A>, <A HREF="terminal_interface-curses__ads.htm#1183_25">Destination_Window</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Overwrite; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1188_14">Overlay</A><FONT COLOR=red><A NAME="1356_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1188_23">Source_Window</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1189_23">Destination_Window</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1360_16">Overlay</A></FONT> (<FONT COLOR=red><A NAME="1360_25">Src</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; <FONT COLOR=red><A NAME="1360_39">Dst</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1360_16">Overlay</A>, "overlay"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1360_16">Overlay</A> (<A HREF="terminal_interface-curses__ads.htm#1188_23">Source_Window</A>, <A HREF="terminal_interface-curses__ads.htm#1189_23">Destination_Window</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Overlay; + +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1198_14">Insert_Delete_Lines</A><FONT COLOR=red><A NAME="1369_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1199_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1200_7">Lines</A> : <b>in</b> Integer := 1) <FONT COLOR=green><EM>-- default is to insert one line above</EM></FONT> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1373_16">Winsdelln</A></FONT> (<FONT COLOR=red><A NAME="1373_27">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; <FONT COLOR=red><A NAME="1373_39">N</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1373_16">Winsdelln</A>, "winsdelln"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1373_16">Winsdelln</A> (<A HREF="terminal_interface-curses__ads.htm#1199_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1200_7">Lines</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Insert_Delete_Lines; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1206_14">Delete_Line</A><FONT COLOR=red><A NAME="1381_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1206_27">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>) + <b>is</b> + <b>begin</b> + <A HREF="terminal_interface-curses__ads.htm#1198_14">Insert_Delete_Lines</A> (<A HREF="terminal_interface-curses__ads.htm#1206_27">Win</A>, -1); + <b>end</b> Delete_Line; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1212_14">Insert_Line</A><FONT COLOR=red><A NAME="1387_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1212_27">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>) + <b>is</b> + <b>begin</b> + <A HREF="terminal_interface-curses__ads.htm#1198_14">Insert_Delete_Lines</A> (<A HREF="terminal_interface-curses__ads.htm#1212_27">Win</A>, 1); + <b>end</b> Insert_Line; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1222_14">Get_Size</A><FONT COLOR=red><A NAME="1395_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1223_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1224_7">Number_Of_Lines</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#63_12">Line_Count</A>; + <A HREF="terminal_interface-curses__ads.htm#1225_7">Number_Of_Columns</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#65_12">Column_Count</A>) + <b>is</b> + <FONT COLOR=green><EM>-- Please note: in ncurses they are one off.</EM></FONT> + <FONT COLOR=green><EM>-- This might be different in other implementations of curses</EM></FONT> + <FONT COLOR=red><A NAME="1402_7">Y</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> := <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#90_13">W_Get_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1223_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1910_4">Offset_maxy</A>)) + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1929_4">Offset_XY</A>); + <FONT COLOR=red><A NAME="1403_7">X</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> := <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#90_13">W_Get_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1223_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1911_4">Offset_maxx</A>)) + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1929_4">Offset_XY</A>); + <b>begin</b> + <A HREF="terminal_interface-curses__ads.htm#1224_7">Number_Of_Lines</A> := <A HREF="terminal_interface-curses__ads.htm#63_12">Line_Count</A> (<A HREF="terminal_interface-curses__adb.htm#1402_7">Y</A>); + <A HREF="terminal_interface-curses__ads.htm#1225_7">Number_Of_Columns</A> := <A HREF="terminal_interface-curses__ads.htm#65_12">Column_Count</A> (<A HREF="terminal_interface-curses__adb.htm#1403_7">X</A>); + <b>end</b> Get_Size; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1230_14">Get_Window_Position</A><FONT COLOR=red><A NAME="1409_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1231_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1232_7">Top_Left_Line</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1233_7">Top_Left_Column</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>) + <b>is</b> + <FONT COLOR=red><A NAME="1414_7">Y</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A> := <A HREF="terminal_interface-curses__adb.htm#90_13">W_Get_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1231_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1912_4">Offset_begy</A>); + <FONT COLOR=red><A NAME="1415_7">X</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A> := <A HREF="terminal_interface-curses__adb.htm#90_13">W_Get_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1231_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1913_4">Offset_begx</A>); + <b>begin</b> + <A HREF="terminal_interface-curses__ads.htm#1232_7">Top_Left_Line</A> := <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#1414_7">Y</A>); + <A HREF="terminal_interface-curses__ads.htm#1233_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#1415_7">X</A>); + <b>end</b> Get_Window_Position; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1238_14">Get_Cursor_Position</A><FONT COLOR=red><A NAME="1421_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1239_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1240_7">Line</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1241_7">Column</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>) + <b>is</b> + <FONT COLOR=red><A NAME="1426_7">Y</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A> := <A HREF="terminal_interface-curses__adb.htm#90_13">W_Get_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1239_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1914_4">Offset_cury</A>); + <FONT COLOR=red><A NAME="1427_7">X</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A> := <A HREF="terminal_interface-curses__adb.htm#90_13">W_Get_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1239_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1915_4">Offset_curx</A>); + <b>begin</b> + <A HREF="terminal_interface-curses__ads.htm#1240_7">Line</A> := <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#1426_7">Y</A>); + <A HREF="terminal_interface-curses__ads.htm#1241_7">Column</A> := <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#1427_7">X</A>); + <b>end</b> Get_Cursor_Position; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1246_14">Get_Origin_Relative_To_Parent</A><FONT COLOR=red><A NAME="1433_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1247_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1248_7">Top_Left_Line</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1249_7">Top_Left_Column</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1250_7">Is_Not_A_Subwindow</A> : <b>out</b> Boolean) + <b>is</b> + <FONT COLOR=red><A NAME="1439_7">Y</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#89_13">W_Get_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1247_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1917_4">Offset_pary</A>); + <FONT COLOR=red><A NAME="1440_7">X</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#89_13">W_Get_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1247_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1918_4">Offset_parx</A>); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1439_7">Y</A> = -1 <b>then</b> + <A HREF="terminal_interface-curses__ads.htm#1248_7">Top_Left_Line</A> := <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>'Last; + <A HREF="terminal_interface-curses__ads.htm#1249_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>'Last; + <A HREF="terminal_interface-curses__ads.htm#1250_7">Is_Not_A_Subwindow</A> := True; + <b>else</b> + <A HREF="terminal_interface-curses__ads.htm#1248_7">Top_Left_Line</A> := <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#1439_7">Y</A>); + <A HREF="terminal_interface-curses__ads.htm#1249_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#1440_7">X</A>); + <A HREF="terminal_interface-curses__ads.htm#1250_7">Is_Not_A_Subwindow</A> := False; + <b>end</b> <b>if</b>; + <b>end</b> Get_Origin_Relative_To_Parent; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1261_13">New_Pad</A><FONT COLOR=red><A NAME="1453_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1261_22">Lines</A> : <A HREF="terminal_interface-curses__ads.htm#63_12">Line_Count</A>; + <A HREF="terminal_interface-curses__ads.htm#1262_22">Columns</A> : <A HREF="terminal_interface-curses__ads.htm#65_12">Column_Count</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1456_16">Newpad</A></FONT> (<FONT COLOR=red><A NAME="1456_24">Lines</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; <FONT COLOR=red><A NAME="1456_39">Columns</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1456_16">Newpad</A>, "newpad"); + + <FONT COLOR=red><A NAME="1459_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <b>begin</b> + <A HREF="terminal_interface-curses__adb.htm#1459_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#1456_16">Newpad</A> (<A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1261_22">Lines</A>), <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1262_22">Columns</A>)); + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1459_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#58_4">Null_Window</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>return</b> <A HREF="terminal_interface-curses__adb.htm#1459_7">W</A>; + <b>end</b> New_Pad; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1267_13">Sub_Pad</A><FONT COLOR=red><A NAME="1468_13"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1268_7">Pad</A> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1269_7">Number_Of_Lines</A> : <A HREF="terminal_interface-curses__ads.htm#63_12">Line_Count</A>; + <A HREF="terminal_interface-curses__ads.htm#1270_7">Number_Of_Columns</A> : <A HREF="terminal_interface-curses__ads.htm#65_12">Column_Count</A>; + <A HREF="terminal_interface-curses__ads.htm#1271_7">First_Line_Position</A> : <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1272_7">First_Column_Position</A> : <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1475_16">Subpad</A></FONT> + (<FONT COLOR=red><A NAME="1476_10">Pad</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="1477_10">Number_Of_Lines</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1478_10">Number_Of_Columns</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1479_10">First_Line_Position</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1480_10">First_Column_Position</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1475_16">Subpad</A>, "subpad"); + + <FONT COLOR=red><A NAME="1483_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <b>begin</b> + <A HREF="terminal_interface-curses__adb.htm#1483_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#1475_16">Subpad</A> (<A HREF="terminal_interface-curses__ads.htm#1268_7">Pad</A>, + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1269_7">Number_Of_Lines</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1270_7">Number_Of_Columns</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1271_7">First_Line_Position</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1272_7">First_Column_Position</A>)); + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1483_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#58_4">Null_Window</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>return</b> <A HREF="terminal_interface-curses__adb.htm#1483_7">W</A>; + <b>end</b> Sub_Pad; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1277_14">Refresh</A><FONT COLOR=red><A NAME="1496_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1278_7">Pad</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1279_7">Source_Top_Row</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1280_7">Source_Left_Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1281_7">Destination_Top_Row</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1282_7">Destination_Left_Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1283_7">Destination_Bottom_Row</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1284_7">Destination_Right_Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1505_16">Prefresh</A></FONT> + (<FONT COLOR=red><A NAME="1506_10">Pad</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="1507_10">Source_Top_Row</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1508_10">Source_Left_Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1509_10">Destination_Top_Row</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1510_10">Destination_Left_Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1511_10">Destination_Bottom_Row</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1512_10">Destination_Right_Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1505_16">Prefresh</A>, "prefresh"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1505_16">Prefresh</A> (<A HREF="terminal_interface-curses__ads.htm#1278_7">Pad</A>, + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1279_7">Source_Top_Row</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1280_7">Source_Left_Column</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1281_7">Destination_Top_Row</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1282_7">Destination_Left_Column</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1283_7">Destination_Bottom_Row</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1284_7">Destination_Right_Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Refresh; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1289_14">Refresh_Without_Update</A><FONT COLOR=red><A NAME="1526_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1290_7">Pad</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1291_7">Source_Top_Row</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1292_7">Source_Left_Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1293_7">Destination_Top_Row</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1294_7">Destination_Left_Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1295_7">Destination_Bottom_Row</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1296_7">Destination_Right_Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1535_16">Pnoutrefresh</A></FONT> + (<FONT COLOR=red><A NAME="1536_10">Pad</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="1537_10">Source_Top_Row</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1538_10">Source_Left_Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1539_10">Destination_Top_Row</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1540_10">Destination_Left_Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1541_10">Destination_Bottom_Row</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1542_10">Destination_Right_Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1535_16">Pnoutrefresh</A>, "pnoutrefresh"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1535_16">Pnoutrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#1290_7">Pad</A>, + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1291_7">Source_Top_Row</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1292_7">Source_Left_Column</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1293_7">Destination_Top_Row</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1294_7">Destination_Left_Column</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1295_7">Destination_Bottom_Row</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1296_7">Destination_Right_Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Refresh_Without_Update; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1301_14">Add_Character_To_Pad_And_Echo_It</A><FONT COLOR=red><A NAME="1556_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1302_7">Pad</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1303_7">Ch</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1560_16">Pechochar</A></FONT> (<FONT COLOR=red><A NAME="1560_27">Pad</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; <FONT COLOR=red><A NAME="1560_41">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>) + <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1560_16">Pechochar</A>, "pechochar"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1560_16">Pechochar</A> (<A HREF="terminal_interface-curses__ads.htm#1302_7">Pad</A>, <A HREF="terminal_interface-curses-aux__ads.htm#105_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#1303_7">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Add_Character_To_Pad_And_Echo_It; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1306_14">Add_Character_To_Pad_And_Echo_It</A><FONT COLOR=red><A NAME="1569_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1307_7">Pad</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1308_7">Ch</A> : <b>in</b> Character) + <b>is</b> + <b>begin</b> + <A HREF="terminal_interface-curses__ads.htm#1301_14">Add_Character_To_Pad_And_Echo_It</A> + (<A HREF="terminal_interface-curses__ads.htm#1307_7">Pad</A>, + <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A>'(Ch => <A HREF="terminal_interface-curses__ads.htm#1308_7">Ch</A>, + Color => <A HREF="terminal_interface-curses__ads.htm#298_9">Color_Pair</A>'First, + Attr => <A HREF="terminal_interface-curses__ads.htm#350_4">Normal_Video</A>)); + <b>end</b> Add_Character_To_Pad_And_Echo_It; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1316_14">Scroll</A><FONT COLOR=red><A NAME="1581_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1316_22">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1317_22">Amount</A> : <b>in</b> Integer := 1) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1584_16">Wscrl</A></FONT> (<FONT COLOR=red><A NAME="1584_23">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; <FONT COLOR=red><A NAME="1584_37">N</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1584_16">Wscrl</A>, "wscrl"); + + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1584_16">Wscrl</A> (<A HREF="terminal_interface-curses__ads.htm#1316_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1317_22">Amount</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Scroll; + +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1328_14">Delete_Character</A><FONT COLOR=red><A NAME="1594_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1328_32">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1596_16">Wdelch</A></FONT> (<FONT COLOR=red><A NAME="1596_24">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1596_16">Wdelch</A>, "wdelch"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1596_16">Wdelch</A> (<A HREF="terminal_interface-curses__ads.htm#1328_32">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Delete_Character; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1333_14">Delete_Character</A><FONT COLOR=red><A NAME="1604_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1334_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1335_7">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1336_7">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1609_16">Mvwdelch</A></FONT> (<FONT COLOR=red><A NAME="1609_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="1610_26">Lin</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1611_26">Col</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1609_16">Mvwdelch</A>, "mvwdelch"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1609_16">Mvwdelch</A> (<A HREF="terminal_interface-curses__ads.htm#1334_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1335_7">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1336_7">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Delete_Character; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1346_13">Peek</A><FONT COLOR=red><A NAME="1619_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1346_19">Win</A> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>) + <b>return</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1622_16">Winch</A></FONT> (<FONT COLOR=red><A NAME="1622_23">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1622_16">Winch</A>, "winch"); + <b>begin</b> + <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#102_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#1622_16">Winch</A> (<A HREF="terminal_interface-curses__ads.htm#1346_19">Win</A>)); + <b>end</b> Peek; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1352_13">Peek</A><FONT COLOR=red><A NAME="1628_13"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1353_7">Win</A> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1354_7">Line</A> : <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1355_7">Column</A> : <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1633_16">Mvwinch</A></FONT> (<FONT COLOR=red><A NAME="1633_25">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="1634_25">Lin</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1635_25">Col</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1633_16">Mvwinch</A>, "mvwinch"); + <b>begin</b> + <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#102_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#1633_16">Mvwinch</A> (<A HREF="terminal_interface-curses__ads.htm#1353_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1354_7">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1355_7">Column</A>))); + <b>end</b> Peek; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1365_14">Insert</A><FONT COLOR=red><A NAME="1641_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1365_22">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1366_22">Ch</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1644_16">Winsch</A></FONT> (<FONT COLOR=red><A NAME="1644_24">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; <FONT COLOR=red><A NAME="1644_38">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1644_16">Winsch</A>, "winsch"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1644_16">Winsch</A> (<A HREF="terminal_interface-curses__ads.htm#1365_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#105_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#1366_22">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Insert; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1371_14">Insert</A><FONT COLOR=red><A NAME="1652_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1371_22">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1372_22">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1373_22">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1374_22">Ch</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1658_16">Mvwinsch</A></FONT> (<FONT COLOR=red><A NAME="1658_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="1659_26">Lin</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1660_26">Col</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1661_26">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1658_16">Mvwinsch</A>, "mvwinsch"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1658_16">Mvwinsch</A> (<A HREF="terminal_interface-curses__ads.htm#1371_22">Win</A>, + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1372_22">Line</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1373_22">Column</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#105_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#1374_22">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Insert; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1383_14">Insert</A><FONT COLOR=red><A NAME="1672_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1383_22">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1384_22">Str</A> : <b>in</b> String; + <A HREF="terminal_interface-curses__ads.htm#1385_22">Len</A> : <b>in</b> Integer := -1) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1676_16">Winsnstr</A></FONT> (<FONT COLOR=red><A NAME="1676_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="1677_26">Str</A></FONT> : char_array; + <FONT COLOR=red><A NAME="1678_26">Len</A></FONT> : Integer := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1676_16">Winsnstr</A>, "winsnstr"); + + <FONT COLOR=red><A NAME="1681_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#1384_22">Str</A>'Length); + <FONT COLOR=red><A NAME="1682_7">Length</A></FONT> : size_t; + <b>begin</b> + To_C (<A HREF="terminal_interface-curses__ads.htm#1384_22">Str</A>, <A HREF="terminal_interface-curses__adb.htm#1681_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#1682_7">Length</A>); + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1676_16">Winsnstr</A> (<A HREF="terminal_interface-curses__ads.htm#1383_22">Win</A>, <A HREF="terminal_interface-curses__adb.htm#1681_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#1385_22">Len</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Insert; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1392_14">Insert</A><FONT COLOR=red><A NAME="1690_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1392_22">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1393_22">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1394_22">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1395_22">Str</A> : <b>in</b> String; + <A HREF="terminal_interface-curses__ads.htm#1396_22">Len</A> : <b>in</b> Integer := -1) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1697_16">Mvwinsnstr</A></FONT> (<FONT COLOR=red><A NAME="1697_28">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="1698_28">Line</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1699_28">Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1700_28">Str</A></FONT> : char_array; + <FONT COLOR=red><A NAME="1701_28">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1697_16">Mvwinsnstr</A>, "mvwinsnstr"); + + <FONT COLOR=red><A NAME="1704_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#1395_22">Str</A>'Length); + <FONT COLOR=red><A NAME="1705_7">Length</A></FONT> : size_t; + <b>begin</b> + To_C (<A HREF="terminal_interface-curses__ads.htm#1395_22">Str</A>, <A HREF="terminal_interface-curses__adb.htm#1704_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#1705_7">Length</A>); + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1697_16">Mvwinsnstr</A> (<A HREF="terminal_interface-curses__ads.htm#1392_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1393_22">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1394_22">Column</A>), <A HREF="terminal_interface-curses__adb.htm#1704_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1396_22">Len</A>)) + = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Insert; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1408_14">Peek</A><FONT COLOR=red><A NAME="1714_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1408_20">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1409_20">Str</A> : <b>out</b> String; + <A HREF="terminal_interface-curses__ads.htm#1410_20">Len</A> : <b>in</b> Integer := -1) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1718_16">Winnstr</A></FONT> (<FONT COLOR=red><A NAME="1718_25">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="1719_25">Str</A></FONT> : char_array; + <FONT COLOR=red><A NAME="1720_25">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1718_16">Winnstr</A>, "winnstr"); + + <FONT COLOR=red><A NAME="1723_7">N</A></FONT> : Integer := <A HREF="terminal_interface-curses__ads.htm#1410_20">Len</A>; + <FONT COLOR=red><A NAME="1724_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#1409_20">Str</A>'Length); + <FONT COLOR=red><A NAME="1725_7">Cnt</A></FONT> : Natural; + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1723_7">N</A> < 0 <b>then</b> + <A HREF="terminal_interface-curses__adb.htm#1723_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#1409_20">Str</A>'Length; + <b>end</b> <b>if</b>; + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1723_7">N</A> > <A HREF="terminal_interface-curses__ads.htm#1409_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#1724_7">Txt</A> (0) := <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.char'First; + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1718_16">Winnstr</A> (<A HREF="terminal_interface-curses__ads.htm#1408_20">Win</A>, <A HREF="terminal_interface-curses__adb.htm#1724_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#1723_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + To_Ada (<A HREF="terminal_interface-curses__adb.htm#1724_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#1409_20">Str</A>, <A HREF="terminal_interface-curses__adb.htm#1725_7">Cnt</A>, True); + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1725_7">Cnt</A> < <A HREF="terminal_interface-curses__ads.htm#1409_20">Str</A>'Length <b>then</b> + <A HREF="terminal_interface-curses__ads.htm#1409_20">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#1409_20">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#1725_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#1409_20">Str</A>'Last) := (<b>others</b> => ' '); + <b>end</b> <b>if</b>; + <b>end</b> Peek; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1417_14">Peek</A><FONT COLOR=red><A NAME="1743_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1417_20">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1418_20">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1419_20">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1420_20">Str</A> : <b>out</b> String; + <A HREF="terminal_interface-curses__ads.htm#1421_20">Len</A> : <b>in</b> Integer := -1) + <b>is</b> + <b>begin</b> + <A HREF="terminal_interface-curses__ads.htm#505_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#1417_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1418_20">Line</A>, <A HREF="terminal_interface-curses__ads.htm#1419_20">Column</A>); + <A HREF="terminal_interface-curses__ads.htm#1408_14">Peek</A> (<A HREF="terminal_interface-curses__ads.htm#1417_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1420_20">Str</A>, <A HREF="terminal_interface-curses__ads.htm#1421_20">Len</A>); + <b>end</b> Peek; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1432_14">Peek</A><FONT COLOR=red><A NAME="1755_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1432_20">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1433_20">Str</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#376_9">Attributed_String</A>; + <A HREF="terminal_interface-curses__ads.htm#1434_20">Len</A> : <b>in</b> Integer := -1) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1760_16">Winchnstr</A></FONT> (<FONT COLOR=red><A NAME="1760_27">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="1761_27">Str</A></FONT> : <A HREF="terminal_interface-curses__adb.htm#59_9">chtype_array</A>; <FONT COLOR=green><EM>-- out</EM></FONT> + <FONT COLOR=red><A NAME="1762_27">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1760_16">Winchnstr</A>, "winchnstr"); + + <FONT COLOR=red><A NAME="1765_7">N</A></FONT> : Integer := <A HREF="terminal_interface-curses__ads.htm#1434_20">Len</A>; + <FONT COLOR=red><A NAME="1766_7">Txt</A></FONT> : <A HREF="terminal_interface-curses__adb.htm#59_9">chtype_array</A> (0 .. <A HREF="terminal_interface-curses__ads.htm#1433_20">Str</A>'Length) := (0 => <A HREF="terminal_interface-curses__ads.htm#371_4">Default_Character</A>); + <FONT COLOR=red><A NAME="1767_7">Cnt</A></FONT> : Natural := 0; + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1765_7">N</A> < 0 <b>then</b> + <A HREF="terminal_interface-curses__adb.htm#1765_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#1433_20">Str</A>'Length; + <b>end</b> <b>if</b>; + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1765_7">N</A> > <A HREF="terminal_interface-curses__ads.htm#1433_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#1760_16">Winchnstr</A> (<A HREF="terminal_interface-curses__ads.htm#1432_20">Win</A>, <A HREF="terminal_interface-curses__adb.htm#1766_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#1765_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>for</b> <FONT COLOR=red><A NAME="1778_11">To</A></FONT> <b>in</b> <A HREF="terminal_interface-curses__ads.htm#1433_20">Str</A>'<b>Range</b> <b>loop</b> + <b>exit</b> <b>when</b> <A HREF="terminal_interface-curses__adb.htm#1766_7">Txt</A> (size_t (<A HREF="terminal_interface-curses__adb.htm#1767_7">Cnt</A>)) = <A HREF="terminal_interface-curses__ads.htm#371_4">Default_Character</A>; + <A HREF="terminal_interface-curses__ads.htm#1433_20">Str</A> (<A HREF="terminal_interface-curses__adb.htm#1778_11">To</A>) := <A HREF="terminal_interface-curses__adb.htm#1766_7">Txt</A> (size_t (<A HREF="terminal_interface-curses__adb.htm#1767_7">Cnt</A>)); + <A HREF="terminal_interface-curses__adb.htm#1767_7">Cnt</A> := <A HREF="terminal_interface-curses__adb.htm#1767_7">Cnt</A> + 1; + <b>end</b> <b>loop</b>; + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1767_7">Cnt</A> < <A HREF="terminal_interface-curses__ads.htm#1433_20">Str</A>'Length <b>then</b> + <A HREF="terminal_interface-curses__ads.htm#1433_20">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#1433_20">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#1767_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#1433_20">Str</A>'Last) := + (<b>others</b> => (Ch => ' ', + Color => <A HREF="terminal_interface-curses__ads.htm#298_9">Color_Pair</A>'First, + Attr => <A HREF="terminal_interface-curses__ads.htm#350_4">Normal_Video</A>)); + <b>end</b> <b>if</b>; + <b>end</b> Peek; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1441_14">Peek</A><FONT COLOR=red><A NAME="1791_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1441_20">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1442_20">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1443_20">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1444_20">Str</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#376_9">Attributed_String</A>; + <A HREF="terminal_interface-curses__ads.htm#1445_20">Len</A> : <b>in</b> Integer := -1) + <b>is</b> + <b>begin</b> + <A HREF="terminal_interface-curses__ads.htm#505_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#1441_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1442_20">Line</A>, <A HREF="terminal_interface-curses__ads.htm#1443_20">Column</A>); + <A HREF="terminal_interface-curses__ads.htm#1432_14">Peek</A> (<A HREF="terminal_interface-curses__ads.htm#1441_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1444_20">Str</A>, <A HREF="terminal_interface-curses__ads.htm#1445_20">Len</A>); + <b>end</b> Peek; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1457_14">Get</A><FONT COLOR=red><A NAME="1803_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1457_19">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1458_19">Str</A> : <b>out</b> String; + <A HREF="terminal_interface-curses__ads.htm#1459_19">Len</A> : <b>in</b> Integer := -1) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1807_16">Wgetnstr</A></FONT> (<FONT COLOR=red><A NAME="1807_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="1808_26">Str</A></FONT> : char_array; + <FONT COLOR=red><A NAME="1809_26">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1807_16">Wgetnstr</A>, "wgetnstr"); + + <FONT COLOR=red><A NAME="1812_7">N</A></FONT> : Integer := <A HREF="terminal_interface-curses__ads.htm#1459_19">Len</A>; + <FONT COLOR=red><A NAME="1813_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#1458_19">Str</A>'Length); + <FONT COLOR=red><A NAME="1814_7">Cnt</A></FONT> : Natural; + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1812_7">N</A> < 0 <b>then</b> + <A HREF="terminal_interface-curses__adb.htm#1812_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#1458_19">Str</A>'Length; + <b>end</b> <b>if</b>; + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1812_7">N</A> > <A HREF="terminal_interface-curses__ads.htm#1458_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#1813_7">Txt</A> (0) := <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.char'First; + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1807_16">Wgetnstr</A> (<A HREF="terminal_interface-curses__ads.htm#1457_19">Win</A>, <A HREF="terminal_interface-curses__adb.htm#1813_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#1812_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + To_Ada (<A HREF="terminal_interface-curses__adb.htm#1813_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#1458_19">Str</A>, <A HREF="terminal_interface-curses__adb.htm#1814_7">Cnt</A>, True); + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1814_7">Cnt</A> < <A HREF="terminal_interface-curses__ads.htm#1458_19">Str</A>'Length <b>then</b> + <A HREF="terminal_interface-curses__ads.htm#1458_19">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#1458_19">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#1814_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#1458_19">Str</A>'Last) := (<b>others</b> => ' '); + <b>end</b> <b>if</b>; + <b>end</b> Get; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1468_14">Get</A><FONT COLOR=red><A NAME="1832_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1468_19">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1469_19">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1470_19">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1471_19">Str</A> : <b>out</b> String; + <A HREF="terminal_interface-curses__ads.htm#1472_19">Len</A> : <b>in</b> Integer := -1) + <b>is</b> + <b>begin</b> + <A HREF="terminal_interface-curses__ads.htm#505_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#1468_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1469_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#1470_19">Column</A>); + <A HREF="terminal_interface-curses__ads.htm#1457_14">Get</A> (<A HREF="terminal_interface-curses__ads.htm#1468_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1471_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#1472_19">Len</A>); + <b>end</b> Get; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1493_14">Init_Soft_Label_Keys</A><FONT COLOR=red><A NAME="1844_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1494_7">Format</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#1485_9">Soft_Label_Key_Format</A> := <A HREF="terminal_interface-curses__ads.htm#1485_35">Three_Two_Three</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1847_16">Slk_Init</A></FONT> (<FONT COLOR=red><A NAME="1847_26">Fmt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1847_16">Slk_Init</A>, "slk_init"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1847_16">Slk_Init</A> (<A HREF="terminal_interface-curses__ads.htm#1485_9">Soft_Label_Key_Format</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#1494_7">Format</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Init_Soft_Label_Keys; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1499_14">Set_Soft_Label_Key</A><FONT COLOR=red><A NAME="1855_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1499_34">Label</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#1489_9">Label_Number</A>; + <A HREF="terminal_interface-curses__ads.htm#1500_34">Text</A> : <b>in</b> String; + <A HREF="terminal_interface-curses__ads.htm#1501_34">Fmt</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#1490_9">Label_Justification</A> := <A HREF="terminal_interface-curses__ads.htm#1490_33">Left</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1859_16">Slk_Set</A></FONT> (<FONT COLOR=red><A NAME="1859_25">Label</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1860_25">Txt</A></FONT> : char_array; + <FONT COLOR=red><A NAME="1861_25">Fmt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1859_16">Slk_Set</A>, "slk_set"); + + <FONT COLOR=red><A NAME="1864_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#1500_34">Text</A>'Length); + <FONT COLOR=red><A NAME="1865_7">Len</A></FONT> : size_t; + <b>begin</b> + To_C (<A HREF="terminal_interface-curses__ads.htm#1500_34">Text</A>, <A HREF="terminal_interface-curses__adb.htm#1864_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#1865_7">Len</A>); + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1859_16">Slk_Set</A> (<A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1499_34">Label</A>), <A HREF="terminal_interface-curses__adb.htm#1864_7">Txt</A>, + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1490_9">Label_Justification</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#1501_34">Fmt</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Set_Soft_Label_Key; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1506_14">Refresh_Soft_Label_Keys</A><FONT COLOR=red><A NAME="1874_14"></A></FONT> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1876_16">Slk_Refresh</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1876_16">Slk_Refresh</A>, "slk_refresh"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1876_16">Slk_Refresh</A> = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Refresh_Soft_Label_Keys; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1511_14">Refresh_Soft_Label_Keys_Without_Update</A><FONT COLOR=red><A NAME="1884_14"></A></FONT> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1886_16">Slk_Noutrefresh</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1886_16">Slk_Noutrefresh</A>, "slk_noutrefresh"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1886_16">Slk_Noutrefresh</A> = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Refresh_Soft_Label_Keys_Without_Update; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1516_14">Get_Soft_Label_Key</A><FONT COLOR=red><A NAME="1894_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1516_34">Label</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#1489_9">Label_Number</A>; + <A HREF="terminal_interface-curses__ads.htm#1517_34">Text</A> : <b>out</b> String) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1897_16">Slk_Label</A></FONT> (<FONT COLOR=red><A NAME="1897_27">Label</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> chars_ptr; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1897_16">Slk_Label</A>, "slk_label"); + <b>begin</b> + <A HREF="terminal_interface-curses-aux__ads.htm#117_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#1897_16">Slk_Label</A> (<A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1516_34">Label</A>)), <A HREF="terminal_interface-curses__ads.htm#1517_34">Text</A>); + <b>end</b> Get_Soft_Label_Key; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1521_13">Get_Soft_Label_Key</A><FONT COLOR=red><A NAME="1903_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1521_33">Label</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#1489_9">Label_Number</A>) <b>return</b> String + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1905_16">Slk_Label</A></FONT> (<FONT COLOR=red><A NAME="1905_27">Label</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> chars_ptr; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1905_16">Slk_Label</A>, "slk_label"); + <b>begin</b> + <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#122_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#1905_16">Slk_Label</A> (<A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1521_33">Label</A>))); + <b>end</b> Get_Soft_Label_Key; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1527_14">Clear_Soft_Label_Keys</A><FONT COLOR=red><A NAME="1911_14"></A></FONT> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1913_16">Slk_Clear</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1913_16">Slk_Clear</A>, "slk_clear"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1913_16">Slk_Clear</A> = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Clear_Soft_Label_Keys; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1532_14">Restore_Soft_Label_Keys</A><FONT COLOR=red><A NAME="1921_14"></A></FONT> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1923_16">Slk_Restore</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1923_16">Slk_Restore</A>, "slk_restore"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1923_16">Slk_Restore</A> = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Restore_Soft_Label_Keys; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1537_14">Touch_Soft_Label_Keys</A><FONT COLOR=red><A NAME="1931_14"></A></FONT> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1933_16">Slk_Touch</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1933_16">Slk_Touch</A>, "slk_touch"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1933_16">Slk_Touch</A> = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Touch_Soft_Label_Keys; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1542_14">Switch_Soft_Label_Key_Attributes</A><FONT COLOR=red><A NAME="1941_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1543_7">Attr</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#306_9">Character_Attribute_Set</A>; + <A HREF="terminal_interface-curses__ads.htm#1544_7">On</A> : <b>in</b> Boolean := True) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1945_16">Slk_Attron</A></FONT> (<FONT COLOR=red><A NAME="1945_28">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1945_16">Slk_Attron</A>, "slk_attron"); + <b>function</b> <FONT COLOR=red><A NAME="1947_16">Slk_Attroff</A></FONT> (<FONT COLOR=red><A NAME="1947_29">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1947_16">Slk_Attroff</A>, "slk_attroff"); + + <FONT COLOR=red><A NAME="1950_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="1951_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A> := (Ch => Character'First, + Attr => <A HREF="terminal_interface-curses__ads.htm#1543_7">Attr</A>, + Color => <A HREF="terminal_interface-curses__ads.htm#298_9">Color_Pair</A>'First); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__ads.htm#1544_7">On</A> <b>then</b> + <A HREF="terminal_interface-curses__adb.htm#1950_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#1945_16">Slk_Attron</A> (<A HREF="terminal_interface-curses-aux__ads.htm#105_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__adb.htm#1951_7">Ch</A>)); + <b>else</b> + <A HREF="terminal_interface-curses__adb.htm#1950_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#1947_16">Slk_Attroff</A> (<A HREF="terminal_interface-curses-aux__ads.htm#105_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__adb.htm#1951_7">Ch</A>)); + <b>end</b> <b>if</b>; + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1950_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Switch_Soft_Label_Key_Attributes; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1550_14">Set_Soft_Label_Key_Attributes</A><FONT COLOR=red><A NAME="1965_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1551_7">Attr</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#306_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#350_4">Normal_Video</A>; + <A HREF="terminal_interface-curses__ads.htm#1552_7">Color</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#298_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#298_9">Color_Pair</A>'First) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1969_16">Slk_Attrset</A></FONT> (<FONT COLOR=red><A NAME="1969_29">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1969_16">Slk_Attrset</A>, "slk_attrset"); + + <FONT COLOR=red><A NAME="1972_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A> := (Ch => Character'First, + Attr => <A HREF="terminal_interface-curses__ads.htm#1551_7">Attr</A>, + Color => <A HREF="terminal_interface-curses__ads.htm#1552_7">Color</A>); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1969_16">Slk_Attrset</A> (<A HREF="terminal_interface-curses-aux__ads.htm#105_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__adb.htm#1972_7">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Set_Soft_Label_Key_Attributes; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1557_13">Get_Soft_Label_Key_Attributes</A><FONT COLOR=red><A NAME="1981_13"></A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#306_9">Character_Attribute_Set</A> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1983_16">Slk_Attr</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1983_16">Slk_Attr</A>, "slk_attr"); + + <FONT COLOR=red><A NAME="1986_7">Attr</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A> := <A HREF="terminal_interface-curses__adb.htm#1983_16">Slk_Attr</A>; + <b>begin</b> + <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#102_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#1986_7">Attr</A>).<A HREF="terminal_interface-curses__ads.htm#354_10">Attr</A>; + <b>end</b> Get_Soft_Label_Key_Attributes; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1561_13">Get_Soft_Label_Key_Attributes</A><FONT COLOR=red><A NAME="1991_13"></A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#298_9">Color_Pair</A> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="1993_16">Slk_Attr</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1993_16">Slk_Attr</A>, "slk_attr"); + + <FONT COLOR=red><A NAME="1996_7">Attr</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A> := <A HREF="terminal_interface-curses__adb.htm#1993_16">Slk_Attr</A>; + <b>begin</b> + <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#102_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#1996_7">Attr</A>).<A HREF="terminal_interface-curses__ads.htm#355_10">Color</A>; + <b>end</b> Get_Soft_Label_Key_Attributes; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1566_14">Set_Soft_Label_Key_Color</A><FONT COLOR=red><A NAME="2001_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1566_40">Pair</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#298_9">Color_Pair</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2003_16">Slk_Color</A></FONT> (<FONT COLOR=red><A NAME="2003_27">Color</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2003_16">Slk_Color</A>, "slk_color"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2003_16">Slk_Color</A> (<A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1566_40">Pair</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Set_Soft_Label_Key_Color; + +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1580_14">Enable_Key</A><FONT COLOR=red><A NAME="2012_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1580_26">Key</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#77_12">Special_Key_Code</A>; + <A HREF="terminal_interface-curses__ads.htm#1581_26">Enable</A> : <b>in</b> Boolean := True) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2015_16">Keyok</A></FONT> (<FONT COLOR=red><A NAME="2015_23">Keycode</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="2016_23">On_Off</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2015_16">Keyok</A>, "keyok"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2015_16">Keyok</A> (<A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1580_26">Key</A>), <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#1581_26">Enable</A>))) + = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Enable_Key; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1590_14">Define_Key</A><FONT COLOR=red><A NAME="2025_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1590_26">Definition</A> : <b>in</b> String; + <A HREF="terminal_interface-curses__ads.htm#1591_26">Key</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#77_12">Special_Key_Code</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2028_16">Defkey</A></FONT> (<FONT COLOR=red><A NAME="2028_24">Def</A></FONT> : char_array; + <FONT COLOR=red><A NAME="2029_24">Key</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2028_16">Defkey</A>, "define_key"); + + <FONT COLOR=red><A NAME="2032_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#1590_26">Definition</A>'Length); + <FONT COLOR=red><A NAME="2033_7">Length</A></FONT> : size_t; + <b>begin</b> + To_C (<A HREF="terminal_interface-curses__ads.htm#1590_26">Definition</A>, <A HREF="terminal_interface-curses__adb.htm#2032_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#2033_7">Length</A>); + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2028_16">Defkey</A> (<A HREF="terminal_interface-curses__adb.htm#2032_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1591_26">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Define_Key; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1616_14">Un_Control</A><FONT COLOR=red><A NAME="2041_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1616_26">Ch</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A>; + <A HREF="terminal_interface-curses__ads.htm#1617_26">Str</A> : <b>out</b> String) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2044_16">Unctrl</A></FONT> (<FONT COLOR=red><A NAME="2044_24">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>) <b>return</b> chars_ptr; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2044_16">Unctrl</A>, "unctrl"); + <b>begin</b> + <A HREF="terminal_interface-curses-aux__ads.htm#117_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#2044_16">Unctrl</A> (<A HREF="terminal_interface-curses-aux__ads.htm#105_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#1616_26">Ch</A>)), <A HREF="terminal_interface-curses__ads.htm#1617_26">Str</A>); + <b>end</b> Un_Control; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1621_13">Un_Control</A><FONT COLOR=red><A NAME="2050_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1621_25">Ch</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A>) <b>return</b> String + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2052_16">Unctrl</A></FONT> (<FONT COLOR=red><A NAME="2052_24">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>) <b>return</b> chars_ptr; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2052_16">Unctrl</A>, "unctrl"); + <b>begin</b> + <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#122_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#2052_16">Unctrl</A> (<A HREF="terminal_interface-curses-aux__ads.htm#105_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#1621_25">Ch</A>))); + <b>end</b> Un_Control; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1627_14">Delay_Output</A><FONT COLOR=red><A NAME="2058_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1627_28">Msecs</A> : <b>in</b> Natural) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2060_16">Delayoutput</A></FONT> (<FONT COLOR=red><A NAME="2060_29">Msecs</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2060_16">Delayoutput</A>, "delay_output"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2060_16">Delayoutput</A> (<A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1627_28">Msecs</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Delay_Output; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1632_14">Flush_Input</A><FONT COLOR=red><A NAME="2068_14"></A></FONT> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2070_16">Flushinp</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2070_16">Flushinp</A>, "flushinp"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2070_16">Flushinp</A> = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> <FONT COLOR=green><EM>-- docu says that never happens, but...</EM></FONT> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Flush_Input; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1641_13">Baudrate</A><FONT COLOR=red><A NAME="2078_13"></A></FONT> <b>return</b> Natural + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2080_16">Baud</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2080_16">Baud</A>, "baudrate"); + <b>begin</b> + <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#2080_16">Baud</A>); + <b>end</b> Baudrate; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1646_13">Erase_Character</A><FONT COLOR=red><A NAME="2086_13"></A></FONT> <b>return</b> Character + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2088_16">Erasechar</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2088_16">Erasechar</A>, "erasechar"); + <b>begin</b> + <b>return</b> Character'Val (<A HREF="terminal_interface-curses__adb.htm#2088_16">Erasechar</A>); + <b>end</b> Erase_Character; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1651_13">Kill_Character</A><FONT COLOR=red><A NAME="2094_13"></A></FONT> <b>return</b> Character + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2096_16">Killchar</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2096_16">Killchar</A>, "killchar"); + <b>begin</b> + <b>return</b> Character'Val (<A HREF="terminal_interface-curses__adb.htm#2096_16">Killchar</A>); + <b>end</b> Kill_Character; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1656_13">Has_Insert_Character</A><FONT COLOR=red><A NAME="2102_13"></A></FONT> <b>return</b> Boolean + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2104_16">Has_Ic</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2104_16">Has_Ic</A>, "has_ic"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2104_16">Has_Ic</A> = <A HREF="terminal_interface-curses__ads.htm#1932_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> Has_Insert_Character; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1661_13">Has_Insert_Line</A><FONT COLOR=red><A NAME="2114_13"></A></FONT> <b>return</b> Boolean + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2116_16">Has_Il</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2116_16">Has_Il</A>, "has_il"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2116_16">Has_Il</A> = <A HREF="terminal_interface-curses__ads.htm#1932_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> Has_Insert_Line; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1666_13">Supported_Attributes</A><FONT COLOR=red><A NAME="2126_13"></A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#306_9">Character_Attribute_Set</A> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2128_16">Termattrs</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_Chtype</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2128_16">Termattrs</A>, "termattrs"); + + <FONT COLOR=red><A NAME="2131_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses-aux__ads.htm#102_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#2128_16">Termattrs</A>); + <b>begin</b> + <b>return</b> <A HREF="terminal_interface-curses__adb.htm#2131_7">Ch</A>.<A HREF="terminal_interface-curses__ads.htm#354_10">Attr</A>; + <b>end</b> Supported_Attributes; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1671_14">Long_Name</A><FONT COLOR=red><A NAME="2136_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1671_25">Name</A> : <b>out</b> String) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2138_16">Longname</A></FONT> <b>return</b> chars_ptr; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2138_16">Longname</A>, "longname"); + <b>begin</b> + <A HREF="terminal_interface-curses-aux__ads.htm#117_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#2138_16">Longname</A>, <A HREF="terminal_interface-curses__ads.htm#1671_25">Name</A>); + <b>end</b> Long_Name; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1675_13">Long_Name</A><FONT COLOR=red><A NAME="2144_13"></A></FONT> <b>return</b> String + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2146_16">Longname</A></FONT> <b>return</b> chars_ptr; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2146_16">Longname</A>, "longname"); + <b>begin</b> + <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#122_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#2146_16">Longname</A>); + <b>end</b> Long_Name; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1681_14">Terminal_Name</A><FONT COLOR=red><A NAME="2152_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1681_29">Name</A> : <b>out</b> String) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2154_16">Termname</A></FONT> <b>return</b> chars_ptr; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2154_16">Termname</A>, "termname"); + <b>begin</b> + <A HREF="terminal_interface-curses-aux__ads.htm#117_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#2154_16">Termname</A>, <A HREF="terminal_interface-curses__ads.htm#1681_29">Name</A>); + <b>end</b> Terminal_Name; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1685_13">Terminal_Name</A><FONT COLOR=red><A NAME="2160_13"></A></FONT> <b>return</b> String + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2162_16">Termname</A></FONT> <b>return</b> chars_ptr; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2162_16">Termname</A>, "termname"); + <b>begin</b> + <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#122_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#2162_16">Termname</A>); + <b>end</b> Terminal_Name; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1706_14">Init_Pair</A><FONT COLOR=red><A NAME="2168_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1706_25">Pair</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#300_12">Redefinable_Color_Pair</A>; + <A HREF="terminal_interface-curses__ads.htm#1707_25">Fore</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#277_9">Color_Number</A>; + <A HREF="terminal_interface-curses__ads.htm#1708_25">Back</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#277_9">Color_Number</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2172_16">Initpair</A></FONT> (<FONT COLOR=red><A NAME="2172_26">Pair</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A>; + <FONT COLOR=red><A NAME="2173_26">Fore</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A>; + <FONT COLOR=red><A NAME="2174_26">Back</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2172_16">Initpair</A>, "init_pair"); + <b>begin</b> + <b>if</b> Integer (<A HREF="terminal_interface-curses__ads.htm#1706_25">Pair</A>) >= <A HREF="terminal_interface-curses__ads.htm#424_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#1707_25">Fore</A>) >= <A HREF="terminal_interface-curses__ads.htm#421_13">Number_Of_Colors</A> <b>or</b> <b>else</b> + Integer (<A HREF="terminal_interface-curses__ads.htm#1708_25">Back</A>) >= <A HREF="terminal_interface-curses__ads.htm#421_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#2172_16">Initpair</A> (<A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1706_25">Pair</A>), <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1707_25">Fore</A>), <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1708_25">Back</A>)) + = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Init_Pair; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1713_14">Pair_Content</A><FONT COLOR=red><A NAME="2189_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1713_28">Pair</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#298_9">Color_Pair</A>; + <A HREF="terminal_interface-curses__ads.htm#1714_28">Fore</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#277_9">Color_Number</A>; + <A HREF="terminal_interface-curses__ads.htm#1715_28">Back</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#277_9">Color_Number</A>) + <b>is</b> + <b>type</b> <FONT COLOR=red><A NAME="2193_12">C_Short_Access</A></FONT> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A>; + <b>function</b> <FONT COLOR=red><A NAME="2194_16">Paircontent</A></FONT> (<FONT COLOR=red><A NAME="2194_29">Pair</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A>; + <FONT COLOR=red><A NAME="2195_29">Fp</A></FONT> : <A HREF="terminal_interface-curses__adb.htm#2193_12">C_Short_Access</A>; + <FONT COLOR=red><A NAME="2196_29">Bp</A></FONT> : <A HREF="terminal_interface-curses__adb.htm#2193_12">C_Short_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2194_16">Paircontent</A>, "pair_content"); + + <FONT COLOR=red><A NAME="2199_7">F</A></FONT>, <FONT COLOR=red><A NAME="2199_10">B</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A>; + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2194_16">Paircontent</A> (<A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1713_28">Pair</A>), <A HREF="terminal_interface-curses__adb.htm#2199_7">F</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#2199_10">B</A>'<b>Access</b>) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>else</b> + <A HREF="terminal_interface-curses__ads.htm#1714_28">Fore</A> := <A HREF="terminal_interface-curses__ads.htm#277_9">Color_Number</A> (<A HREF="terminal_interface-curses__adb.htm#2199_7">F</A>); + <A HREF="terminal_interface-curses__ads.htm#1715_28">Back</A> := <A HREF="terminal_interface-curses__ads.htm#277_9">Color_Number</A> (<A HREF="terminal_interface-curses__adb.htm#2199_10">B</A>); + <b>end</b> <b>if</b>; + <b>end</b> Pair_Content; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1720_13">Has_Colors</A><FONT COLOR=red><A NAME="2209_13"></A></FONT> <b>return</b> Boolean + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2211_16">Hascolors</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2211_16">Hascolors</A>, "has_colors"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2211_16">Hascolors</A> = <A HREF="terminal_interface-curses__ads.htm#1932_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> Has_Colors; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1725_14">Init_Color</A><FONT COLOR=red><A NAME="2221_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1725_26">Color</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#277_9">Color_Number</A>; + <A HREF="terminal_interface-curses__ads.htm#1726_26">Red</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#294_9">RGB_Value</A>; + <A HREF="terminal_interface-curses__ads.htm#1727_26">Green</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#294_9">RGB_Value</A>; + <A HREF="terminal_interface-curses__ads.htm#1728_26">Blue</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#294_9">RGB_Value</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2226_16">Initcolor</A></FONT> (<FONT COLOR=red><A NAME="2226_27">Col</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A>; + <FONT COLOR=red><A NAME="2227_27">Red</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A>; + <FONT COLOR=red><A NAME="2228_27">Green</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A>; + <FONT COLOR=red><A NAME="2229_27">Blue</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2226_16">Initcolor</A>, "init_color"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2226_16">Initcolor</A> (<A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1725_26">Color</A>), <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1726_26">Red</A>), <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1727_26">Green</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1728_26">Blue</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Init_Color; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1733_13">Can_Change_Color</A><FONT COLOR=red><A NAME="2238_13"></A></FONT> <b>return</b> Boolean + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2240_16">Canchangecolor</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2240_16">Canchangecolor</A>, "can_change_color"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2240_16">Canchangecolor</A> = <A HREF="terminal_interface-curses__ads.htm#1932_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> Can_Change_Color; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1738_14">Color_Content</A><FONT COLOR=red><A NAME="2250_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1738_29">Color</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#277_9">Color_Number</A>; + <A HREF="terminal_interface-curses__ads.htm#1739_29">Red</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#294_9">RGB_Value</A>; + <A HREF="terminal_interface-curses__ads.htm#1740_29">Green</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#294_9">RGB_Value</A>; + <A HREF="terminal_interface-curses__ads.htm#1741_29">Blue</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#294_9">RGB_Value</A>) + <b>is</b> + <b>type</b> <FONT COLOR=red><A NAME="2255_12">C_Short_Access</A></FONT> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A>; + + <b>function</b> <FONT COLOR=red><A NAME="2257_16">Colorcontent</A></FONT> (<FONT COLOR=red><A NAME="2257_30">Color</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A>; <FONT COLOR=red><A NAME="2257_47">R</A></FONT>, <FONT COLOR=red><A NAME="2257_50">G</A></FONT>, <FONT COLOR=red><A NAME="2257_53">B</A></FONT> : <A HREF="terminal_interface-curses__adb.htm#2255_12">C_Short_Access</A>) + <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2257_16">Colorcontent</A>, "color_content"); + + <FONT COLOR=red><A NAME="2261_7">R</A></FONT>, <FONT COLOR=red><A NAME="2261_10">G</A></FONT>, <FONT COLOR=red><A NAME="2261_13">B</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A>; + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2257_16">Colorcontent</A> (<A HREF="terminal_interface-curses-aux__ads.htm#57_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1738_29">Color</A>), <A HREF="terminal_interface-curses__adb.htm#2261_7">R</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#2261_10">G</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#2261_13">B</A>'<b>Access</b>) = + <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>else</b> + <A HREF="terminal_interface-curses__ads.htm#1739_29">Red</A> := <A HREF="terminal_interface-curses__ads.htm#294_9">RGB_Value</A> (<A HREF="terminal_interface-curses__adb.htm#2261_7">R</A>); + <A HREF="terminal_interface-curses__ads.htm#1740_29">Green</A> := <A HREF="terminal_interface-curses__ads.htm#294_9">RGB_Value</A> (<A HREF="terminal_interface-curses__adb.htm#2261_10">G</A>); + <A HREF="terminal_interface-curses__ads.htm#1741_29">Blue</A> := <A HREF="terminal_interface-curses__ads.htm#294_9">RGB_Value</A> (<A HREF="terminal_interface-curses__adb.htm#2261_13">B</A>); + <b>end</b> <b>if</b>; + <b>end</b> Color_Content; + +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1753_14">Save_Curses_Mode</A><FONT COLOR=red><A NAME="2274_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1753_32">Mode</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#1750_9">Curses_Mode</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2276_16">Def_Prog_Mode</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2276_16">Def_Prog_Mode</A>, "def_prog_mode"); + <b>function</b> <FONT COLOR=red><A NAME="2278_16">Def_Shell_Mode</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2278_16">Def_Shell_Mode</A>, "def_shell_mode"); + + <FONT COLOR=red><A NAME="2281_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>begin</b> + <b>case</b> <A HREF="terminal_interface-curses__ads.htm#1753_32">Mode</A> <b>is</b> + <b>when</b> <A HREF="terminal_interface-curses__ads.htm#1750_25">Curses</A> => <A HREF="terminal_interface-curses__adb.htm#2281_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#2276_16">Def_Prog_Mode</A>; + <b>when</b> <A HREF="terminal_interface-curses__ads.htm#1750_33">Shell</A> => <A HREF="terminal_interface-curses__adb.htm#2281_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#2278_16">Def_Shell_Mode</A>; + <b>end</b> <b>case</b>; + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2281_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Save_Curses_Mode; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1759_14">Reset_Curses_Mode</A><FONT COLOR=red><A NAME="2292_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1759_33">Mode</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#1750_9">Curses_Mode</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2294_16">Reset_Prog_Mode</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2294_16">Reset_Prog_Mode</A>, "reset_prog_mode"); + <b>function</b> <FONT COLOR=red><A NAME="2296_16">Reset_Shell_Mode</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2296_16">Reset_Shell_Mode</A>, "reset_shell_mode"); + + <FONT COLOR=red><A NAME="2299_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>begin</b> + <b>case</b> <A HREF="terminal_interface-curses__ads.htm#1759_33">Mode</A> <b>is</b> + <b>when</b> <A HREF="terminal_interface-curses__ads.htm#1750_25">Curses</A> => <A HREF="terminal_interface-curses__adb.htm#2299_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#2294_16">Reset_Prog_Mode</A>; + <b>when</b> <A HREF="terminal_interface-curses__ads.htm#1750_33">Shell</A> => <A HREF="terminal_interface-curses__adb.htm#2299_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#2296_16">Reset_Shell_Mode</A>; + <b>end</b> <b>case</b>; + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2299_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Reset_Curses_Mode; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1765_14">Save_Terminal_State</A><FONT COLOR=red><A NAME="2310_14"></A></FONT> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2312_16">Savetty</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2312_16">Savetty</A>, "savetty"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2312_16">Savetty</A> = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Save_Terminal_State; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1770_14">Reset_Terminal_State</A><FONT COLOR=red><A NAME="2320_14"></A></FONT> + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2322_16">Resetty</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2322_16">Resetty</A>, "resetty"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2322_16">Resetty</A> = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Reset_Terminal_State; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1783_14">Rip_Off_Lines</A><FONT COLOR=red><A NAME="2330_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1783_29">Lines</A> : <b>in</b> Integer; + <A HREF="terminal_interface-curses__ads.htm#1784_29">Proc</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#1774_9">Stdscr_Init_Proc</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2333_16">Ripoffline</A></FONT> (<FONT COLOR=red><A NAME="2333_28">Lines</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="2334_28">Proc</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1774_9">Stdscr_Init_Proc</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2333_16">Ripoffline</A>, "_nc_ripoffline"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2333_16">Ripoffline</A> (<A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1783_29">Lines</A>), <A HREF="terminal_interface-curses__ads.htm#1784_29">Proc</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Rip_Off_Lines; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1795_14">Set_Cursor_Visibility</A><FONT COLOR=red><A NAME="2342_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1795_37">Visibility</A> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#1792_9">Cursor_Visibility</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2344_16">Curs_Set</A></FONT> (<FONT COLOR=red><A NAME="2344_26">Curs</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2344_16">Curs_Set</A>, "curs_set"); + + <FONT COLOR=red><A NAME="2347_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>begin</b> + <A HREF="terminal_interface-curses__adb.htm#2347_7">Res</A> := <A HREF="terminal_interface-curses__adb.htm#2344_16">Curs_Set</A> (<A HREF="terminal_interface-curses__ads.htm#1792_9">Cursor_Visibility</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#1795_37">Visibility</A>)); + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2347_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <A HREF="terminal_interface-curses__ads.htm#1795_37">Visibility</A> := <A HREF="terminal_interface-curses__ads.htm#1792_9">Cursor_Visibility</A>'Val (<A HREF="terminal_interface-curses__adb.htm#2347_7">Res</A>); + <b>end</b> <b>if</b>; + <b>end</b> Set_Cursor_Visibility; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1800_14">Nap_Milli_Seconds</A><FONT COLOR=red><A NAME="2355_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1800_33">Ms</A> : <b>in</b> Natural) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2357_16">Napms</A></FONT> (<FONT COLOR=red><A NAME="2357_23">Ms</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2357_16">Napms</A>, "napms"); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2357_16">Napms</A> (<A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1800_33">Ms</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Nap_Milli_Seconds; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A><FONT COLOR=red><A NAME="2366_13"></A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> + <b>is</b> + <FONT COLOR=red><A NAME="2368_7">Stdscr</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2368_7">Stdscr</A>, "stdscr"); + <b>begin</b> + <b>return</b> <A HREF="terminal_interface-curses__adb.htm#2368_7">Stdscr</A>; + <b>end</b> Standard_Window; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#412_13">Lines</A><FONT COLOR=red><A NAME="2374_13"></A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#63_12">Line_Count</A> + <b>is</b> + <FONT COLOR=red><A NAME="2376_7">C_Lines</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2376_7">C_Lines</A>, "LINES"); + <b>begin</b> + <b>return</b> <A HREF="terminal_interface-curses__ads.htm#63_12">Line_Count</A> (<A HREF="terminal_interface-curses__adb.htm#2376_7">C_Lines</A>); + <b>end</b> Lines; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#415_13">Columns</A><FONT COLOR=red><A NAME="2382_13"></A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#65_12">Column_Count</A> + <b>is</b> + <FONT COLOR=red><A NAME="2384_7">C_Columns</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2384_7">C_Columns</A>, "COLS"); + <b>begin</b> + <b>return</b> <A HREF="terminal_interface-curses__ads.htm#65_12">Column_Count</A> (<A HREF="terminal_interface-curses__adb.htm#2384_7">C_Columns</A>); + <b>end</b> Columns; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#418_13">Tab_Size</A><FONT COLOR=red><A NAME="2390_13"></A></FONT> <b>return</b> Natural + <b>is</b> + <FONT COLOR=red><A NAME="2392_7">C_Tab_Size</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2392_7">C_Tab_Size</A>, "TABSIZE"); + <b>begin</b> + <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#2392_7">C_Tab_Size</A>); + <b>end</b> Tab_Size; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#421_13">Number_Of_Colors</A><FONT COLOR=red><A NAME="2398_13"></A></FONT> <b>return</b> Natural + <b>is</b> + <FONT COLOR=red><A NAME="2400_7">C_Number_Of_Colors</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2400_7">C_Number_Of_Colors</A>, "COLORS"); + <b>begin</b> + <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#2400_7">C_Number_Of_Colors</A>); + <b>end</b> Number_Of_Colors; + + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#424_13">Number_Of_Color_Pairs</A><FONT COLOR=red><A NAME="2406_13"></A></FONT> <b>return</b> Natural + <b>is</b> + <FONT COLOR=red><A NAME="2408_7">C_Number_Of_Color_Pairs</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2408_7">C_Number_Of_Color_Pairs</A>, "COLOR_PAIRS"); + <b>begin</b> + <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#2408_7">C_Number_Of_Color_Pairs</A>); + <b>end</b> Number_Of_Color_Pairs; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1808_14">Transform_Coordinates</A><FONT COLOR=red><A NAME="2414_14"></A></FONT> + (<A HREF="terminal_interface-curses__ads.htm#1809_7">W</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1810_7">Line</A> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1811_7">Column</A> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A>; + <A HREF="terminal_interface-curses__ads.htm#1812_7">Dir</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#1807_9">Transform_Direction</A> := <A HREF="terminal_interface-curses__ads.htm#1807_33">From_Screen</A>) + <b>is</b> + <b>type</b> <FONT COLOR=red><A NAME="2420_12">Int_Access</A></FONT> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>function</b> <FONT COLOR=red><A NAME="2421_16">Transform</A></FONT> (<FONT COLOR=red><A NAME="2421_27">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="2422_27">Y</A></FONT>, <FONT COLOR=red><A NAME="2422_30">X</A></FONT> : <A HREF="terminal_interface-curses__adb.htm#2420_12">Int_Access</A>; + <FONT COLOR=red><A NAME="2423_27">Dir</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2421_16">Transform</A>, "wmouse_trafo"); + + <FONT COLOR=red><A NAME="2426_7">X</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> := <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1811_7">Column</A>); + <FONT COLOR=red><A NAME="2427_7">Y</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> := <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1810_7">Line</A>); + <FONT COLOR=red><A NAME="2428_7">D</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A> := <A HREF="terminal_interface-curses__ads.htm#1932_4">Curses_Bool_False</A>; + <FONT COLOR=red><A NAME="2429_7">R</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__ads.htm#1812_7">Dir</A> = <A HREF="terminal_interface-curses__ads.htm#1807_46">To_Screen</A> <b>then</b> + <A HREF="terminal_interface-curses__adb.htm#2428_7">D</A> := 1; + <b>end</b> <b>if</b>; + <A HREF="terminal_interface-curses__adb.htm#2429_7">R</A> := <A HREF="terminal_interface-curses__adb.htm#2421_16">Transform</A> (<A HREF="terminal_interface-curses__ads.htm#1809_7">W</A>, <A HREF="terminal_interface-curses__adb.htm#2427_7">Y</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#2426_7">X</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#2428_7">D</A>); + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2429_7">R</A> = <A HREF="terminal_interface-curses-aux__ads.htm#76_4">Curses_False</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>else</b> + <A HREF="terminal_interface-curses__ads.htm#1810_7">Line</A> := <A HREF="terminal_interface-curses__ads.htm#60_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#2427_7">Y</A>); + <A HREF="terminal_interface-curses__ads.htm#1811_7">Column</A> := <A HREF="terminal_interface-curses__ads.htm#61_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#2426_7">X</A>); + <b>end</b> <b>if</b>; + <b>end</b> Transform_Coordinates; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1825_14">Use_Default_Colors</A><FONT COLOR=red><A NAME="2443_14"></A></FONT> <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2444_16">C_Use_Default_Colors</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2444_16">C_Use_Default_Colors</A>, "use_default_colors"); + <FONT COLOR=red><A NAME="2446_7">Err</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#2444_16">C_Use_Default_Colors</A>; + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2446_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Use_Default_Colors; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1830_14">Assume_Default_Colors</A><FONT COLOR=red><A NAME="2453_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1830_37">Fore</A> : <A HREF="terminal_interface-curses__ads.htm#277_9">Color_Number</A> := <A HREF="terminal_interface-curses__ads.htm#284_4">Default_Color</A>; + <A HREF="terminal_interface-curses__ads.htm#1831_37">Back</A> : <A HREF="terminal_interface-curses__ads.htm#277_9">Color_Number</A> := <A HREF="terminal_interface-curses__ads.htm#284_4">Default_Color</A>) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2456_16">C_Assume_Default_Colors</A></FONT> (<FONT COLOR=red><A NAME="2456_41">Fore</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="2457_41">Back</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2456_16">C_Assume_Default_Colors</A>, "assume_default_colors"); + + <FONT COLOR=red><A NAME="2460_7">Err</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#2456_16">C_Assume_Default_Colors</A> (<A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1830_37">Fore</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#285_4">Black</A>)); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2460_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Assume_Default_Colors; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1840_13">Curses_Version</A><FONT COLOR=red><A NAME="2468_13"></A></FONT> <b>return</b> String + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2470_16">curses_versionC</A></FONT> <b>return</b> chars_ptr; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2470_16">curses_versionC</A>, "curses_version"); + <FONT COLOR=red><A NAME="2472_7">Result</A></FONT> : <b>constant</b> chars_ptr := <A HREF="terminal_interface-curses__adb.htm#2470_16">curses_versionC</A>; + <b>begin</b> + <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#122_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#2472_7">Result</A>); + <b>end</b> Curses_Version; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1845_13">Use_Extended_Names</A><FONT COLOR=red><A NAME="2477_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1845_33">Enable</A> : Boolean) <b>return</b> Boolean + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2479_16">use_extended_namesC</A></FONT> (<FONT COLOR=red><A NAME="2479_37">e</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2479_16">use_extended_namesC</A>, "use_extended_names"); + + <FONT COLOR=red><A NAME="2482_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> := + <A HREF="terminal_interface-curses__adb.htm#2479_16">use_extended_namesC</A> (<A HREF="terminal_interface-curses__ads.htm#1931_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#1845_33">Enable</A>))); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2482_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1932_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> Use_Extended_Names; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1853_14">Screen_Dump_To_File</A><FONT COLOR=red><A NAME="2492_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1853_35">Filename</A> : <b>in</b> String) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2494_16">scr_dump</A></FONT> (<FONT COLOR=red><A NAME="2494_26">f</A></FONT> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2494_16">scr_dump</A>, "scr_dump"); + <FONT COLOR=red><A NAME="2496_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#1853_35">Filename</A>'Length); + <FONT COLOR=red><A NAME="2497_7">Length</A></FONT> : size_t; + <b>begin</b> + To_C (<A HREF="terminal_interface-curses__ads.htm#1853_35">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#2496_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#2497_7">Length</A>); + <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#2494_16">scr_dump</A> (<A HREF="terminal_interface-curses__adb.htm#2496_7">Txt</A>) <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Screen_Dump_To_File; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1857_14">Screen_Restore_From_File</A><FONT COLOR=red><A NAME="2505_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1857_40">Filename</A> : <b>in</b> String) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2507_16">scr_restore</A></FONT> (<FONT COLOR=red><A NAME="2507_29">f</A></FONT> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2507_16">scr_restore</A>, "scr_restore"); + <FONT COLOR=red><A NAME="2509_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#1857_40">Filename</A>'Length); + <FONT COLOR=red><A NAME="2510_7">Length</A></FONT> : size_t; + <b>begin</b> + To_C (<A HREF="terminal_interface-curses__ads.htm#1857_40">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#2509_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#2510_7">Length</A>); + <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#2507_16">scr_restore</A> (<A HREF="terminal_interface-curses__adb.htm#2509_7">Txt</A>) <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Screen_Restore_From_File; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1861_14">Screen_Init_From_File</A><FONT COLOR=red><A NAME="2518_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1861_37">Filename</A> : <b>in</b> String) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2520_16">scr_init</A></FONT> (<FONT COLOR=red><A NAME="2520_26">f</A></FONT> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2520_16">scr_init</A>, "scr_init"); + <FONT COLOR=red><A NAME="2522_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#1861_37">Filename</A>'Length); + <FONT COLOR=red><A NAME="2523_7">Length</A></FONT> : size_t; + <b>begin</b> + To_C (<A HREF="terminal_interface-curses__ads.htm#1861_37">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#2522_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#2523_7">Length</A>); + <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#2520_16">scr_init</A> (<A HREF="terminal_interface-curses__adb.htm#2522_7">Txt</A>) <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Screen_Init_From_File; + + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1865_14">Screen_Set_File</A><FONT COLOR=red><A NAME="2531_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1865_31">Filename</A> : <b>in</b> String) + <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2533_16">scr_set</A></FONT> (<FONT COLOR=red><A NAME="2533_25">f</A></FONT> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2533_16">scr_set</A>, "scr_set"); + <FONT COLOR=red><A NAME="2535_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#1865_31">Filename</A>'Length); + <FONT COLOR=red><A NAME="2536_7">Length</A></FONT> : size_t; + <b>begin</b> + To_C (<A HREF="terminal_interface-curses__ads.htm#1865_31">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#2535_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#2536_7">Length</A>); + <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#2533_16">scr_set</A> (<A HREF="terminal_interface-curses__adb.htm#2535_7">Txt</A>) <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Screen_Set_File; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1898_14">Resize</A><FONT COLOR=red><A NAME="2544_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1898_22">Win</A> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#475_13">Standard_Window</A>; + <A HREF="terminal_interface-curses__ads.htm#1899_22">Number_Of_Lines</A> : <A HREF="terminal_interface-curses__ads.htm#63_12">Line_Count</A>; + <A HREF="terminal_interface-curses__ads.htm#1900_22">Number_Of_Columns</A> : <A HREF="terminal_interface-curses__ads.htm#65_12">Column_Count</A>) <b>is</b> + <b>function</b> <FONT COLOR=red><A NAME="2547_16">wresize</A></FONT> (<FONT COLOR=red><A NAME="2547_25">win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#57_9">Window</A>; + <FONT COLOR=red><A NAME="2548_25">lines</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <FONT COLOR=red><A NAME="2549_25">columns</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A>; + <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2547_16">wresize</A>); + <b>begin</b> + <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2547_16">wresize</A> (<A HREF="terminal_interface-curses__ads.htm#1898_22">Win</A>, + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1899_22">Number_Of_Lines</A>), + <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1900_22">Number_Of_Columns</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#73_4">Curses_Err</A> <b>then</b> + <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#383_4">Curses_Exception</A>; + <b>end</b> <b>if</b>; + <b>end</b> Resize; +<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> + +<b>end</b> Terminal_Interface.Curses; + +</PRE></BODY></HTML>
\ No newline at end of file |