ncurses 5.4
[ncurses.git] / doc / html / ada / terminal_interface-curses__adb.htm
1 <HTML><HEAD><TITLE>terminal_interface-curses.adb</TITLE></HEAD>
2 <BODY>
3 <HR><DIV ALIGN="center"><H1> File : terminal_interface-curses.adb </H1></DIV><HR>
4 <PRE>
5 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
6 <FONT COLOR=green><EM>--                                                                          --</EM></FONT>
7 <FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
8 <FONT COLOR=green><EM>--                                                                          --</EM></FONT>
9 <FONT COLOR=green><EM>--                        Terminal_Interface.Curses                         --</EM></FONT>
10 <FONT COLOR=green><EM>--                                                                          --</EM></FONT>
11 <FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
12 <FONT COLOR=green><EM>--                                                                          --</EM></FONT>
13 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
14 <FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
15 <FONT COLOR=green><EM>--                                                                          --</EM></FONT>
16 <FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
17 <FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
18 <FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
19 <FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
20 <FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
21 <FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
22 <FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
23 <FONT COLOR=green><EM>--                                                                          --</EM></FONT>
24 <FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
25 <FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
26 <FONT COLOR=green><EM>--                                                                          --</EM></FONT>
27 <FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
28 <FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
29 <FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
30 <FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
31 <FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
32 <FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
33 <FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
34 <FONT COLOR=green><EM>--                                                                          --</EM></FONT>
35 <FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
36 <FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
37 <FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
38 <FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
39 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
40 <FONT COLOR=green><EM>--  Author: Juergen Pfeifer, 1996</EM></FONT>
41 <FONT COLOR=green><EM>--  Version Control:</EM></FONT>
42 <FONT COLOR=green><EM>--  @Revision: 1.29 @</EM></FONT>
43 <FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
44 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
45 <b>with</b> System;
46
47 <b>with</b> <A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#50_35">Aux</A>;
48 <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;
49 <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;
50 <b>with</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.Pointers;
51 <b>with</b> Ada.Characters.Handling;       <b>use</b> Ada.Characters.Handling;
52 <b>with</b> Ada.Strings.Fixed;
53 <b>with</b> Ada.Unchecked_Conversion;
54
55 <b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A> <b>is</b>
56
57    <b>use</b> <A HREF="terminal_interface-curses-aux__ads.htm#50_35">Aux</A>;
58    <b>use</b> <b>type</b> System.Bit_Order;
59
60    <b>package</b> <FONT COLOR=red><A NAME="56_12">ASF</A></FONT> <b>renames</b> Ada.Strings.Fixed;
61
62    <b>type</b> <FONT COLOR=red><A NAME="58_9">chtype_array</A></FONT> <b>is</b> <b>array</b> (size_t <b>range</b> &lt;&gt;)
63       <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>;
64    <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses__adb.htm#58_9">chtype_array</A>);
65
66 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
67    <b>generic</b>
68       <b>type</b> <FONT COLOR=red><A NAME="64_12">Element</A></FONT> <b>is</b> (&lt;&gt;);
69    <b>function</b> <FONT COLOR=red><A NAME="65_13">W_Get_Element</A></FONT> (<FONT COLOR=red><A NAME="65_28">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
70                            <FONT COLOR=red><A NAME="66_28">Offset</A></FONT> : <b>in</b> Natural) <b>return</b> <A HREF="terminal_interface-curses__adb.htm#64_12">Element</A>;
71
72    <b>function</b> <A HREF="terminal_interface-curses__adb.htm#65_13">W_Get_Element</A> (<FONT COLOR=red><A NAME="68_28">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
73                            <FONT COLOR=red><A NAME="69_28">Offset</A></FONT> : <b>in</b> Natural) <b>return</b> <A HREF="terminal_interface-curses__adb.htm#64_12">Element</A> <b>is</b>
74       <b>type</b> <FONT COLOR=red><A NAME="70_12">E_Array</A></FONT> <b>is</b> <b>array</b> (Natural <b>range</b> &lt;&gt;) <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses__adb.htm#64_12">Element</A>;
75       <b>package</b> <FONT COLOR=red><A NAME="71_15">C_E_Array</A></FONT> <b>is</b> <b>new</b>
76         <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.Pointers (Natural, <A HREF="terminal_interface-curses__adb.htm#64_12">Element</A>, <A HREF="terminal_interface-curses__adb.htm#70_12">E_Array</A>, <A HREF="terminal_interface-curses__adb.htm#64_12">Element</A>'Val (0));
77       <b>use</b> <A HREF="terminal_interface-curses__adb.htm#71_15">C_E_Array</A>;
78
79       <b>function</b> <FONT COLOR=red><A NAME="75_16">To_Pointer</A></FONT> <b>is</b> <b>new</b>
80         Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>, Pointer);
81
82       <FONT COLOR=red><A NAME="78_7">P</A></FONT> : Pointer := <A HREF="terminal_interface-curses__adb.htm#75_16">To_Pointer</A> (<A HREF="terminal_interface-curses__adb.htm#65_28">Win</A>);
83    <b>begin</b>
84       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#65_28">Win</A> = <A HREF="terminal_interface-curses__ads.htm#57_4">Null_Window</A> <b>then</b>
85          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
86       <b>else</b>
87          <A HREF="terminal_interface-curses__adb.htm#78_7">P</A> := <A HREF="terminal_interface-curses__adb.htm#78_7">P</A> + ptrdiff_t (<A HREF="terminal_interface-curses__adb.htm#66_28">Offset</A>);
88          <b>return</b> <A HREF="terminal_interface-curses__adb.htm#78_7">P</A>.<b>all</b>;
89       <b>end</b> <b>if</b>;
90    <b>end</b> W_Get_Element;
91
92    <b>function</b> <FONT COLOR=red><A NAME="88_13">W_Get_Int</A></FONT>   <b>is</b> <b>new</b> <A HREF="terminal_interface-curses__adb.htm#65_13">W_Get_Element</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>);
93    <b>function</b> <FONT COLOR=red><A NAME="89_13">W_Get_Short</A></FONT> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses__adb.htm#65_13">W_Get_Element</A> (<A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>);
94    <b>function</b> <FONT COLOR=red><A NAME="90_13">W_Get_Byte</A></FONT>  <b>is</b> <b>new</b> <A HREF="terminal_interface-curses__adb.htm#65_13">W_Get_Element</A> (<A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.unsigned_char);
95
96    <b>function</b> <FONT COLOR=red><A NAME="92_13">Get_Flag</A></FONT> (<FONT COLOR=red><A NAME="92_23">Win</A></FONT>    : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
97                       <FONT COLOR=red><A NAME="93_23">Offset</A></FONT> : Natural) <b>return</b> Boolean;
98
99    <b>function</b> <A HREF="terminal_interface-curses__adb.htm#92_13">Get_Flag</A> (<A HREF="terminal_interface-curses__adb.htm#92_23">Win</A>    : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
100                       <A HREF="terminal_interface-curses__adb.htm#93_23">Offset</A> : Natural) <b>return</b> Boolean
101    <b>is</b>
102       <FONT COLOR=red><A NAME="98_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
103    <b>begin</b>
104       <b>case</b> <A HREF="terminal_interface-curses__ads.htm#1927_4">Sizeof_bool</A> <b>is</b>
105          <b>when</b> 1 =&gt; <A HREF="terminal_interface-curses__adb.htm#98_7">Res</A> := <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#90_13">W_Get_Byte</A>  (<A HREF="terminal_interface-curses__adb.htm#92_23">Win</A>, <A HREF="terminal_interface-curses__adb.htm#93_23">Offset</A>));
106          <b>when</b> 2 =&gt; <A HREF="terminal_interface-curses__adb.htm#98_7">Res</A> := <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#89_13">W_Get_Short</A> (<A HREF="terminal_interface-curses__adb.htm#92_23">Win</A>, <A HREF="terminal_interface-curses__adb.htm#93_23">Offset</A>));
107          <b>when</b> 4 =&gt; <A HREF="terminal_interface-curses__adb.htm#98_7">Res</A> := <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#88_13">W_Get_Int</A>   (<A HREF="terminal_interface-curses__adb.htm#92_23">Win</A>, <A HREF="terminal_interface-curses__adb.htm#93_23">Offset</A>));
108          <b>when</b> <b>others</b> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
109       <b>end</b> <b>case</b>;
110
111       <b>case</b> <A HREF="terminal_interface-curses__adb.htm#98_7">Res</A> <b>is</b>
112          <b>when</b> 0       =&gt; <b>return</b> False;
113          <b>when</b> <b>others</b>  =&gt; <b>return</b> True;
114       <b>end</b> <b>case</b>;
115    <b>end</b> <A HREF="terminal_interface-curses__adb.htm#92_13">Get_Flag</A><A HREF="terminal_interface-curses__adb.htm#92_13">;</A>
116
117 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
118    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1609_13">Key_Name</A> (<A HREF="terminal_interface-curses__ads.htm#1609_23">Key</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#71_12">Real_Key_Code</A>) <b>return</b> String
119    <b>is</b>
120       <b>function</b> <FONT COLOR=red><A NAME="116_16">Keyname</A></FONT> (<FONT COLOR=red><A NAME="116_25">K</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> chars_ptr;
121       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#116_16">Keyname</A>, "keyname");
122
123       <FONT COLOR=red><A NAME="119_7">Ch</A></FONT> : Character;
124    <b>begin</b>
125       <b>if</b> <A HREF="terminal_interface-curses__ads.htm#1609_23">Key</A> &lt;= Character'Pos (Character'Last) <b>then</b>
126          <A HREF="terminal_interface-curses__adb.htm#119_7">Ch</A> := Character'Val (<A HREF="terminal_interface-curses__ads.htm#1609_23">Key</A>);
127          <b>if</b> Is_Control (<A HREF="terminal_interface-curses__adb.htm#119_7">Ch</A>) <b>then</b>
128             <b>return</b> <A HREF="terminal_interface-curses__ads.htm#1620_13">Un_Control</A> (<A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>'(Ch    =&gt; <A HREF="terminal_interface-curses__adb.htm#119_7">Ch</A>,
129                                                      Color =&gt; <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>'First,
130                                                      Attr  =&gt; <A HREF="terminal_interface-curses__ads.htm#349_4">Normal_Video</A>));
131          <b>elsif</b> Is_Graphic (<A HREF="terminal_interface-curses__adb.htm#119_7">Ch</A>) <b>then</b>
132             <b>declare</b>
133                <FONT COLOR=red><A NAME="129_16">S</A></FONT> : String (1 .. 1);
134             <b>begin</b>
135                <A HREF="terminal_interface-curses__adb.htm#129_16">S</A> (1) := <A HREF="terminal_interface-curses__adb.htm#119_7">Ch</A>;
136                <b>return</b> <A HREF="terminal_interface-curses__adb.htm#129_16">S</A>;
137             <b>end</b>;
138          <b>else</b>
139             <b>return</b> "";
140          <b>end</b> <b>if</b>;
141       <b>else</b>
142          <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#116_16">Keyname</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1609_23">Key</A>)));
143       <b>end</b> <b>if</b>;
144    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1609_13">Key_Name</A><A HREF="terminal_interface-curses__ads.htm#1609_13">;</A>
145
146    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1603_14">Key_Name</A><FONT COLOR=red><A NAME="142_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1603_24">Key</A>  : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#71_12">Real_Key_Code</A>;
147                        <A HREF="terminal_interface-curses__ads.htm#1604_24">Name</A> : <b>out</b> String)
148    <b>is</b>
149    <b>begin</b>
150       <A HREF="terminal_interface-curses__adb.htm#56_12">ASF</A>.Move (<A HREF="terminal_interface-curses__ads.htm#1609_13">Key_Name</A> (<A HREF="terminal_interface-curses__ads.htm#1603_24">Key</A>), <A HREF="terminal_interface-curses__ads.htm#1604_24">Name</A>);
151    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1603_14">Key_Name</A><A HREF="terminal_interface-curses__ads.htm#1603_14">;</A>
152
153 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
154    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#479_14">Init_Screen</A><FONT COLOR=red><A NAME="150_14"></A></FONT>
155    <b>is</b>
156       <b>function</b> <FONT COLOR=red><A NAME="152_16">Initscr</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
157       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#152_16">Initscr</A>, "initscr");
158
159       <FONT COLOR=red><A NAME="155_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
160    <b>begin</b>
161       <A HREF="terminal_interface-curses__adb.htm#155_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#152_16">Initscr</A>;
162       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#155_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#57_4">Null_Window</A> <b>then</b>
163          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
164       <b>end</b> <b>if</b>;
165    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#479_14">Init_Screen</A><A HREF="terminal_interface-curses__ads.htm#479_14">;</A>
166
167    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#488_14">End_Windows</A><FONT COLOR=red><A NAME="163_14"></A></FONT>
168    <b>is</b>
169       <b>function</b> <FONT COLOR=red><A NAME="165_16">Endwin</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
170       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#165_16">Endwin</A>, "endwin");
171    <b>begin</b>
172       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#165_16">Endwin</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
173          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
174       <b>end</b> <b>if</b>;
175    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#488_14">End_Windows</A><A HREF="terminal_interface-curses__ads.htm#488_14">;</A>
176
177    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#495_13">Is_End_Window</A> <b>return</b> Boolean
178    <b>is</b>
179       <b>function</b> <FONT COLOR=red><A NAME="175_16">Isendwin</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>;
180       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#175_16">Isendwin</A>, "isendwin");
181    <b>begin</b>
182       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#175_16">Isendwin</A> = <A HREF="terminal_interface-curses__ads.htm#1931_4">Curses_Bool_False</A> <b>then</b>
183          <b>return</b> False;
184       <b>else</b>
185          <b>return</b> True;
186       <b>end</b> <b>if</b>;
187    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#495_13">Is_End_Window</A><A HREF="terminal_interface-curses__ads.htm#495_13">;</A>
188 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
189    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#504_14">Move_Cursor</A><FONT COLOR=red><A NAME="185_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#504_27">Win</A>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
190                           <A HREF="terminal_interface-curses__ads.htm#505_27">Line</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
191                           <A HREF="terminal_interface-curses__ads.htm#506_27">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>)
192    <b>is</b>
193       <b>function</b> <FONT COLOR=red><A NAME="189_16">Wmove</A></FONT> (<FONT COLOR=red><A NAME="189_23">Win</A></FONT>    : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
194                       <FONT COLOR=red><A NAME="190_23">Line</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
195                       <FONT COLOR=red><A NAME="191_23">Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>
196                      ) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
197       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#189_16">Wmove</A>, "wmove");
198    <b>begin</b>
199       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#189_16">Wmove</A> (<A HREF="terminal_interface-curses__ads.htm#504_27">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#505_27">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#506_27">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
200          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
201       <b>end</b> <b>if</b>;
202    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#504_14">Move_Cursor</A><A HREF="terminal_interface-curses__ads.htm#504_14">;</A>
203 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
204    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#516_14">Add</A><FONT COLOR=red><A NAME="200_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#516_19">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
205                   <A HREF="terminal_interface-curses__ads.htm#517_19">Ch</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>)
206    <b>is</b>
207       <b>function</b> <FONT COLOR=red><A NAME="203_16">Waddch</A></FONT> (<FONT COLOR=red><A NAME="203_24">W</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
208                        <FONT COLOR=red><A NAME="204_24">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
209       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#203_16">Waddch</A>, "waddch");
210    <b>begin</b>
211       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#203_16">Waddch</A> (<A HREF="terminal_interface-curses__ads.htm#516_19">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#517_19">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
212          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
213       <b>end</b> <b>if</b>;
214    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#516_14">Add</A><A HREF="terminal_interface-curses__ads.htm#516_14">;</A>
215
216    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#521_14">Add</A><FONT COLOR=red><A NAME="212_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#521_19">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
217                   <A HREF="terminal_interface-curses__ads.htm#522_19">Ch</A>  : <b>in</b> Character)
218    <b>is</b>
219    <b>begin</b>
220       <A HREF="terminal_interface-curses__ads.htm#516_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#521_19">Win</A>,
221            <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>'(Ch    =&gt; <A HREF="terminal_interface-curses__ads.htm#522_19">Ch</A>,
222                                  Color =&gt; <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>'First,
223                                  Attr  =&gt; <A HREF="terminal_interface-curses__ads.htm#349_4">Normal_Video</A>));
224    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#521_14">Add</A><A HREF="terminal_interface-curses__ads.htm#521_14">;</A>
225
226    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#527_14">Add</A><FONT COLOR=red><A NAME="222_14"></A></FONT>
227      (<A HREF="terminal_interface-curses__ads.htm#528_7">Win</A>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
228       <A HREF="terminal_interface-curses__ads.htm#529_7">Line</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
229       <A HREF="terminal_interface-curses__ads.htm#530_7">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>;
230       <A HREF="terminal_interface-curses__ads.htm#531_7">Ch</A>     : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>)
231    <b>is</b>
232       <b>function</b> <FONT COLOR=red><A NAME="228_16">mvwaddch</A></FONT> (<FONT COLOR=red><A NAME="228_26">W</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
233                          <FONT COLOR=red><A NAME="229_26">Y</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
234                          <FONT COLOR=red><A NAME="230_26">X</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
235                          <FONT COLOR=red><A NAME="231_26">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
236       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#228_16">mvwaddch</A>, "mvwaddch");
237    <b>begin</b>
238       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#228_16">mvwaddch</A> (<A HREF="terminal_interface-curses__ads.htm#528_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#529_7">Line</A>),
239                    <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#530_7">Column</A>),
240                    <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#531_7">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
241          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
242       <b>end</b> <b>if</b>;
243    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#527_14">Add</A><A HREF="terminal_interface-curses__ads.htm#527_14">;</A>
244
245    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#535_14">Add</A><FONT COLOR=red><A NAME="241_14"></A></FONT>
246      (<A HREF="terminal_interface-curses__ads.htm#536_7">Win</A>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
247       <A HREF="terminal_interface-curses__ads.htm#537_7">Line</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
248       <A HREF="terminal_interface-curses__ads.htm#538_7">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>;
249       <A HREF="terminal_interface-curses__ads.htm#539_7">Ch</A>     : <b>in</b> Character)
250    <b>is</b>
251    <b>begin</b>
252       <A HREF="terminal_interface-curses__ads.htm#527_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#536_7">Win</A>,
253            <A HREF="terminal_interface-curses__ads.htm#537_7">Line</A>,
254            <A HREF="terminal_interface-curses__ads.htm#538_7">Column</A>,
255            <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>'(Ch    =&gt; <A HREF="terminal_interface-curses__ads.htm#539_7">Ch</A>,
256                                  Color =&gt; <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>'First,
257                                  Attr  =&gt; <A HREF="terminal_interface-curses__ads.htm#349_4">Normal_Video</A>));
258    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#535_14">Add</A><A HREF="terminal_interface-curses__ads.htm#535_14">;</A>
259
260    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#544_14">Add_With_Immediate_Echo</A><FONT COLOR=red><A NAME="256_14"></A></FONT>
261      (<A HREF="terminal_interface-curses__ads.htm#545_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
262       <A HREF="terminal_interface-curses__ads.htm#546_7">Ch</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>)
263    <b>is</b>
264       <b>function</b> <FONT COLOR=red><A NAME="260_16">Wechochar</A></FONT> (<FONT COLOR=red><A NAME="260_27">W</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
265                           <FONT COLOR=red><A NAME="261_27">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
266       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#260_16">Wechochar</A>, "wechochar");
267    <b>begin</b>
268       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#260_16">Wechochar</A> (<A HREF="terminal_interface-curses__ads.htm#545_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#546_7">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
269          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
270       <b>end</b> <b>if</b>;
271    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#544_14">Add_With_Immediate_Echo</A><A HREF="terminal_interface-curses__ads.htm#544_14">;</A>
272
273    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#550_14">Add_With_Immediate_Echo</A><FONT COLOR=red><A NAME="269_14"></A></FONT>
274      (<A HREF="terminal_interface-curses__ads.htm#551_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
275       <A HREF="terminal_interface-curses__ads.htm#552_7">Ch</A>  : <b>in</b> Character)
276    <b>is</b>
277    <b>begin</b>
278       <A HREF="terminal_interface-curses__ads.htm#544_14">Add_With_Immediate_Echo</A>
279         (<A HREF="terminal_interface-curses__ads.htm#551_7">Win</A>,
280          <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>'(Ch    =&gt; <A HREF="terminal_interface-curses__ads.htm#552_7">Ch</A>,
281                                Color =&gt; <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>'First,
282                                Attr  =&gt; <A HREF="terminal_interface-curses__ads.htm#349_4">Normal_Video</A>));
283    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#550_14">Add_With_Immediate_Echo</A><A HREF="terminal_interface-curses__ads.htm#550_14">;</A>
284 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
285    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#562_13">Create</A> (<A HREF="terminal_interface-curses__ads.htm#563_7">Number_Of_Lines</A>       : <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A>;
286                     <A HREF="terminal_interface-curses__ads.htm#564_7">Number_Of_Columns</A>     : <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A>;
287                     <A HREF="terminal_interface-curses__ads.htm#565_7">First_Line_Position</A>   : <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
288                     <A HREF="terminal_interface-curses__ads.htm#566_7">First_Column_Position</A> : <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>
289    <b>is</b>
290       <b>function</b> <FONT COLOR=red><A NAME="286_16">Newwin</A></FONT> (<FONT COLOR=red><A NAME="286_24">Number_Of_Lines</A></FONT>       : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
291                        <FONT COLOR=red><A NAME="287_24">Number_Of_Columns</A></FONT>     : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
292                        <FONT COLOR=red><A NAME="288_24">First_Line_Position</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
293                        <FONT COLOR=red><A NAME="289_24">First_Column_Position</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
294       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#286_16">Newwin</A>, "newwin");
295
296       <FONT COLOR=red><A NAME="292_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
297    <b>begin</b>
298       <A HREF="terminal_interface-curses__adb.htm#292_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#286_16">Newwin</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#563_7">Number_Of_Lines</A>),
299                    <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#564_7">Number_Of_Columns</A>),
300                    <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#565_7">First_Line_Position</A>),
301                    <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#566_7">First_Column_Position</A>));
302       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#292_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#57_4">Null_Window</A> <b>then</b>
303          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
304       <b>end</b> <b>if</b>;
305       <b>return</b> <A HREF="terminal_interface-curses__adb.htm#292_7">W</A>;
306    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#562_13">Create</A><A HREF="terminal_interface-curses__ads.htm#562_13">;</A>
307
308    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#581_14">Delete</A><FONT COLOR=red><A NAME="304_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#581_22">Win</A> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>)
309    <b>is</b>
310       <b>function</b> <FONT COLOR=red><A NAME="306_16">Wdelwin</A></FONT> (<FONT COLOR=red><A NAME="306_25">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
311       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#306_16">Wdelwin</A>, "delwin");
312    <b>begin</b>
313       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#306_16">Wdelwin</A> (<A HREF="terminal_interface-curses__ads.htm#581_22">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
314          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
315       <b>end</b> <b>if</b>;
316       <A HREF="terminal_interface-curses__ads.htm#581_22">Win</A> := <A HREF="terminal_interface-curses__ads.htm#57_4">Null_Window</A>;
317    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#581_14">Delete</A><A HREF="terminal_interface-curses__ads.htm#581_14">;</A>
318
319    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#587_13">Sub_Window</A>
320      (<A HREF="terminal_interface-curses__ads.htm#588_7">Win</A>                   : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
321       <A HREF="terminal_interface-curses__ads.htm#589_7">Number_Of_Lines</A>       : <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A>;
322       <A HREF="terminal_interface-curses__ads.htm#590_7">Number_Of_Columns</A>     : <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A>;
323       <A HREF="terminal_interface-curses__ads.htm#591_7">First_Line_Position</A>   : <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
324       <A HREF="terminal_interface-curses__ads.htm#592_7">First_Column_Position</A> : <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>
325    <b>is</b>
326       <b>function</b> <FONT COLOR=red><A NAME="322_16">Subwin</A></FONT>
327         (<FONT COLOR=red><A NAME="323_10">Win</A></FONT>                   : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
328          <FONT COLOR=red><A NAME="324_10">Number_Of_Lines</A></FONT>       : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
329          <FONT COLOR=red><A NAME="325_10">Number_Of_Columns</A></FONT>     : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
330          <FONT COLOR=red><A NAME="326_10">First_Line_Position</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
331          <FONT COLOR=red><A NAME="327_10">First_Column_Position</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
332       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#322_16">Subwin</A>, "subwin");
333
334       <FONT COLOR=red><A NAME="330_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
335    <b>begin</b>
336       <A HREF="terminal_interface-curses__adb.htm#330_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#322_16">Subwin</A> (<A HREF="terminal_interface-curses__ads.htm#588_7">Win</A>,
337                    <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#589_7">Number_Of_Lines</A>),
338                    <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#590_7">Number_Of_Columns</A>),
339                    <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#591_7">First_Line_Position</A>),
340                    <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#592_7">First_Column_Position</A>));
341       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#330_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#57_4">Null_Window</A> <b>then</b>
342          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
343       <b>end</b> <b>if</b>;
344       <b>return</b> <A HREF="terminal_interface-curses__adb.htm#330_7">W</A>;
345    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#587_13">Sub_Window</A><A HREF="terminal_interface-curses__ads.htm#587_13">;</A>
346
347    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#597_13">Derived_Window</A>
348      (<A HREF="terminal_interface-curses__ads.htm#598_7">Win</A>                   : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
349       <A HREF="terminal_interface-curses__ads.htm#599_7">Number_Of_Lines</A>       : <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A>;
350       <A HREF="terminal_interface-curses__ads.htm#600_7">Number_Of_Columns</A>     : <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A>;
351       <A HREF="terminal_interface-curses__ads.htm#601_7">First_Line_Position</A>   : <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
352       <A HREF="terminal_interface-curses__ads.htm#602_7">First_Column_Position</A> : <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>
353    <b>is</b>
354       <b>function</b> <FONT COLOR=red><A NAME="350_16">Derwin</A></FONT>
355         (<FONT COLOR=red><A NAME="351_10">Win</A></FONT>                   : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
356          <FONT COLOR=red><A NAME="352_10">Number_Of_Lines</A></FONT>       : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
357          <FONT COLOR=red><A NAME="353_10">Number_Of_Columns</A></FONT>     : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
358          <FONT COLOR=red><A NAME="354_10">First_Line_Position</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
359          <FONT COLOR=red><A NAME="355_10">First_Column_Position</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
360       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#350_16">Derwin</A>, "derwin");
361
362       <FONT COLOR=red><A NAME="358_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
363    <b>begin</b>
364       <A HREF="terminal_interface-curses__adb.htm#358_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#350_16">Derwin</A> (<A HREF="terminal_interface-curses__ads.htm#598_7">Win</A>,
365                    <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#599_7">Number_Of_Lines</A>),
366                    <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#600_7">Number_Of_Columns</A>),
367                    <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#601_7">First_Line_Position</A>),
368                    <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#602_7">First_Column_Position</A>));
369       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#358_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#57_4">Null_Window</A> <b>then</b>
370          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
371       <b>end</b> <b>if</b>;
372       <b>return</b> <A HREF="terminal_interface-curses__adb.htm#358_7">W</A>;
373    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#597_13">Derived_Window</A><A HREF="terminal_interface-curses__ads.htm#597_13">;</A>
374
375    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#607_13">Duplicate</A> (<A HREF="terminal_interface-curses__ads.htm#607_24">Win</A> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>
376    <b>is</b>
377       <b>function</b> <FONT COLOR=red><A NAME="373_16">Dupwin</A></FONT> (<FONT COLOR=red><A NAME="373_24">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
378       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#373_16">Dupwin</A>, "dupwin");
379
380       <FONT COLOR=red><A NAME="376_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__adb.htm#373_16">Dupwin</A> (<A HREF="terminal_interface-curses__ads.htm#607_24">Win</A>);
381    <b>begin</b>
382       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#376_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#57_4">Null_Window</A> <b>then</b>
383          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
384       <b>end</b> <b>if</b>;
385       <b>return</b> <A HREF="terminal_interface-curses__adb.htm#376_7">W</A>;
386    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#607_13">Duplicate</A><A HREF="terminal_interface-curses__ads.htm#607_13">;</A>
387
388    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#612_14">Move_Window</A><FONT COLOR=red><A NAME="384_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#612_27">Win</A>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
389                           <A HREF="terminal_interface-curses__ads.htm#613_27">Line</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
390                           <A HREF="terminal_interface-curses__ads.htm#614_27">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>)
391    <b>is</b>
392       <b>function</b> <FONT COLOR=red><A NAME="388_16">Mvwin</A></FONT> (<FONT COLOR=red><A NAME="388_23">Win</A></FONT>    : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
393                       <FONT COLOR=red><A NAME="389_23">Line</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
394                       <FONT COLOR=red><A NAME="390_23">Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
395       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#388_16">Mvwin</A>, "mvwin");
396    <b>begin</b>
397       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#388_16">Mvwin</A> (<A HREF="terminal_interface-curses__ads.htm#612_27">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#613_27">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#614_27">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
398          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
399       <b>end</b> <b>if</b>;
400    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#612_14">Move_Window</A><A HREF="terminal_interface-curses__ads.htm#612_14">;</A>
401
402    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#619_14">Move_Derived_Window</A><FONT COLOR=red><A NAME="398_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#619_35">Win</A>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
403                                   <A HREF="terminal_interface-curses__ads.htm#620_35">Line</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
404                                   <A HREF="terminal_interface-curses__ads.htm#621_35">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>)
405    <b>is</b>
406       <b>function</b> <FONT COLOR=red><A NAME="402_16">Mvderwin</A></FONT> (<FONT COLOR=red><A NAME="402_26">Win</A></FONT>    : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
407                          <FONT COLOR=red><A NAME="403_26">Line</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
408                          <FONT COLOR=red><A NAME="404_26">Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
409       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#402_16">Mvderwin</A>, "mvderwin");
410    <b>begin</b>
411       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#402_16">Mvderwin</A> (<A HREF="terminal_interface-curses__ads.htm#619_35">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#620_35">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#621_35">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
412          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
413       <b>end</b> <b>if</b>;
414    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#619_14">Move_Derived_Window</A><A HREF="terminal_interface-curses__ads.htm#619_14">;</A>
415
416    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#636_14">Set_Synch_Mode</A><FONT COLOR=red><A NAME="412_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#636_30">Win</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>  := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
417                              <A HREF="terminal_interface-curses__ads.htm#637_30">Mode</A> : <b>in</b> Boolean := False)
418    <b>is</b>
419       <b>function</b> <FONT COLOR=red><A NAME="415_16">Syncok</A></FONT> (<FONT COLOR=red><A NAME="415_24">Win</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
420                        <FONT COLOR=red><A NAME="416_24">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
421       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#415_16">Syncok</A>, "syncok");
422    <b>begin</b>
423       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#415_16">Syncok</A> (<A HREF="terminal_interface-curses__ads.htm#636_30">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#637_30">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
424          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
425       <b>end</b> <b>if</b>;
426    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#636_14">Set_Synch_Mode</A><A HREF="terminal_interface-curses__ads.htm#636_14">;</A>
427 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
428    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#646_14">Add</A><FONT COLOR=red><A NAME="424_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#646_19">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
429                   <A HREF="terminal_interface-curses__ads.htm#647_19">Str</A> : <b>in</b> String;
430                   <A HREF="terminal_interface-curses__ads.htm#648_19">Len</A> : <b>in</b> Integer := -1)
431    <b>is</b>
432       <b>function</b> <FONT COLOR=red><A NAME="428_16">Waddnstr</A></FONT> (<FONT COLOR=red><A NAME="428_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
433                          <FONT COLOR=red><A NAME="429_26">Str</A></FONT> : char_array;
434                          <FONT COLOR=red><A NAME="430_26">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
435       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#428_16">Waddnstr</A>, "waddnstr");
436
437       <FONT COLOR=red><A NAME="433_7">Txt</A></FONT>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#647_19">Str</A>'Length);
438       <FONT COLOR=red><A NAME="434_7">Length</A></FONT> : size_t;
439    <b>begin</b>
440       To_C (<A HREF="terminal_interface-curses__ads.htm#647_19">Str</A>, <A HREF="terminal_interface-curses__adb.htm#433_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#434_7">Length</A>);
441       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#428_16">Waddnstr</A> (<A HREF="terminal_interface-curses__ads.htm#646_19">Win</A>, <A HREF="terminal_interface-curses__adb.htm#433_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#648_19">Len</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
442          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
443       <b>end</b> <b>if</b>;
444    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#646_14">Add</A><A HREF="terminal_interface-curses__ads.htm#646_14">;</A>
445
446    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#655_14">Add</A><FONT COLOR=red><A NAME="442_14"></A></FONT>
447      (<A HREF="terminal_interface-curses__ads.htm#655_19">Win</A>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
448       <A HREF="terminal_interface-curses__ads.htm#656_19">Line</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
449       <A HREF="terminal_interface-curses__ads.htm#657_19">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>;
450       <A HREF="terminal_interface-curses__ads.htm#658_19">Str</A>    : <b>in</b> String;
451       <A HREF="terminal_interface-curses__ads.htm#659_19">Len</A>    : <b>in</b> Integer := -1)
452    <b>is</b>
453    <b>begin</b>
454       <A HREF="terminal_interface-curses__ads.htm#504_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#655_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#656_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#657_19">Column</A>);
455       <A HREF="terminal_interface-curses__ads.htm#646_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#655_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#658_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#659_19">Len</A>);
456    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#655_14">Add</A><A HREF="terminal_interface-curses__ads.htm#655_14">;</A>
457 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
458    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#670_14">Add</A><FONT COLOR=red><A NAME="454_14"></A></FONT>
459      (<A HREF="terminal_interface-curses__ads.htm#670_19">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
460       <A HREF="terminal_interface-curses__ads.htm#671_19">Str</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#375_9">Attributed_String</A>;
461       <A HREF="terminal_interface-curses__ads.htm#672_19">Len</A> : <b>in</b> Integer := -1)
462    <b>is</b>
463       <b>function</b> <FONT COLOR=red><A NAME="459_16">Waddchnstr</A></FONT> (<FONT COLOR=red><A NAME="459_28">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
464                            <FONT COLOR=red><A NAME="460_28">Str</A></FONT> : <A HREF="terminal_interface-curses__adb.htm#58_9">chtype_array</A>;
465                            <FONT COLOR=red><A NAME="461_28">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
466       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#459_16">Waddchnstr</A>, "waddchnstr");
467
468       <FONT COLOR=red><A NAME="464_7">Txt</A></FONT> : <A HREF="terminal_interface-curses__adb.htm#58_9">chtype_array</A> (0 .. <A HREF="terminal_interface-curses__ads.htm#671_19">Str</A>'Length);
469    <b>begin</b>
470       <b>for</b> <FONT COLOR=red><A NAME="466_11">Length</A></FONT> <b>in</b> 1 .. size_t (<A HREF="terminal_interface-curses__ads.htm#671_19">Str</A>'Length) <b>loop</b>
471          <A HREF="terminal_interface-curses__adb.htm#464_7">Txt</A> (<A HREF="terminal_interface-curses__adb.htm#466_11">Length</A> - 1) := <A HREF="terminal_interface-curses__ads.htm#671_19">Str</A> (Natural (<A HREF="terminal_interface-curses__adb.htm#466_11">Length</A>));
472       <b>end</b> <b>loop</b>;
473       <A HREF="terminal_interface-curses__adb.htm#464_7">Txt</A> (<A HREF="terminal_interface-curses__ads.htm#671_19">Str</A>'Length) := <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>;
474       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#459_16">Waddchnstr</A> (<A HREF="terminal_interface-curses__ads.htm#670_19">Win</A>,
475                      <A HREF="terminal_interface-curses__adb.htm#464_7">Txt</A>,
476                      <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#672_19">Len</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
477          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
478       <b>end</b> <b>if</b>;
479    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#670_14">Add</A><A HREF="terminal_interface-curses__ads.htm#670_14">;</A>
480
481    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#679_14">Add</A><FONT COLOR=red><A NAME="477_14"></A></FONT>
482      (<A HREF="terminal_interface-curses__ads.htm#679_19">Win</A>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
483       <A HREF="terminal_interface-curses__ads.htm#680_19">Line</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
484       <A HREF="terminal_interface-curses__ads.htm#681_19">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>;
485       <A HREF="terminal_interface-curses__ads.htm#682_19">Str</A>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#375_9">Attributed_String</A>;
486       <A HREF="terminal_interface-curses__ads.htm#683_19">Len</A>    : <b>in</b> Integer := -1)
487    <b>is</b>
488    <b>begin</b>
489       <A HREF="terminal_interface-curses__ads.htm#504_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#679_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#680_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#681_19">Column</A>);
490       <A HREF="terminal_interface-curses__ads.htm#670_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#679_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#682_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#683_19">Len</A>);
491    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#679_14">Add</A><A HREF="terminal_interface-curses__ads.htm#679_14">;</A>
492 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
493    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#697_14">Border</A><FONT COLOR=red><A NAME="489_14"></A></FONT>
494      (<A HREF="terminal_interface-curses__ads.htm#698_7">Win</A>                       : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
495       <A HREF="terminal_interface-curses__ads.htm#699_7">Left_Side_Symbol</A>          : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>;
496       <A HREF="terminal_interface-curses__ads.htm#700_7">Right_Side_Symbol</A>         : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>;
497       <A HREF="terminal_interface-curses__ads.htm#701_7">Top_Side_Symbol</A>           : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>;
498       <A HREF="terminal_interface-curses__ads.htm#702_7">Bottom_Side_Symbol</A>        : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>;
499       <A HREF="terminal_interface-curses__ads.htm#703_7">Upper_Left_Corner_Symbol</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>;
500       <A HREF="terminal_interface-curses__ads.htm#704_7">Upper_Right_Corner_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>;
501       <A HREF="terminal_interface-curses__ads.htm#705_7">Lower_Left_Corner_Symbol</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>;
502       <A HREF="terminal_interface-curses__ads.htm#706_7">Lower_Right_Corner_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>)
503    <b>is</b>
504       <b>function</b> <FONT COLOR=red><A NAME="500_16">Wborder</A></FONT> (<FONT COLOR=red><A NAME="500_25">W</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
505                         <FONT COLOR=red><A NAME="501_25">LS</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
506                         <FONT COLOR=red><A NAME="502_25">RS</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
507                         <FONT COLOR=red><A NAME="503_25">TS</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
508                         <FONT COLOR=red><A NAME="504_25">BS</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
509                         <FONT COLOR=red><A NAME="505_25">ULC</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
510                         <FONT COLOR=red><A NAME="506_25">URC</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
511                         <FONT COLOR=red><A NAME="507_25">LLC</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
512                         <FONT COLOR=red><A NAME="508_25">LRC</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
513       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#500_16">Wborder</A>, "wborder");
514    <b>begin</b>
515       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#500_16">Wborder</A> (<A HREF="terminal_interface-curses__ads.htm#698_7">Win</A>,
516                   <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#699_7">Left_Side_Symbol</A>),
517                   <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#700_7">Right_Side_Symbol</A>),
518                   <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#701_7">Top_Side_Symbol</A>),
519                   <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#702_7">Bottom_Side_Symbol</A>),
520                   <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#703_7">Upper_Left_Corner_Symbol</A>),
521                   <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#704_7">Upper_Right_Corner_Symbol</A>),
522                   <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#705_7">Lower_Left_Corner_Symbol</A>),
523                   <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#706_7">Lower_Right_Corner_Symbol</A>)
524                   ) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A>
525       <b>then</b>
526          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
527       <b>end</b> <b>if</b>;
528    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#697_14">Border</A><A HREF="terminal_interface-curses__ads.htm#697_14">;</A>
529
530    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#713_14">Box</A><FONT COLOR=red><A NAME="526_14"></A></FONT>
531      (<A HREF="terminal_interface-curses__ads.htm#714_7">Win</A>               : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
532       <A HREF="terminal_interface-curses__ads.htm#715_7">Vertical_Symbol</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>;
533       <A HREF="terminal_interface-curses__ads.htm#716_7">Horizontal_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>)
534    <b>is</b>
535    <b>begin</b>
536       <A HREF="terminal_interface-curses__ads.htm#697_14">Border</A> (<A HREF="terminal_interface-curses__ads.htm#714_7">Win</A>,
537               <A HREF="terminal_interface-curses__ads.htm#715_7">Vertical_Symbol</A>, <A HREF="terminal_interface-curses__ads.htm#715_7">Vertical_Symbol</A>,
538               <A HREF="terminal_interface-curses__ads.htm#716_7">Horizontal_Symbol</A>, <A HREF="terminal_interface-curses__ads.htm#716_7">Horizontal_Symbol</A>);
539    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#713_14">Box</A><A HREF="terminal_interface-curses__ads.htm#713_14">;</A>
540
541    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#721_14">Horizontal_Line</A><FONT COLOR=red><A NAME="537_14"></A></FONT>
542      (<A HREF="terminal_interface-curses__ads.htm#722_7">Win</A>         : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
543       <A HREF="terminal_interface-curses__ads.htm#723_7">Line_Size</A>   : <b>in</b> Natural;
544       <A HREF="terminal_interface-curses__ads.htm#724_7">Line_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>)
545    <b>is</b>
546       <b>function</b> <FONT COLOR=red><A NAME="542_16">Whline</A></FONT> (<FONT COLOR=red><A NAME="542_24">W</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
547                        <FONT COLOR=red><A NAME="543_24">Ch</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
548                        <FONT COLOR=red><A NAME="544_24">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
549       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#542_16">Whline</A>, "whline");
550    <b>begin</b>
551       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#542_16">Whline</A> (<A HREF="terminal_interface-curses__ads.htm#722_7">Win</A>,
552                  <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#724_7">Line_Symbol</A>),
553                  <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#723_7">Line_Size</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
554          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
555       <b>end</b> <b>if</b>;
556    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#721_14">Horizontal_Line</A><A HREF="terminal_interface-curses__ads.htm#721_14">;</A>
557
558    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#730_14">Vertical_Line</A><FONT COLOR=red><A NAME="554_14"></A></FONT>
559      (<A HREF="terminal_interface-curses__ads.htm#731_7">Win</A>         : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
560       <A HREF="terminal_interface-curses__ads.htm#732_7">Line_Size</A>   : <b>in</b> Natural;
561       <A HREF="terminal_interface-curses__ads.htm#733_7">Line_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>)
562    <b>is</b>
563       <b>function</b> <FONT COLOR=red><A NAME="559_16">Wvline</A></FONT> (<FONT COLOR=red><A NAME="559_24">W</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
564                        <FONT COLOR=red><A NAME="560_24">Ch</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
565                        <FONT COLOR=red><A NAME="561_24">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
566       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#559_16">Wvline</A>, "wvline");
567    <b>begin</b>
568       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#559_16">Wvline</A> (<A HREF="terminal_interface-curses__ads.htm#731_7">Win</A>,
569                  <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#733_7">Line_Symbol</A>),
570                  <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#732_7">Line_Size</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
571          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
572       <b>end</b> <b>if</b>;
573    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#730_14">Vertical_Line</A><A HREF="terminal_interface-curses__ads.htm#730_14">;</A>
574
575 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
576    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#744_13">Get_Keystroke</A> (<A HREF="terminal_interface-curses__ads.htm#744_28">Win</A> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>)
577      <b>return</b> <A HREF="terminal_interface-curses__ads.htm#71_12">Real_Key_Code</A>
578    <b>is</b>
579       <b>function</b> <FONT COLOR=red><A NAME="575_16">Wgetch</A></FONT> (<FONT COLOR=red><A NAME="575_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
580       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#575_16">Wgetch</A>, "wgetch");
581
582       <FONT COLOR=red><A NAME="578_7">C</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#575_16">Wgetch</A> (<A HREF="terminal_interface-curses__ads.htm#744_28">Win</A>);
583    <b>begin</b>
584       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#578_7">C</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
585          <b>return</b> <A HREF="terminal_interface-curses__ads.htm#86_4">Key_None</A>;
586       <b>else</b>
587          <b>return</b> <A HREF="terminal_interface-curses__ads.htm#71_12">Real_Key_Code</A> (<A HREF="terminal_interface-curses__adb.htm#578_7">C</A>);
588       <b>end</b> <b>if</b>;
589    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#744_13">Get_Keystroke</A><A HREF="terminal_interface-curses__ads.htm#744_13">;</A>
590
591    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#755_14">Undo_Keystroke</A><FONT COLOR=red><A NAME="587_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#755_30">Key</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#71_12">Real_Key_Code</A>)
592    <b>is</b>
593       <b>function</b> <FONT COLOR=red><A NAME="589_16">Ungetch</A></FONT> (<FONT COLOR=red><A NAME="589_25">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
594       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#589_16">Ungetch</A>, "ungetch");
595    <b>begin</b>
596       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#589_16">Ungetch</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#755_30">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
597          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
598       <b>end</b> <b>if</b>;
599    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#755_14">Undo_Keystroke</A><A HREF="terminal_interface-curses__ads.htm#755_14">;</A>
600
601    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#760_13">Has_Key</A> (<A HREF="terminal_interface-curses__ads.htm#760_22">Key</A> : <A HREF="terminal_interface-curses__ads.htm#76_12">Special_Key_Code</A>) <b>return</b> Boolean
602    <b>is</b>
603       <b>function</b> <FONT COLOR=red><A NAME="599_16">Haskey</A></FONT> (<FONT COLOR=red><A NAME="599_24">Key</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
604       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#599_16">Haskey</A>, "has_key");
605    <b>begin</b>
606       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#599_16">Haskey</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#760_22">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#75_4">Curses_False</A> <b>then</b>
607          <b>return</b> False;
608       <b>else</b>
609          <b>return</b> True;
610       <b>end</b> <b>if</b>;
611    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#760_13">Has_Key</A><A HREF="terminal_interface-curses__ads.htm#760_13">;</A>
612
613    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#767_13">Is_Function_Key</A> (<A HREF="terminal_interface-curses__ads.htm#767_30">Key</A> : <A HREF="terminal_interface-curses__ads.htm#76_12">Special_Key_Code</A>) <b>return</b> Boolean
614    <b>is</b>
615       <FONT COLOR=red><A NAME="611_7">L</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#76_12">Special_Key_Code</A>  := <A HREF="terminal_interface-curses__ads.htm#76_12">Special_Key_Code</A> (Natural (<A HREF="terminal_interface-curses__ads.htm#96_4">Key_F0</A>) +
616         Natural (<A HREF="terminal_interface-curses__ads.htm#771_12">Function_Key_Number</A>'Last));
617    <b>begin</b>
618       <b>if</b> (<A HREF="terminal_interface-curses__ads.htm#767_30">Key</A> &gt;= <A HREF="terminal_interface-curses__ads.htm#96_4">Key_F0</A>) <b>and</b> <b>then</b> (<A HREF="terminal_interface-curses__ads.htm#767_30">Key</A> &lt;= <A HREF="terminal_interface-curses__adb.htm#611_7">L</A>) <b>then</b>
619          <b>return</b> True;
620       <b>else</b>
621          <b>return</b> False;
622       <b>end</b> <b>if</b>;
623    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#767_13">Is_Function_Key</A><A HREF="terminal_interface-curses__ads.htm#767_13">;</A>
624
625    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#774_13">Function_Key</A> (<A HREF="terminal_interface-curses__ads.htm#774_27">Key</A> : <A HREF="terminal_interface-curses__ads.htm#71_12">Real_Key_Code</A>)
626                           <b>return</b> <A HREF="terminal_interface-curses__ads.htm#771_12">Function_Key_Number</A>
627    <b>is</b>
628    <b>begin</b>
629       <b>if</b> <A HREF="terminal_interface-curses__ads.htm#767_13">Is_Function_Key</A> (<A HREF="terminal_interface-curses__ads.htm#774_27">Key</A>) <b>then</b>
630          <b>return</b> <A HREF="terminal_interface-curses__ads.htm#771_12">Function_Key_Number</A> (<A HREF="terminal_interface-curses__ads.htm#774_27">Key</A> - <A HREF="terminal_interface-curses__ads.htm#96_4">Key_F0</A>);
631       <b>else</b>
632          <b>raise</b> Constraint_Error;
633       <b>end</b> <b>if</b>;
634    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#774_13">Function_Key</A><A HREF="terminal_interface-curses__ads.htm#774_13">;</A>
635
636    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#779_13">Function_Key_Code</A> (<A HREF="terminal_interface-curses__ads.htm#779_32">Key</A> : <A HREF="terminal_interface-curses__ads.htm#771_12">Function_Key_Number</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#71_12">Real_Key_Code</A>
637    <b>is</b>
638    <b>begin</b>
639       <b>return</b> <A HREF="terminal_interface-curses__ads.htm#71_12">Real_Key_Code</A> (Natural (<A HREF="terminal_interface-curses__ads.htm#96_4">Key_F0</A>) + Natural (<A HREF="terminal_interface-curses__ads.htm#779_32">Key</A>));
640    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#779_13">Function_Key_Code</A><A HREF="terminal_interface-curses__ads.htm#779_13">;</A>
641 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
642    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#793_14">Standout</A><FONT COLOR=red><A NAME="638_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#793_24">Win</A> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>  := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
643                        <A HREF="terminal_interface-curses__ads.htm#794_24">On</A>  : Boolean := True)
644    <b>is</b>
645       <b>function</b> <FONT COLOR=red><A NAME="641_16">wstandout</A></FONT> (<FONT COLOR=red><A NAME="641_27">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
646       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#641_16">wstandout</A>, "wstandout");
647       <b>function</b> <FONT COLOR=red><A NAME="643_16">wstandend</A></FONT> (<FONT COLOR=red><A NAME="643_27">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
648       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#643_16">wstandend</A>, "wstandend");
649
650       <FONT COLOR=red><A NAME="646_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
651    <b>begin</b>
652       <b>if</b> <A HREF="terminal_interface-curses__ads.htm#794_24">On</A> <b>then</b>
653          <A HREF="terminal_interface-curses__adb.htm#646_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#641_16">wstandout</A> (<A HREF="terminal_interface-curses__ads.htm#793_24">Win</A>);
654       <b>else</b>
655          <A HREF="terminal_interface-curses__adb.htm#646_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#643_16">wstandend</A> (<A HREF="terminal_interface-curses__ads.htm#793_24">Win</A>);
656       <b>end</b> <b>if</b>;
657       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#646_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
658          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
659       <b>end</b> <b>if</b>;
660    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#793_14">Standout</A><A HREF="terminal_interface-curses__ads.htm#793_14">;</A>
661
662    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#799_14">Switch_Character_Attribute</A><FONT COLOR=red><A NAME="658_14"></A></FONT>
663      (<A HREF="terminal_interface-curses__ads.htm#800_7">Win</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
664       <A HREF="terminal_interface-curses__ads.htm#801_7">Attr</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#305_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#349_4">Normal_Video</A>;
665       <A HREF="terminal_interface-curses__ads.htm#802_7">On</A>   : <b>in</b> Boolean := True)
666    <b>is</b>
667       <b>function</b> <FONT COLOR=red><A NAME="663_16">Wattron</A></FONT> (<FONT COLOR=red><A NAME="663_25">Win</A></FONT>    : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
668                         <FONT COLOR=red><A NAME="664_25">C_Attr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_AttrType</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
669       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#663_16">Wattron</A>, "wattr_on");
670       <b>function</b> <FONT COLOR=red><A NAME="666_16">Wattroff</A></FONT> (<FONT COLOR=red><A NAME="666_26">Win</A></FONT>    : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
671                          <FONT COLOR=red><A NAME="667_26">C_Attr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_AttrType</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
672       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#666_16">Wattroff</A>, "wattr_off");
673       <FONT COLOR=green><EM>--  In Ada we use the On Boolean to control whether or not we want to</EM></FONT>
674       <FONT COLOR=green><EM>--  switch on or off the attributes in the set.</EM></FONT>
675       <FONT COLOR=red><A NAME="671_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
676       <FONT COLOR=red><A NAME="672_7">AC</A></FONT>  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := (Ch    =&gt; Character'First,
677                                               Color =&gt; <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>'First,
678                                               Attr  =&gt; <A HREF="terminal_interface-curses__ads.htm#801_7">Attr</A>);
679    <b>begin</b>
680       <b>if</b> <A HREF="terminal_interface-curses__ads.htm#802_7">On</A> <b>then</b>
681          <A HREF="terminal_interface-curses__adb.htm#671_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#663_16">Wattron</A>  (<A HREF="terminal_interface-curses__ads.htm#800_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#108_13">AttrChar_To_AttrType</A> (<A HREF="terminal_interface-curses__adb.htm#672_7">AC</A>));
682       <b>else</b>
683          <A HREF="terminal_interface-curses__adb.htm#671_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#666_16">Wattroff</A> (<A HREF="terminal_interface-curses__ads.htm#800_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#108_13">AttrChar_To_AttrType</A> (<A HREF="terminal_interface-curses__adb.htm#672_7">AC</A>));
684       <b>end</b> <b>if</b>;
685       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#671_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
686          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
687       <b>end</b> <b>if</b>;
688    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#799_14">Switch_Character_Attribute</A><A HREF="terminal_interface-curses__ads.htm#799_14">;</A>
689
690    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#810_14">Set_Character_Attributes</A><FONT COLOR=red><A NAME="686_14"></A></FONT>
691      (<A HREF="terminal_interface-curses__ads.htm#811_7">Win</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
692       <A HREF="terminal_interface-curses__ads.htm#812_7">Attr</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#305_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#349_4">Normal_Video</A>;
693       <A HREF="terminal_interface-curses__ads.htm#813_7">Color</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>'First)
694    <b>is</b>
695       <b>function</b> <FONT COLOR=red><A NAME="691_16">Wattrset</A></FONT> (<FONT COLOR=red><A NAME="691_26">Win</A></FONT>    : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
696                          <FONT COLOR=red><A NAME="692_26">C_Attr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_AttrType</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
697       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#691_16">Wattrset</A>, "wattrset"); <FONT COLOR=green><EM>-- ??? wattr_set</EM></FONT>
698    <b>begin</b>
699       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#691_16">Wattrset</A> (<A HREF="terminal_interface-curses__ads.htm#811_7">Win</A>,
700                    <A HREF="terminal_interface-curses-aux__ads.htm#108_13">AttrChar_To_AttrType</A> (<A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>'
701                                          (Ch    =&gt; Character'First,
702                                           Color =&gt; <A HREF="terminal_interface-curses__ads.htm#813_7">Color</A>,
703                                           Attr  =&gt; <A HREF="terminal_interface-curses__ads.htm#812_7">Attr</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
704          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
705       <b>end</b> <b>if</b>;
706    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#810_14">Set_Character_Attributes</A><A HREF="terminal_interface-curses__ads.htm#810_14">;</A>
707
708    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#819_13">Get_Character_Attribute</A> (<A HREF="terminal_interface-curses__ads.htm#820_7">Win</A> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>)
709                                      <b>return</b> <A HREF="terminal_interface-curses__ads.htm#305_9">Character_Attribute_Set</A>
710    <b>is</b>
711       <b>function</b> <FONT COLOR=red><A NAME="707_16">Wattrget</A></FONT> (<FONT COLOR=red><A NAME="707_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
712                          <FONT COLOR=red><A NAME="708_26">Atr</A></FONT> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_AttrType</A>;
713                          <FONT COLOR=red><A NAME="709_26">Col</A></FONT> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>;
714                          <FONT COLOR=red><A NAME="710_26">Opt</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
715       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#707_16">Wattrget</A>, "wattr_get");
716
717       <FONT COLOR=red><A NAME="713_7">Attr</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_AttrType</A>;
718       <FONT COLOR=red><A NAME="714_7">Col</A></FONT>  : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>;
719       <FONT COLOR=red><A NAME="715_7">Res</A></FONT>  : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#707_16">Wattrget</A> (<A HREF="terminal_interface-curses__ads.htm#820_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#713_7">Attr</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#714_7">Col</A>'<b>Access</b>,
720                                          System.Null_Address);
721       <FONT COLOR=red><A NAME="717_7">Ch</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>;
722    <b>begin</b>
723       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#715_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#71_4">Curses_Ok</A> <b>then</b>
724          <A HREF="terminal_interface-curses__adb.htm#717_7">Ch</A> := <A HREF="terminal_interface-curses-aux__ads.htm#112_13">AttrType_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#713_7">Attr</A>);
725          <b>return</b> <A HREF="terminal_interface-curses__adb.htm#717_7">Ch</A>.<A HREF="terminal_interface-curses__ads.htm#353_10">Attr</A>;
726       <b>else</b>
727          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
728       <b>end</b> <b>if</b>;
729    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#819_13">Get_Character_Attribute</A><A HREF="terminal_interface-curses__ads.htm#819_13">;</A>
730
731    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#825_13">Get_Character_Attribute</A> (<A HREF="terminal_interface-curses__ads.htm#826_7">Win</A> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>)
732                                      <b>return</b> <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>
733    <b>is</b>
734       <b>function</b> <FONT COLOR=red><A NAME="730_16">Wattrget</A></FONT> (<FONT COLOR=red><A NAME="730_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
735                          <FONT COLOR=red><A NAME="731_26">Atr</A></FONT> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_AttrType</A>;
736                          <FONT COLOR=red><A NAME="732_26">Col</A></FONT> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>;
737                          <FONT COLOR=red><A NAME="733_26">Opt</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
738       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#730_16">Wattrget</A>, "wattr_get");
739
740       <FONT COLOR=red><A NAME="736_7">Attr</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_AttrType</A>;
741       <FONT COLOR=red><A NAME="737_7">Col</A></FONT>  : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>;
742       <FONT COLOR=red><A NAME="738_7">Res</A></FONT>  : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#730_16">Wattrget</A> (<A HREF="terminal_interface-curses__ads.htm#826_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#736_7">Attr</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#737_7">Col</A>'<b>Access</b>,
743                                          System.Null_Address);
744       <FONT COLOR=red><A NAME="740_7">Ch</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>;
745    <b>begin</b>
746       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#738_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#71_4">Curses_Ok</A> <b>then</b>
747          <A HREF="terminal_interface-curses__adb.htm#740_7">Ch</A> := <A HREF="terminal_interface-curses-aux__ads.htm#112_13">AttrType_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#736_7">Attr</A>);
748          <b>return</b> <A HREF="terminal_interface-curses__adb.htm#740_7">Ch</A>.<A HREF="terminal_interface-curses__ads.htm#354_10">Color</A>;
749       <b>else</b>
750          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
751       <b>end</b> <b>if</b>;
752    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#825_13">Get_Character_Attribute</A><A HREF="terminal_interface-curses__ads.htm#825_13">;</A>
753
754    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#831_14">Set_Color</A><FONT COLOR=red><A NAME="750_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#831_25">Win</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
755                         <A HREF="terminal_interface-curses__ads.htm#832_25">Pair</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>)
756    <b>is</b>
757       <b>function</b> <FONT COLOR=red><A NAME="753_16">Wset_Color</A></FONT> (<FONT COLOR=red><A NAME="753_28">Win</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
758                            <FONT COLOR=red><A NAME="754_28">Color</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>;
759                            <FONT COLOR=red><A NAME="755_28">Opts</A></FONT>  : C_Void_Ptr) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
760       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#753_16">Wset_Color</A>, "wcolor_set");
761    <b>begin</b>
762       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#753_16">Wset_Color</A> (<A HREF="terminal_interface-curses__ads.htm#831_25">Win</A>,
763                      <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#832_25">Pair</A>),
764                      C_Void_Ptr (System.Null_Address)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
765          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
766       <b>end</b> <b>if</b>;
767    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#831_14">Set_Color</A><A HREF="terminal_interface-curses__ads.htm#831_14">;</A>
768
769    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#838_14">Change_Attributes</A><FONT COLOR=red><A NAME="765_14"></A></FONT>
770      (<A HREF="terminal_interface-curses__ads.htm#839_7">Win</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
771       <A HREF="terminal_interface-curses__ads.htm#840_7">Count</A> : <b>in</b> Integer := -1;
772       <A HREF="terminal_interface-curses__ads.htm#841_7">Attr</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#305_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#349_4">Normal_Video</A>;
773       <A HREF="terminal_interface-curses__ads.htm#842_7">Color</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>'First)
774    <b>is</b>
775       <b>function</b> <FONT COLOR=red><A NAME="771_16">Wchgat</A></FONT> (<FONT COLOR=red><A NAME="771_24">Win</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
776                        <FONT COLOR=red><A NAME="772_24">Cnt</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
777                        <FONT COLOR=red><A NAME="773_24">Attr</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_AttrType</A>;
778                        <FONT COLOR=red><A NAME="774_24">Color</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>;
779                        <FONT COLOR=red><A NAME="775_24">Opts</A></FONT>  : System.Address := System.Null_Address)
780                        <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
781       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#771_16">Wchgat</A>, "wchgat");
782
783       <FONT COLOR=red><A NAME="779_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> :=
784         (Ch =&gt; Character'First, Color =&gt; <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>'First, Attr =&gt; <A HREF="terminal_interface-curses__ads.htm#841_7">Attr</A>);
785    <b>begin</b>
786       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#771_16">Wchgat</A> (<A HREF="terminal_interface-curses__ads.htm#839_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#840_7">Count</A>), <A HREF="terminal_interface-curses-aux__ads.htm#108_13">AttrChar_To_AttrType</A> (<A HREF="terminal_interface-curses__adb.htm#779_7">Ch</A>),
787                  <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#842_7">Color</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
788          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
789       <b>end</b> <b>if</b>;
790    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#838_14">Change_Attributes</A><A HREF="terminal_interface-curses__ads.htm#838_14">;</A>
791
792    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#847_14">Change_Attributes</A><FONT COLOR=red><A NAME="788_14"></A></FONT>
793      (<A HREF="terminal_interface-curses__ads.htm#848_7">Win</A>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
794       <A HREF="terminal_interface-curses__ads.htm#849_7">Line</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A> := <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>'First;
795       <A HREF="terminal_interface-curses__ads.htm#850_7">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A> := <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>'First;
796       <A HREF="terminal_interface-curses__ads.htm#851_7">Count</A>  : <b>in</b> Integer := -1;
797       <A HREF="terminal_interface-curses__ads.htm#852_7">Attr</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#305_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#349_4">Normal_Video</A>;
798       <A HREF="terminal_interface-curses__ads.htm#853_7">Color</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>'First)
799    <b>is</b>
800    <b>begin</b>
801       <A HREF="terminal_interface-curses__ads.htm#504_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#848_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#849_7">Line</A>, <A HREF="terminal_interface-curses__ads.htm#850_7">Column</A>);
802       <A HREF="terminal_interface-curses__ads.htm#838_14">Change_Attributes</A> (<A HREF="terminal_interface-curses__ads.htm#848_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#851_7">Count</A>, <A HREF="terminal_interface-curses__ads.htm#852_7">Attr</A>, <A HREF="terminal_interface-curses__ads.htm#853_7">Color</A>);
803    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#847_14">Change_Attributes</A><A HREF="terminal_interface-curses__ads.htm#847_14">;</A>
804 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
805    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#863_14">Beep</A><FONT COLOR=red><A NAME="801_14"></A></FONT>
806    <b>is</b>
807       <b>function</b> <FONT COLOR=red><A NAME="803_16">Beeper</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
808       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#803_16">Beeper</A>, "beep");
809    <b>begin</b>
810       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#803_16">Beeper</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
811          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
812       <b>end</b> <b>if</b>;
813    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#863_14">Beep</A><A HREF="terminal_interface-curses__ads.htm#863_14">;</A>
814
815    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#868_14">Flash_Screen</A><FONT COLOR=red><A NAME="811_14"></A></FONT>
816    <b>is</b>
817       <b>function</b> <FONT COLOR=red><A NAME="813_16">Flash</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
818       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#813_16">Flash</A>, "flash");
819    <b>begin</b>
820       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#813_16">Flash</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
821          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
822       <b>end</b> <b>if</b>;
823    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#868_14">Flash_Screen</A><A HREF="terminal_interface-curses__ads.htm#868_14">;</A>
824 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
825    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#879_14">Set_Cbreak_Mode</A><FONT COLOR=red><A NAME="821_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#879_31">SwitchOn</A> : <b>in</b> Boolean := True)
826    <b>is</b>
827       <b>function</b> <FONT COLOR=red><A NAME="823_16">Cbreak</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
828       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#823_16">Cbreak</A>, "cbreak");
829       <b>function</b> <FONT COLOR=red><A NAME="825_16">NoCbreak</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
830       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#825_16">NoCbreak</A>, "nocbreak");
831
832       <FONT COLOR=red><A NAME="828_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
833    <b>begin</b>
834       <b>if</b> <A HREF="terminal_interface-curses__ads.htm#879_31">SwitchOn</A> <b>then</b>
835          <A HREF="terminal_interface-curses__adb.htm#828_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#823_16">Cbreak</A>;
836       <b>else</b>
837          <A HREF="terminal_interface-curses__adb.htm#828_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#825_16">NoCbreak</A>;
838       <b>end</b> <b>if</b>;
839       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#828_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
840          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
841       <b>end</b> <b>if</b>;
842    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#879_14">Set_Cbreak_Mode</A><A HREF="terminal_interface-curses__ads.htm#879_14">;</A>
843
844    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#885_14">Set_Raw_Mode</A><FONT COLOR=red><A NAME="840_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#885_28">SwitchOn</A> : <b>in</b> Boolean := True)
845    <b>is</b>
846       <b>function</b> <FONT COLOR=red><A NAME="842_16">Raw</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
847       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#842_16">Raw</A>, "raw");
848       <b>function</b> <FONT COLOR=red><A NAME="844_16">NoRaw</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
849       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#844_16">NoRaw</A>, "noraw");
850
851       <FONT COLOR=red><A NAME="847_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
852    <b>begin</b>
853       <b>if</b> <A HREF="terminal_interface-curses__ads.htm#885_28">SwitchOn</A> <b>then</b>
854          <A HREF="terminal_interface-curses__adb.htm#847_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#842_16">Raw</A>;
855       <b>else</b>
856          <A HREF="terminal_interface-curses__adb.htm#847_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#844_16">NoRaw</A>;
857       <b>end</b> <b>if</b>;
858       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#847_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
859          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
860       <b>end</b> <b>if</b>;
861    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#885_14">Set_Raw_Mode</A><A HREF="terminal_interface-curses__ads.htm#885_14">;</A>
862
863    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#891_14">Set_Echo_Mode</A><FONT COLOR=red><A NAME="859_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#891_29">SwitchOn</A> : <b>in</b> Boolean := True)
864    <b>is</b>
865       <b>function</b> <FONT COLOR=red><A NAME="861_16">Echo</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
866       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#861_16">Echo</A>, "echo");
867       <b>function</b> <FONT COLOR=red><A NAME="863_16">NoEcho</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
868       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#863_16">NoEcho</A>, "noecho");
869
870       <FONT COLOR=red><A NAME="866_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
871    <b>begin</b>
872       <b>if</b> <A HREF="terminal_interface-curses__ads.htm#891_29">SwitchOn</A> <b>then</b>
873          <A HREF="terminal_interface-curses__adb.htm#866_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#861_16">Echo</A>;
874       <b>else</b>
875          <A HREF="terminal_interface-curses__adb.htm#866_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#863_16">NoEcho</A>;
876       <b>end</b> <b>if</b>;
877       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#866_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
878          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
879       <b>end</b> <b>if</b>;
880    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#891_14">Set_Echo_Mode</A><A HREF="terminal_interface-curses__ads.htm#891_14">;</A>
881
882    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#897_14">Set_Meta_Mode</A><FONT COLOR=red><A NAME="878_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#897_29">Win</A>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
883                             <A HREF="terminal_interface-curses__ads.htm#898_29">SwitchOn</A> : <b>in</b> Boolean := True)
884    <b>is</b>
885       <b>function</b> <FONT COLOR=red><A NAME="881_16">Meta</A></FONT> (<FONT COLOR=red><A NAME="881_22">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="881_34">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
886       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#881_16">Meta</A>, "meta");
887    <b>begin</b>
888       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#881_16">Meta</A> (<A HREF="terminal_interface-curses__ads.htm#897_29">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#898_29">SwitchOn</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
889          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
890       <b>end</b> <b>if</b>;
891    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#897_14">Set_Meta_Mode</A><A HREF="terminal_interface-curses__ads.htm#897_14">;</A>
892
893    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#903_14">Set_KeyPad_Mode</A><FONT COLOR=red><A NAME="889_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#903_31">Win</A>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
894                               <A HREF="terminal_interface-curses__ads.htm#904_31">SwitchOn</A> : <b>in</b> Boolean := True)
895    <b>is</b>
896       <b>function</b> <FONT COLOR=red><A NAME="892_16">Keypad</A></FONT> (<FONT COLOR=red><A NAME="892_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="892_36">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
897       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#892_16">Keypad</A>, "keypad");
898    <b>begin</b>
899       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#892_16">Keypad</A> (<A HREF="terminal_interface-curses__ads.htm#903_31">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#904_31">SwitchOn</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
900          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
901       <b>end</b> <b>if</b>;
902    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#903_14">Set_KeyPad_Mode</A><A HREF="terminal_interface-curses__ads.htm#903_14">;</A>
903
904    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#908_13">Get_KeyPad_Mode</A> (<A HREF="terminal_interface-curses__ads.htm#908_30">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>)
905                              <b>return</b> Boolean
906    <b>is</b>
907    <b>begin</b>
908       <b>return</b> <A HREF="terminal_interface-curses__adb.htm#92_13">Get_Flag</A> (<A HREF="terminal_interface-curses__ads.htm#908_30">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1926_4">Offset_use_keypad</A>);
909    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#908_13">Get_KeyPad_Mode</A><A HREF="terminal_interface-curses__ads.htm#908_13">;</A>
910
911    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#916_14">Half_Delay</A><FONT COLOR=red><A NAME="907_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#916_26">Amount</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#913_9">Half_Delay_Amount</A>)
912    <b>is</b>
913       <b>function</b> <FONT COLOR=red><A NAME="909_16">Halfdelay</A></FONT> (<FONT COLOR=red><A NAME="909_27">Amount</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
914       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#909_16">Halfdelay</A>, "halfdelay");
915    <b>begin</b>
916       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#909_16">Halfdelay</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#916_26">Amount</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
917          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
918       <b>end</b> <b>if</b>;
919    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#916_14">Half_Delay</A><A HREF="terminal_interface-curses__ads.htm#916_14">;</A>
920
921    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#921_14">Set_Flush_On_Interrupt_Mode</A><FONT COLOR=red><A NAME="917_14"></A></FONT>
922      (<A HREF="terminal_interface-curses__ads.htm#922_7">Win</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
923       <A HREF="terminal_interface-curses__ads.htm#923_7">Mode</A> : <b>in</b> Boolean := True)
924    <b>is</b>
925       <b>function</b> <FONT COLOR=red><A NAME="921_16">Intrflush</A></FONT> (<FONT COLOR=red><A NAME="921_27">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="921_41">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
926       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#921_16">Intrflush</A>, "intrflush");
927    <b>begin</b>
928       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#921_16">Intrflush</A> (<A HREF="terminal_interface-curses__ads.htm#922_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#923_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
929          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
930       <b>end</b> <b>if</b>;
931    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#921_14">Set_Flush_On_Interrupt_Mode</A><A HREF="terminal_interface-curses__ads.htm#921_14">;</A>
932
933    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#928_14">Set_Queue_Interrupt_Mode</A><FONT COLOR=red><A NAME="929_14"></A></FONT>
934      (<A HREF="terminal_interface-curses__ads.htm#929_7">Win</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
935       <A HREF="terminal_interface-curses__ads.htm#930_7">Flush</A> : <b>in</b> Boolean := True)
936    <b>is</b>
937       <b>procedure</b> <FONT COLOR=red><A NAME="933_17">Qiflush</A></FONT>;
938       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#933_17">Qiflush</A>, "qiflush");
939       <b>procedure</b> <FONT COLOR=red><A NAME="935_17">No_Qiflush</A></FONT>;
940       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#935_17">No_Qiflush</A>, "noqiflush");
941    <b>begin</b>
942       <b>if</b> <A HREF="terminal_interface-curses__ads.htm#930_7">Flush</A> <b>then</b>
943          <A HREF="terminal_interface-curses__adb.htm#933_17">Qiflush</A>;
944       <b>else</b>
945          <A HREF="terminal_interface-curses__adb.htm#935_17">No_Qiflush</A>;
946       <b>end</b> <b>if</b>;
947    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#928_14">Set_Queue_Interrupt_Mode</A><A HREF="terminal_interface-curses__ads.htm#928_14">;</A>
948
949    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#936_14">Set_NoDelay_Mode</A><FONT COLOR=red><A NAME="945_14"></A></FONT>
950      (<A HREF="terminal_interface-curses__ads.htm#937_7">Win</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
951       <A HREF="terminal_interface-curses__ads.htm#938_7">Mode</A> : <b>in</b> Boolean := False)
952    <b>is</b>
953       <b>function</b> <FONT COLOR=red><A NAME="949_16">Nodelay</A></FONT> (<FONT COLOR=red><A NAME="949_25">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="949_39">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
954       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#949_16">Nodelay</A>, "nodelay");
955    <b>begin</b>
956       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#949_16">Nodelay</A> (<A HREF="terminal_interface-curses__ads.htm#937_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#938_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
957          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
958       <b>end</b> <b>if</b>;
959    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#936_14">Set_NoDelay_Mode</A><A HREF="terminal_interface-curses__ads.htm#936_14">;</A>
960
961    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#945_14">Set_Timeout_Mode</A><FONT COLOR=red><A NAME="957_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#945_32">Win</A>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
962                                <A HREF="terminal_interface-curses__ads.htm#946_32">Mode</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#942_9">Timeout_Mode</A>;
963                                <A HREF="terminal_interface-curses__ads.htm#947_32">Amount</A> : <b>in</b> Natural)
964    <b>is</b>
965       <b>function</b> <FONT COLOR=red><A NAME="961_16">Wtimeout</A></FONT> (<FONT COLOR=red><A NAME="961_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="961_40">Amount</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
966       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#961_16">Wtimeout</A>, "wtimeout");
967
968       <FONT COLOR=red><A NAME="964_7">Time</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
969    <b>begin</b>
970       <b>case</b> <A HREF="terminal_interface-curses__ads.htm#946_32">Mode</A> <b>is</b>
971          <b>when</b> <A HREF="terminal_interface-curses__ads.htm#942_26">Blocking</A>     =&gt; <A HREF="terminal_interface-curses__adb.htm#964_7">Time</A> := -1;
972          <b>when</b> <A HREF="terminal_interface-curses__ads.htm#942_36">Non_Blocking</A> =&gt; <A HREF="terminal_interface-curses__adb.htm#964_7">Time</A> := 0;
973          <b>when</b> <A HREF="terminal_interface-curses__ads.htm#942_50">Delayed</A>      =&gt;
974             <b>if</b> <A HREF="terminal_interface-curses__ads.htm#947_32">Amount</A> = 0 <b>then</b>
975                <b>raise</b> Constraint_Error;
976             <b>end</b> <b>if</b>;
977             <A HREF="terminal_interface-curses__adb.htm#964_7">Time</A> := <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#947_32">Amount</A>);
978       <b>end</b> <b>case</b>;
979       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#961_16">Wtimeout</A> (<A HREF="terminal_interface-curses__ads.htm#945_32">Win</A>, <A HREF="terminal_interface-curses__adb.htm#964_7">Time</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
980          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
981       <b>end</b> <b>if</b>;
982    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#945_14">Set_Timeout_Mode</A><A HREF="terminal_interface-curses__ads.htm#945_14">;</A>
983
984    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#957_14">Set_Escape_Timer_Mode</A><FONT COLOR=red><A NAME="980_14"></A></FONT>
985      (<A HREF="terminal_interface-curses__ads.htm#958_7">Win</A>       : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
986       <A HREF="terminal_interface-curses__ads.htm#959_7">Timer_Off</A> : <b>in</b> Boolean := False)
987    <b>is</b>
988       <b>function</b> <FONT COLOR=red><A NAME="984_16">Notimeout</A></FONT> (<FONT COLOR=red><A NAME="984_27">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="984_41">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
989       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#984_16">Notimeout</A>, "notimeout");
990    <b>begin</b>
991       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#984_16">Notimeout</A> (<A HREF="terminal_interface-curses__ads.htm#958_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#959_7">Timer_Off</A>)))
992         = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
993          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
994       <b>end</b> <b>if</b>;
995    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#957_14">Set_Escape_Timer_Mode</A><A HREF="terminal_interface-curses__ads.htm#957_14">;</A>
996
997 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
998    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#968_14">Set_NL_Mode</A><FONT COLOR=red><A NAME="994_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#968_27">SwitchOn</A> : <b>in</b> Boolean := True)
999    <b>is</b>
1000       <b>function</b> <FONT COLOR=red><A NAME="996_16">NL</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1001       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#996_16">NL</A>, "nl");
1002       <b>function</b> <FONT COLOR=red><A NAME="998_16">NoNL</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1003       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#998_16">NoNL</A>, "nonl");
1004
1005       <FONT COLOR=red><A NAME="1001_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1006    <b>begin</b>
1007       <b>if</b> <A HREF="terminal_interface-curses__ads.htm#968_27">SwitchOn</A> <b>then</b>
1008          <A HREF="terminal_interface-curses__adb.htm#1001_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#996_16">NL</A>;
1009       <b>else</b>
1010          <A HREF="terminal_interface-curses__adb.htm#1001_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#998_16">NoNL</A>;
1011       <b>end</b> <b>if</b>;
1012       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1001_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1013          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1014       <b>end</b> <b>if</b>;
1015    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#968_14">Set_NL_Mode</A><A HREF="terminal_interface-curses__ads.htm#968_14">;</A>
1016
1017    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#974_14">Clear_On_Next_Update</A><FONT COLOR=red><A NAME="1013_14"></A></FONT>
1018      (<A HREF="terminal_interface-curses__ads.htm#975_7">Win</A>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1019       <A HREF="terminal_interface-curses__ads.htm#976_7">Do_Clear</A> : <b>in</b> Boolean := True)
1020    <b>is</b>
1021       <b>function</b> <FONT COLOR=red><A NAME="1017_16">Clear_Ok</A></FONT> (<FONT COLOR=red><A NAME="1017_26">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1017_38">Flag</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1022       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1017_16">Clear_Ok</A>, "clearok");
1023    <b>begin</b>
1024       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1017_16">Clear_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#975_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#976_7">Do_Clear</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1025          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1026       <b>end</b> <b>if</b>;
1027    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#974_14">Clear_On_Next_Update</A><A HREF="terminal_interface-curses__ads.htm#974_14">;</A>
1028
1029    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#981_14">Use_Insert_Delete_Line</A><FONT COLOR=red><A NAME="1025_14"></A></FONT>
1030      (<A HREF="terminal_interface-curses__ads.htm#982_7">Win</A>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1031       <A HREF="terminal_interface-curses__ads.htm#983_7">Do_Idl</A> : <b>in</b> Boolean := True)
1032    <b>is</b>
1033       <b>function</b> <FONT COLOR=red><A NAME="1029_16">IDL_Ok</A></FONT> (<FONT COLOR=red><A NAME="1029_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1029_36">Flag</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1034       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1029_16">IDL_Ok</A>, "idlok");
1035    <b>begin</b>
1036       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1029_16">IDL_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#982_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#983_7">Do_Idl</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1037          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1038       <b>end</b> <b>if</b>;
1039    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#981_14">Use_Insert_Delete_Line</A><A HREF="terminal_interface-curses__ads.htm#981_14">;</A>
1040
1041    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#988_14">Use_Insert_Delete_Character</A><FONT COLOR=red><A NAME="1037_14"></A></FONT>
1042      (<A HREF="terminal_interface-curses__ads.htm#989_7">Win</A>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1043       <A HREF="terminal_interface-curses__ads.htm#990_7">Do_Idc</A> : <b>in</b> Boolean := True)
1044    <b>is</b>
1045       <b>function</b> <FONT COLOR=red><A NAME="1041_16">IDC_Ok</A></FONT> (<FONT COLOR=red><A NAME="1041_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1041_36">Flag</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1046       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1041_16">IDC_Ok</A>, "idcok");
1047    <b>begin</b>
1048       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1041_16">IDC_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#989_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#990_7">Do_Idc</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1049          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1050       <b>end</b> <b>if</b>;
1051    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#988_14">Use_Insert_Delete_Character</A><A HREF="terminal_interface-curses__ads.htm#988_14">;</A>
1052
1053    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#995_14">Leave_Cursor_After_Update</A><FONT COLOR=red><A NAME="1049_14"></A></FONT>
1054      (<A HREF="terminal_interface-curses__ads.htm#996_7">Win</A>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1055       <A HREF="terminal_interface-curses__ads.htm#997_7">Do_Leave</A> : <b>in</b> Boolean := True)
1056    <b>is</b>
1057       <b>function</b> <FONT COLOR=red><A NAME="1053_16">Leave_Ok</A></FONT> (<FONT COLOR=red><A NAME="1053_26">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1053_38">Flag</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1058       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1053_16">Leave_Ok</A>, "leaveok");
1059    <b>begin</b>
1060       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1053_16">Leave_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#996_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#997_7">Do_Leave</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1061          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1062       <b>end</b> <b>if</b>;
1063    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#995_14">Leave_Cursor_After_Update</A><A HREF="terminal_interface-curses__ads.htm#995_14">;</A>
1064
1065    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1002_14">Immediate_Update_Mode</A><FONT COLOR=red><A NAME="1061_14"></A></FONT>
1066      (<A HREF="terminal_interface-curses__ads.htm#1003_7">Win</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1067       <A HREF="terminal_interface-curses__ads.htm#1004_7">Mode</A> : <b>in</b> Boolean := False)
1068    <b>is</b>
1069       <b>function</b> <FONT COLOR=red><A NAME="1065_16">Immedok</A></FONT> (<FONT COLOR=red><A NAME="1065_25">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1065_39">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1070       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1065_16">Immedok</A>, "immedok");
1071    <b>begin</b>
1072       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1065_16">Immedok</A> (<A HREF="terminal_interface-curses__ads.htm#1003_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#1004_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1073          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1074       <b>end</b> <b>if</b>;
1075    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1002_14">Immediate_Update_Mode</A><A HREF="terminal_interface-curses__ads.htm#1002_14">;</A>
1076
1077    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1009_14">Allow_Scrolling</A><FONT COLOR=red><A NAME="1073_14"></A></FONT>
1078      (<A HREF="terminal_interface-curses__ads.htm#1010_7">Win</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>  := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1079       <A HREF="terminal_interface-curses__ads.htm#1011_7">Mode</A> : <b>in</b> Boolean := False)
1080    <b>is</b>
1081       <b>function</b> <FONT COLOR=red><A NAME="1077_16">Scrollok</A></FONT> (<FONT COLOR=red><A NAME="1077_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1077_40">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1082       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1077_16">Scrollok</A>, "scrollok");
1083    <b>begin</b>
1084       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1077_16">Scrollok</A> (<A HREF="terminal_interface-curses__ads.htm#1010_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#1011_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1085          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1086       <b>end</b> <b>if</b>;
1087    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1009_14">Allow_Scrolling</A><A HREF="terminal_interface-curses__ads.htm#1009_14">;</A>
1088
1089    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1015_13">Scrolling_Allowed</A> (<A HREF="terminal_interface-curses__ads.htm#1015_32">Win</A> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>)
1090                                <b>return</b> Boolean
1091    <b>is</b>
1092    <b>begin</b>
1093       <b>return</b> <A HREF="terminal_interface-curses__adb.htm#92_13">Get_Flag</A> (<A HREF="terminal_interface-curses__ads.htm#1015_32">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1921_4">Offset_scroll</A>);
1094    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1015_13">Scrolling_Allowed</A><A HREF="terminal_interface-curses__ads.htm#1015_13">;</A>
1095
1096    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1020_14">Set_Scroll_Region</A><FONT COLOR=red><A NAME="1092_14"></A></FONT>
1097      (<A HREF="terminal_interface-curses__ads.htm#1021_7">Win</A>         : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1098       <A HREF="terminal_interface-curses__ads.htm#1022_7">Top_Line</A>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
1099       <A HREF="terminal_interface-curses__ads.htm#1023_7">Bottom_Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>)
1100    <b>is</b>
1101       <b>function</b> <FONT COLOR=red><A NAME="1097_16">Wsetscrreg</A></FONT> (<FONT COLOR=red><A NAME="1097_28">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1102                            <FONT COLOR=red><A NAME="1098_28">Lin</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1103                            <FONT COLOR=red><A NAME="1099_28">Col</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1104       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1097_16">Wsetscrreg</A>, "wsetscrreg");
1105    <b>begin</b>
1106       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1097_16">Wsetscrreg</A> (<A HREF="terminal_interface-curses__ads.htm#1021_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1022_7">Top_Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1023_7">Bottom_Line</A>))
1107         = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1108          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1109       <b>end</b> <b>if</b>;
1110    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1020_14">Set_Scroll_Region</A><A HREF="terminal_interface-curses__ads.htm#1020_14">;</A>
1111 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
1112    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1033_14">Update_Screen</A><FONT COLOR=red><A NAME="1108_14"></A></FONT>
1113    <b>is</b>
1114       <b>function</b> <FONT COLOR=red><A NAME="1110_16">Do_Update</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1115       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1110_16">Do_Update</A>, "doupdate");
1116    <b>begin</b>
1117       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1110_16">Do_Update</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1118          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1119       <b>end</b> <b>if</b>;
1120    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1033_14">Update_Screen</A><A HREF="terminal_interface-curses__ads.htm#1033_14">;</A>
1121
1122    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1038_14">Refresh</A><FONT COLOR=red><A NAME="1118_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1038_23">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>)
1123    <b>is</b>
1124       <b>function</b> <FONT COLOR=red><A NAME="1120_16">Wrefresh</A></FONT> (<FONT COLOR=red><A NAME="1120_26">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1125       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1120_16">Wrefresh</A>, "wrefresh");
1126    <b>begin</b>
1127       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1120_16">Wrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#1038_23">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1128          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1129       <b>end</b> <b>if</b>;
1130    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1038_14">Refresh</A><A HREF="terminal_interface-curses__ads.htm#1038_14">;</A>
1131
1132    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1045_14">Refresh_Without_Update</A><FONT COLOR=red><A NAME="1128_14"></A></FONT>
1133      (<A HREF="terminal_interface-curses__ads.htm#1046_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>)
1134    <b>is</b>
1135       <b>function</b> <FONT COLOR=red><A NAME="1131_16">Wnoutrefresh</A></FONT> (<FONT COLOR=red><A NAME="1131_30">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1136       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1131_16">Wnoutrefresh</A>, "wnoutrefresh");
1137    <b>begin</b>
1138       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1131_16">Wnoutrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#1046_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1139          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1140       <b>end</b> <b>if</b>;
1141    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1045_14">Refresh_Without_Update</A><A HREF="terminal_interface-curses__ads.htm#1045_14">;</A>
1142
1143    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1052_14">Redraw</A><FONT COLOR=red><A NAME="1139_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1052_22">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>)
1144    <b>is</b>
1145       <b>function</b> <FONT COLOR=red><A NAME="1141_16">Redrawwin</A></FONT> (<FONT COLOR=red><A NAME="1141_27">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1146       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1141_16">Redrawwin</A>, "redrawwin");
1147    <b>begin</b>
1148       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1141_16">Redrawwin</A> (<A HREF="terminal_interface-curses__ads.htm#1052_22">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1149          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1150       <b>end</b> <b>if</b>;
1151    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1052_14">Redraw</A><A HREF="terminal_interface-curses__ads.htm#1052_14">;</A>
1152
1153    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1056_14">Redraw</A><FONT COLOR=red><A NAME="1149_14"></A></FONT>
1154      (<A HREF="terminal_interface-curses__ads.htm#1056_22">Win</A>        : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1155       <A HREF="terminal_interface-curses__ads.htm#1057_22">Begin_Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
1156       <A HREF="terminal_interface-curses__ads.htm#1058_22">Line_Count</A> : <b>in</b> Positive)
1157    <b>is</b>
1158       <b>function</b> <FONT COLOR=red><A NAME="1154_16">Wredrawln</A></FONT> (<FONT COLOR=red><A NAME="1154_27">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1154_41">First</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1154_56">Cnt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>)
1159                           <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1160       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1154_16">Wredrawln</A>, "wredrawln");
1161    <b>begin</b>
1162       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1154_16">Wredrawln</A> (<A HREF="terminal_interface-curses__ads.htm#1056_22">Win</A>,
1163                     <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1057_22">Begin_Line</A>),
1164                     <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1058_22">Line_Count</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1165          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1166       <b>end</b> <b>if</b>;
1167    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1056_14">Redraw</A><A HREF="terminal_interface-curses__ads.htm#1056_14">;</A>
1168
1169 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
1170    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1067_14">Erase</A><FONT COLOR=red><A NAME="1166_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1067_21">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>)
1171    <b>is</b>
1172       <b>function</b> <FONT COLOR=red><A NAME="1168_16">Werase</A></FONT> (<FONT COLOR=red><A NAME="1168_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1173       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1168_16">Werase</A>, "werase");
1174    <b>begin</b>
1175       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1168_16">Werase</A> (<A HREF="terminal_interface-curses__ads.htm#1067_21">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1176          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1177       <b>end</b> <b>if</b>;
1178    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1067_14">Erase</A><A HREF="terminal_interface-curses__ads.htm#1067_14">;</A>
1179
1180    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1073_14">Clear</A><FONT COLOR=red><A NAME="1176_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1074_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>)
1181    <b>is</b>
1182       <b>function</b> <FONT COLOR=red><A NAME="1178_16">Wclear</A></FONT> (<FONT COLOR=red><A NAME="1178_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1183       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1178_16">Wclear</A>, "wclear");
1184    <b>begin</b>
1185       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1178_16">Wclear</A> (<A HREF="terminal_interface-curses__ads.htm#1074_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1186          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1187       <b>end</b> <b>if</b>;
1188    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1073_14">Clear</A><A HREF="terminal_interface-curses__ads.htm#1073_14">;</A>
1189
1190    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1080_14">Clear_To_End_Of_Screen</A><FONT COLOR=red><A NAME="1186_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1081_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>)
1191    <b>is</b>
1192       <b>function</b> <FONT COLOR=red><A NAME="1188_16">Wclearbot</A></FONT> (<FONT COLOR=red><A NAME="1188_27">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1193       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1188_16">Wclearbot</A>, "wclrtobot");
1194    <b>begin</b>
1195       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1188_16">Wclearbot</A> (<A HREF="terminal_interface-curses__ads.htm#1081_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1196          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1197       <b>end</b> <b>if</b>;
1198    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1080_14">Clear_To_End_Of_Screen</A><A HREF="terminal_interface-curses__ads.htm#1080_14">;</A>
1199
1200    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1087_14">Clear_To_End_Of_Line</A><FONT COLOR=red><A NAME="1196_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1088_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>)
1201    <b>is</b>
1202       <b>function</b> <FONT COLOR=red><A NAME="1198_16">Wcleareol</A></FONT> (<FONT COLOR=red><A NAME="1198_27">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1203       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1198_16">Wcleareol</A>, "wclrtoeol");
1204    <b>begin</b>
1205       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1198_16">Wcleareol</A> (<A HREF="terminal_interface-curses__ads.htm#1088_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1206          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1207       <b>end</b> <b>if</b>;
1208    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1087_14">Clear_To_End_Of_Line</A><A HREF="terminal_interface-curses__ads.htm#1087_14">;</A>
1209 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
1210    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1101_14">Set_Background</A><FONT COLOR=red><A NAME="1206_14"></A></FONT>
1211      (<A HREF="terminal_interface-curses__ads.htm#1102_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1212       <A HREF="terminal_interface-curses__ads.htm#1103_7">Ch</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>)
1213    <b>is</b>
1214       <b>procedure</b> <FONT COLOR=red><A NAME="1210_17">WBackground</A></FONT> (<FONT COLOR=red><A NAME="1210_30">W</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1210_45">Ch</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>);
1215       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1210_17">WBackground</A>, "wbkgdset");
1216    <b>begin</b>
1217       <A HREF="terminal_interface-curses__adb.htm#1210_17">WBackground</A> (<A HREF="terminal_interface-curses__ads.htm#1102_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#1103_7">Ch</A>));
1218    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1101_14">Set_Background</A><A HREF="terminal_interface-curses__ads.htm#1101_14">;</A>
1219
1220    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1109_14">Change_Background</A><FONT COLOR=red><A NAME="1216_14"></A></FONT>
1221      (<A HREF="terminal_interface-curses__ads.htm#1110_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1222       <A HREF="terminal_interface-curses__ads.htm#1111_7">Ch</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>)
1223    <b>is</b>
1224       <b>function</b> <FONT COLOR=red><A NAME="1220_16">WChangeBkgd</A></FONT> (<FONT COLOR=red><A NAME="1220_29">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1220_41">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1225       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1220_16">WChangeBkgd</A>, "wbkgd");
1226    <b>begin</b>
1227       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1220_16">WChangeBkgd</A> (<A HREF="terminal_interface-curses__ads.htm#1110_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#1111_7">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1228          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1229       <b>end</b> <b>if</b>;
1230    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1109_14">Change_Background</A><A HREF="terminal_interface-curses__ads.htm#1109_14">;</A>
1231
1232    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1118_13">Get_Background</A> (<A HREF="terminal_interface-curses__ads.htm#1118_29">Win</A> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>)
1233      <b>return</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>
1234    <b>is</b>
1235       <b>function</b> <FONT COLOR=red><A NAME="1231_16">Wgetbkgd</A></FONT> (<FONT COLOR=red><A NAME="1231_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
1236       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1231_16">Wgetbkgd</A>, "getbkgd");
1237    <b>begin</b>
1238       <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#1231_16">Wgetbkgd</A> (<A HREF="terminal_interface-curses__ads.htm#1118_29">Win</A>));
1239    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1118_13">Get_Background</A><A HREF="terminal_interface-curses__ads.htm#1118_13">;</A>
1240 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
1241    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1145_14">Change_Lines_Status</A><FONT COLOR=red><A NAME="1237_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1145_35">Win</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1242                                   <A HREF="terminal_interface-curses__ads.htm#1146_35">Start</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
1243                                   <A HREF="terminal_interface-curses__ads.htm#1147_35">Count</A> : <b>in</b> Positive;
1244                                   <A HREF="terminal_interface-curses__ads.htm#1148_35">State</A> : <b>in</b> Boolean)
1245    <b>is</b>
1246       <b>function</b> <FONT COLOR=red><A NAME="1242_16">Wtouchln</A></FONT> (<FONT COLOR=red><A NAME="1242_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1247                          <FONT COLOR=red><A NAME="1243_26">Sta</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1248                          <FONT COLOR=red><A NAME="1244_26">Cnt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1249                          <FONT COLOR=red><A NAME="1245_26">Chg</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1250       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1242_16">Wtouchln</A>, "wtouchln");
1251    <b>begin</b>
1252       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1242_16">Wtouchln</A> (<A HREF="terminal_interface-curses__ads.htm#1145_35">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1146_35">Start</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1147_35">Count</A>),
1253                    <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#1148_35">State</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1254          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1255       <b>end</b> <b>if</b>;
1256    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1145_14">Change_Lines_Status</A><A HREF="terminal_interface-curses__ads.htm#1145_14">;</A>
1257
1258    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1134_14">Touch</A><FONT COLOR=red><A NAME="1254_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1134_21">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>)
1259    <b>is</b>
1260       <FONT COLOR=red><A NAME="1256_7">Y</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
1261       <FONT COLOR=red><A NAME="1257_7">X</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>;
1262    <b>begin</b>
1263       <A HREF="terminal_interface-curses__ads.htm#1221_14">Get_Size</A> (<A HREF="terminal_interface-curses__ads.htm#1134_21">Win</A>, <A HREF="terminal_interface-curses__adb.htm#1256_7">Y</A>, <A HREF="terminal_interface-curses__adb.htm#1257_7">X</A>);
1264       <A HREF="terminal_interface-curses__ads.htm#1145_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#1134_21">Win</A>, 0, Positive (<A HREF="terminal_interface-curses__adb.htm#1256_7">Y</A>), True);
1265    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1134_14">Touch</A><A HREF="terminal_interface-curses__ads.htm#1134_14">;</A>
1266
1267    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1129_14">Untouch</A><FONT COLOR=red><A NAME="1263_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1129_23">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>)
1268    <b>is</b>
1269       <FONT COLOR=red><A NAME="1265_7">Y</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
1270       <FONT COLOR=red><A NAME="1266_7">X</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>;
1271    <b>begin</b>
1272       <A HREF="terminal_interface-curses__ads.htm#1221_14">Get_Size</A> (<A HREF="terminal_interface-curses__ads.htm#1129_23">Win</A>, <A HREF="terminal_interface-curses__adb.htm#1265_7">Y</A>, <A HREF="terminal_interface-curses__adb.htm#1266_7">X</A>);
1273       <A HREF="terminal_interface-curses__ads.htm#1145_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#1129_23">Win</A>, 0, Positive (<A HREF="terminal_interface-curses__adb.htm#1265_7">Y</A>), False);
1274    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1129_14">Untouch</A><A HREF="terminal_interface-curses__ads.htm#1129_14">;</A>
1275
1276    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1138_14">Touch</A><FONT COLOR=red><A NAME="1272_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1138_21">Win</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1277                     <A HREF="terminal_interface-curses__ads.htm#1139_21">Start</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
1278                     <A HREF="terminal_interface-curses__ads.htm#1140_21">Count</A> : <b>in</b> Positive)
1279    <b>is</b>
1280    <b>begin</b>
1281       <A HREF="terminal_interface-curses__ads.htm#1145_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#1138_21">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1139_21">Start</A>, <A HREF="terminal_interface-curses__ads.htm#1140_21">Count</A>, True);
1282    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1138_14">Touch</A><A HREF="terminal_interface-curses__ads.htm#1138_14">;</A>
1283
1284    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1153_13">Is_Touched</A>
1285      (<A HREF="terminal_interface-curses__ads.htm#1153_25">Win</A>  : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1286       <A HREF="terminal_interface-curses__ads.htm#1154_25">Line</A> : <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>) <b>return</b> Boolean
1287    <b>is</b>
1288       <b>function</b> <FONT COLOR=red><A NAME="1284_16">WLineTouched</A></FONT> (<FONT COLOR=red><A NAME="1284_30">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1284_42">L</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>;
1289       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1284_16">WLineTouched</A>, "is_linetouched");
1290    <b>begin</b>
1291       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1284_16">WLineTouched</A> (<A HREF="terminal_interface-curses__ads.htm#1153_25">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1154_25">Line</A>)) = <A HREF="terminal_interface-curses__ads.htm#1931_4">Curses_Bool_False</A> <b>then</b>
1292          <b>return</b> False;
1293       <b>else</b>
1294          <b>return</b> True;
1295       <b>end</b> <b>if</b>;
1296    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1153_13">Is_Touched</A><A HREF="terminal_interface-curses__ads.htm#1153_13">;</A>
1297
1298    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1158_13">Is_Touched</A>
1299      (<A HREF="terminal_interface-curses__ads.htm#1158_25">Win</A> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>) <b>return</b> Boolean
1300    <b>is</b>
1301       <b>function</b> <FONT COLOR=red><A NAME="1297_16">WWinTouched</A></FONT> (<FONT COLOR=red><A NAME="1297_29">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>;
1302       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1297_16">WWinTouched</A>, "is_wintouched");
1303    <b>begin</b>
1304       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1297_16">WWinTouched</A> (<A HREF="terminal_interface-curses__ads.htm#1158_25">Win</A>) = <A HREF="terminal_interface-curses__ads.htm#1931_4">Curses_Bool_False</A> <b>then</b>
1305          <b>return</b> False;
1306       <b>else</b>
1307          <b>return</b> True;
1308       <b>end</b> <b>if</b>;
1309    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1158_13">Is_Touched</A><A HREF="terminal_interface-curses__ads.htm#1158_13">;</A>
1310 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
1311    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1167_14">Copy</A><FONT COLOR=red><A NAME="1307_14"></A></FONT>
1312      (<A HREF="terminal_interface-curses__ads.htm#1168_7">Source_Window</A>            : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1313       <A HREF="terminal_interface-curses__ads.htm#1169_7">Destination_Window</A>       : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1314       <A HREF="terminal_interface-curses__ads.htm#1170_7">Source_Top_Row</A>           : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
1315       <A HREF="terminal_interface-curses__ads.htm#1171_7">Source_Left_Column</A>       : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>;
1316       <A HREF="terminal_interface-curses__ads.htm#1172_7">Destination_Top_Row</A>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
1317       <A HREF="terminal_interface-curses__ads.htm#1173_7">Destination_Left_Column</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>;
1318       <A HREF="terminal_interface-curses__ads.htm#1174_7">Destination_Bottom_Row</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
1319       <A HREF="terminal_interface-curses__ads.htm#1175_7">Destination_Right_Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>;
1320       <A HREF="terminal_interface-curses__ads.htm#1176_7">Non_Destructive_Mode</A>     : <b>in</b> Boolean := True)
1321    <b>is</b>
1322       <b>function</b> <FONT COLOR=red><A NAME="1318_16">Copywin</A></FONT> (<FONT COLOR=red><A NAME="1318_25">Src</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1323                         <FONT COLOR=red><A NAME="1319_25">Dst</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1324                         <FONT COLOR=red><A NAME="1320_25">Str</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1325                         <FONT COLOR=red><A NAME="1321_25">Slc</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1326                         <FONT COLOR=red><A NAME="1322_25">Dtr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1327                         <FONT COLOR=red><A NAME="1323_25">Dlc</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1328                         <FONT COLOR=red><A NAME="1324_25">Dbr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1329                         <FONT COLOR=red><A NAME="1325_25">Drc</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1330                         <FONT COLOR=red><A NAME="1326_25">Ndm</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1331       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1318_16">Copywin</A>, "copywin");
1332    <b>begin</b>
1333       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1318_16">Copywin</A> (<A HREF="terminal_interface-curses__ads.htm#1168_7">Source_Window</A>,
1334                   <A HREF="terminal_interface-curses__ads.htm#1169_7">Destination_Window</A>,
1335                   <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1170_7">Source_Top_Row</A>),
1336                   <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1171_7">Source_Left_Column</A>),
1337                   <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1172_7">Destination_Top_Row</A>),
1338                   <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1173_7">Destination_Left_Column</A>),
1339                   <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1174_7">Destination_Bottom_Row</A>),
1340                   <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1175_7">Destination_Right_Column</A>),
1341                   Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#1176_7">Non_Destructive_Mode</A>)
1342                 ) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1343          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1344       <b>end</b> <b>if</b>;
1345    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1167_14">Copy</A><A HREF="terminal_interface-curses__ads.htm#1167_14">;</A>
1346
1347    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1181_14">Overwrite</A><FONT COLOR=red><A NAME="1343_14"></A></FONT>
1348      (<A HREF="terminal_interface-curses__ads.htm#1181_25">Source_Window</A>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1349       <A HREF="terminal_interface-curses__ads.htm#1182_25">Destination_Window</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>)
1350    <b>is</b>
1351       <b>function</b> <FONT COLOR=red><A NAME="1347_16">Overwrite</A></FONT> (<FONT COLOR=red><A NAME="1347_27">Src</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1347_41">Dst</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1352       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1347_16">Overwrite</A>, "overwrite");
1353    <b>begin</b>
1354       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1347_16">Overwrite</A> (<A HREF="terminal_interface-curses__ads.htm#1181_25">Source_Window</A>, <A HREF="terminal_interface-curses__ads.htm#1182_25">Destination_Window</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1355          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1356       <b>end</b> <b>if</b>;
1357    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1181_14">Overwrite</A><A HREF="terminal_interface-curses__ads.htm#1181_14">;</A>
1358
1359    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1187_14">Overlay</A><FONT COLOR=red><A NAME="1355_14"></A></FONT>
1360      (<A HREF="terminal_interface-curses__ads.htm#1187_23">Source_Window</A>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1361       <A HREF="terminal_interface-curses__ads.htm#1188_23">Destination_Window</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>)
1362    <b>is</b>
1363       <b>function</b> <FONT COLOR=red><A NAME="1359_16">Overlay</A></FONT> (<FONT COLOR=red><A NAME="1359_25">Src</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1359_39">Dst</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1364       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1359_16">Overlay</A>, "overlay");
1365    <b>begin</b>
1366       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1359_16">Overlay</A> (<A HREF="terminal_interface-curses__ads.htm#1187_23">Source_Window</A>, <A HREF="terminal_interface-curses__ads.htm#1188_23">Destination_Window</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1367          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1368       <b>end</b> <b>if</b>;
1369    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1187_14">Overlay</A><A HREF="terminal_interface-curses__ads.htm#1187_14">;</A>
1370
1371 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
1372    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1197_14">Insert_Delete_Lines</A><FONT COLOR=red><A NAME="1368_14"></A></FONT>
1373      (<A HREF="terminal_interface-curses__ads.htm#1198_7">Win</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1374       <A HREF="terminal_interface-curses__ads.htm#1199_7">Lines</A> : <b>in</b> Integer       := 1) <FONT COLOR=green><EM>-- default is to insert one line above</EM></FONT>
1375    <b>is</b>
1376       <b>function</b> <FONT COLOR=red><A NAME="1372_16">Winsdelln</A></FONT> (<FONT COLOR=red><A NAME="1372_27">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1372_39">N</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1377       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1372_16">Winsdelln</A>, "winsdelln");
1378    <b>begin</b>
1379       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1372_16">Winsdelln</A> (<A HREF="terminal_interface-curses__ads.htm#1198_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1199_7">Lines</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1380          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1381       <b>end</b> <b>if</b>;
1382    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1197_14">Insert_Delete_Lines</A><A HREF="terminal_interface-curses__ads.htm#1197_14">;</A>
1383
1384    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1205_14">Delete_Line</A><FONT COLOR=red><A NAME="1380_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1205_27">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>)
1385    <b>is</b>
1386    <b>begin</b>
1387       <A HREF="terminal_interface-curses__ads.htm#1197_14">Insert_Delete_Lines</A> (<A HREF="terminal_interface-curses__ads.htm#1205_27">Win</A>, -1);
1388    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1205_14">Delete_Line</A><A HREF="terminal_interface-curses__ads.htm#1205_14">;</A>
1389
1390    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1211_14">Insert_Line</A><FONT COLOR=red><A NAME="1386_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1211_27">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>)
1391    <b>is</b>
1392    <b>begin</b>
1393       <A HREF="terminal_interface-curses__ads.htm#1197_14">Insert_Delete_Lines</A> (<A HREF="terminal_interface-curses__ads.htm#1211_27">Win</A>, 1);
1394    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1211_14">Insert_Line</A><A HREF="terminal_interface-curses__ads.htm#1211_14">;</A>
1395 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
1396
1397
1398    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1221_14">Get_Size</A><FONT COLOR=red><A NAME="1394_14"></A></FONT>
1399      (<A HREF="terminal_interface-curses__ads.htm#1222_7">Win</A>               : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1400       <A HREF="terminal_interface-curses__ads.htm#1223_7">Number_Of_Lines</A>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A>;
1401       <A HREF="terminal_interface-curses__ads.htm#1224_7">Number_Of_Columns</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A>)
1402    <b>is</b>
1403       <FONT COLOR=green><EM>--  Please note: in ncurses they are one off.</EM></FONT>
1404       <FONT COLOR=green><EM>--  This might be different in other implementations of curses</EM></FONT>
1405       <FONT COLOR=red><A NAME="1401_7">Y</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#89_13">W_Get_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1222_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1909_4">Offset_maxy</A>)) + <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1928_4">Offset_XY</A>);
1406       <FONT COLOR=red><A NAME="1402_7">X</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#89_13">W_Get_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1222_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1910_4">Offset_maxx</A>)) + <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1928_4">Offset_XY</A>);
1407    <b>begin</b>
1408       <A HREF="terminal_interface-curses__ads.htm#1223_7">Number_Of_Lines</A>   := <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A> (<A HREF="terminal_interface-curses__adb.htm#1401_7">Y</A>);
1409       <A HREF="terminal_interface-curses__ads.htm#1224_7">Number_Of_Columns</A> := <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A> (<A HREF="terminal_interface-curses__adb.htm#1402_7">X</A>);
1410    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1221_14">Get_Size</A><A HREF="terminal_interface-curses__ads.htm#1221_14">;</A>
1411
1412    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1229_14">Get_Window_Position</A><FONT COLOR=red><A NAME="1408_14"></A></FONT>
1413      (<A HREF="terminal_interface-curses__ads.htm#1230_7">Win</A>             : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1414       <A HREF="terminal_interface-curses__ads.htm#1231_7">Top_Left_Line</A>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
1415       <A HREF="terminal_interface-curses__ads.htm#1232_7">Top_Left_Column</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>)
1416    <b>is</b>
1417       <FONT COLOR=red><A NAME="1413_7">Y</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> := <A HREF="terminal_interface-curses__adb.htm#89_13">W_Get_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1230_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1911_4">Offset_begy</A>);
1418       <FONT COLOR=red><A NAME="1414_7">X</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> := <A HREF="terminal_interface-curses__adb.htm#89_13">W_Get_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1230_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1912_4">Offset_begx</A>);
1419    <b>begin</b>
1420       <A HREF="terminal_interface-curses__ads.htm#1231_7">Top_Left_Line</A>   := <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#1413_7">Y</A>);
1421       <A HREF="terminal_interface-curses__ads.htm#1232_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#1414_7">X</A>);
1422    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1229_14">Get_Window_Position</A><A HREF="terminal_interface-curses__ads.htm#1229_14">;</A>
1423
1424    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1237_14">Get_Cursor_Position</A><FONT COLOR=red><A NAME="1420_14"></A></FONT>
1425      (<A HREF="terminal_interface-curses__ads.htm#1238_7">Win</A>    : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1426       <A HREF="terminal_interface-curses__ads.htm#1239_7">Line</A>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
1427       <A HREF="terminal_interface-curses__ads.htm#1240_7">Column</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>)
1428    <b>is</b>
1429       <FONT COLOR=red><A NAME="1425_7">Y</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> := <A HREF="terminal_interface-curses__adb.htm#89_13">W_Get_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1238_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1913_4">Offset_cury</A>);
1430       <FONT COLOR=red><A NAME="1426_7">X</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> := <A HREF="terminal_interface-curses__adb.htm#89_13">W_Get_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1238_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1914_4">Offset_curx</A>);
1431    <b>begin</b>
1432       <A HREF="terminal_interface-curses__ads.htm#1239_7">Line</A>   := <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#1425_7">Y</A>);
1433       <A HREF="terminal_interface-curses__ads.htm#1240_7">Column</A> := <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#1426_7">X</A>);
1434    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1237_14">Get_Cursor_Position</A><A HREF="terminal_interface-curses__ads.htm#1237_14">;</A>
1435
1436    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1245_14">Get_Origin_Relative_To_Parent</A><FONT COLOR=red><A NAME="1432_14"></A></FONT>
1437      (<A HREF="terminal_interface-curses__ads.htm#1246_7">Win</A>                : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1438       <A HREF="terminal_interface-curses__ads.htm#1247_7">Top_Left_Line</A>      : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
1439       <A HREF="terminal_interface-curses__ads.htm#1248_7">Top_Left_Column</A>    : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>;
1440       <A HREF="terminal_interface-curses__ads.htm#1249_7">Is_Not_A_Subwindow</A> : <b>out</b> Boolean)
1441    <b>is</b>
1442       <FONT COLOR=red><A NAME="1438_7">Y</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#88_13">W_Get_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1246_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1916_4">Offset_pary</A>);
1443       <FONT COLOR=red><A NAME="1439_7">X</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#88_13">W_Get_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1246_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1917_4">Offset_parx</A>);
1444    <b>begin</b>
1445       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1438_7">Y</A> = -1 <b>then</b>
1446          <A HREF="terminal_interface-curses__ads.htm#1247_7">Top_Left_Line</A>   := <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>'Last;
1447          <A HREF="terminal_interface-curses__ads.htm#1248_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>'Last;
1448          <A HREF="terminal_interface-curses__ads.htm#1249_7">Is_Not_A_Subwindow</A> := True;
1449       <b>else</b>
1450          <A HREF="terminal_interface-curses__ads.htm#1247_7">Top_Left_Line</A>   := <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#1438_7">Y</A>);
1451          <A HREF="terminal_interface-curses__ads.htm#1248_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#1439_7">X</A>);
1452          <A HREF="terminal_interface-curses__ads.htm#1249_7">Is_Not_A_Subwindow</A> := False;
1453       <b>end</b> <b>if</b>;
1454    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1245_14">Get_Origin_Relative_To_Parent</A><A HREF="terminal_interface-curses__ads.htm#1245_14">;</A>
1455 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
1456    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1260_13">New_Pad</A> (<A HREF="terminal_interface-curses__ads.htm#1260_22">Lines</A>   : <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A>;
1457                      <A HREF="terminal_interface-curses__ads.htm#1261_22">Columns</A> : <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>
1458    <b>is</b>
1459       <b>function</b> <FONT COLOR=red><A NAME="1455_16">Newpad</A></FONT> (<FONT COLOR=red><A NAME="1455_24">Lines</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1455_39">Columns</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1460       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1455_16">Newpad</A>, "newpad");
1461
1462       <FONT COLOR=red><A NAME="1458_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1463    <b>begin</b>
1464       <A HREF="terminal_interface-curses__adb.htm#1458_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#1455_16">Newpad</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1260_22">Lines</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1261_22">Columns</A>));
1465       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1458_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#57_4">Null_Window</A> <b>then</b>
1466          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1467       <b>end</b> <b>if</b>;
1468       <b>return</b> <A HREF="terminal_interface-curses__adb.htm#1458_7">W</A>;
1469    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1260_13">New_Pad</A><A HREF="terminal_interface-curses__ads.htm#1260_13">;</A>
1470
1471    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1266_13">Sub_Pad</A>
1472      (<A HREF="terminal_interface-curses__ads.htm#1267_7">Pad</A>                   : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1473       <A HREF="terminal_interface-curses__ads.htm#1268_7">Number_Of_Lines</A>       : <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A>;
1474       <A HREF="terminal_interface-curses__ads.htm#1269_7">Number_Of_Columns</A>     : <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A>;
1475       <A HREF="terminal_interface-curses__ads.htm#1270_7">First_Line_Position</A>   : <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
1476       <A HREF="terminal_interface-curses__ads.htm#1271_7">First_Column_Position</A> : <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>
1477    <b>is</b>
1478       <b>function</b> <FONT COLOR=red><A NAME="1474_16">Subpad</A></FONT>
1479         (<FONT COLOR=red><A NAME="1475_10">Pad</A></FONT>                   : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1480          <FONT COLOR=red><A NAME="1476_10">Number_Of_Lines</A></FONT>       : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1481          <FONT COLOR=red><A NAME="1477_10">Number_Of_Columns</A></FONT>     : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1482          <FONT COLOR=red><A NAME="1478_10">First_Line_Position</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1483          <FONT COLOR=red><A NAME="1479_10">First_Column_Position</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1484       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1474_16">Subpad</A>, "subpad");
1485
1486       <FONT COLOR=red><A NAME="1482_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1487    <b>begin</b>
1488       <A HREF="terminal_interface-curses__adb.htm#1482_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#1474_16">Subpad</A> (<A HREF="terminal_interface-curses__ads.htm#1267_7">Pad</A>,
1489                    <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1268_7">Number_Of_Lines</A>),
1490                    <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1269_7">Number_Of_Columns</A>),
1491                    <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1270_7">First_Line_Position</A>),
1492                    <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1271_7">First_Column_Position</A>));
1493       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1482_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#57_4">Null_Window</A> <b>then</b>
1494          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1495       <b>end</b> <b>if</b>;
1496       <b>return</b> <A HREF="terminal_interface-curses__adb.htm#1482_7">W</A>;
1497    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1266_13">Sub_Pad</A><A HREF="terminal_interface-curses__ads.htm#1266_13">;</A>
1498
1499    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1276_14">Refresh</A><FONT COLOR=red><A NAME="1495_14"></A></FONT>
1500      (<A HREF="terminal_interface-curses__ads.htm#1277_7">Pad</A>                      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1501       <A HREF="terminal_interface-curses__ads.htm#1278_7">Source_Top_Row</A>           : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
1502       <A HREF="terminal_interface-curses__ads.htm#1279_7">Source_Left_Column</A>       : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>;
1503       <A HREF="terminal_interface-curses__ads.htm#1280_7">Destination_Top_Row</A>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
1504       <A HREF="terminal_interface-curses__ads.htm#1281_7">Destination_Left_Column</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>;
1505       <A HREF="terminal_interface-curses__ads.htm#1282_7">Destination_Bottom_Row</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
1506       <A HREF="terminal_interface-curses__ads.htm#1283_7">Destination_Right_Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>)
1507    <b>is</b>
1508       <b>function</b> <FONT COLOR=red><A NAME="1504_16">Prefresh</A></FONT>
1509         (<FONT COLOR=red><A NAME="1505_10">Pad</A></FONT>                      : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1510          <FONT COLOR=red><A NAME="1506_10">Source_Top_Row</A></FONT>           : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1511          <FONT COLOR=red><A NAME="1507_10">Source_Left_Column</A></FONT>       : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1512          <FONT COLOR=red><A NAME="1508_10">Destination_Top_Row</A></FONT>      : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1513          <FONT COLOR=red><A NAME="1509_10">Destination_Left_Column</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1514          <FONT COLOR=red><A NAME="1510_10">Destination_Bottom_Row</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1515          <FONT COLOR=red><A NAME="1511_10">Destination_Right_Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1516       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1504_16">Prefresh</A>, "prefresh");
1517    <b>begin</b>
1518       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1504_16">Prefresh</A> (<A HREF="terminal_interface-curses__ads.htm#1277_7">Pad</A>,
1519                    <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1278_7">Source_Top_Row</A>),
1520                    <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1279_7">Source_Left_Column</A>),
1521                    <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1280_7">Destination_Top_Row</A>),
1522                    <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1281_7">Destination_Left_Column</A>),
1523                    <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1282_7">Destination_Bottom_Row</A>),
1524                    <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1283_7">Destination_Right_Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1525          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1526       <b>end</b> <b>if</b>;
1527    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1276_14">Refresh</A><A HREF="terminal_interface-curses__ads.htm#1276_14">;</A>
1528
1529    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1288_14">Refresh_Without_Update</A><FONT COLOR=red><A NAME="1525_14"></A></FONT>
1530      (<A HREF="terminal_interface-curses__ads.htm#1289_7">Pad</A>                      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1531       <A HREF="terminal_interface-curses__ads.htm#1290_7">Source_Top_Row</A>           : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
1532       <A HREF="terminal_interface-curses__ads.htm#1291_7">Source_Left_Column</A>       : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>;
1533       <A HREF="terminal_interface-curses__ads.htm#1292_7">Destination_Top_Row</A>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
1534       <A HREF="terminal_interface-curses__ads.htm#1293_7">Destination_Left_Column</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>;
1535       <A HREF="terminal_interface-curses__ads.htm#1294_7">Destination_Bottom_Row</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
1536       <A HREF="terminal_interface-curses__ads.htm#1295_7">Destination_Right_Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>)
1537    <b>is</b>
1538       <b>function</b> <FONT COLOR=red><A NAME="1534_16">Pnoutrefresh</A></FONT>
1539         (<FONT COLOR=red><A NAME="1535_10">Pad</A></FONT>                      : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1540          <FONT COLOR=red><A NAME="1536_10">Source_Top_Row</A></FONT>           : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1541          <FONT COLOR=red><A NAME="1537_10">Source_Left_Column</A></FONT>       : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1542          <FONT COLOR=red><A NAME="1538_10">Destination_Top_Row</A></FONT>      : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1543          <FONT COLOR=red><A NAME="1539_10">Destination_Left_Column</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1544          <FONT COLOR=red><A NAME="1540_10">Destination_Bottom_Row</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1545          <FONT COLOR=red><A NAME="1541_10">Destination_Right_Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1546       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1534_16">Pnoutrefresh</A>, "pnoutrefresh");
1547    <b>begin</b>
1548       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1534_16">Pnoutrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#1289_7">Pad</A>,
1549                        <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1290_7">Source_Top_Row</A>),
1550                        <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1291_7">Source_Left_Column</A>),
1551                        <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1292_7">Destination_Top_Row</A>),
1552                        <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1293_7">Destination_Left_Column</A>),
1553                        <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1294_7">Destination_Bottom_Row</A>),
1554                        <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1295_7">Destination_Right_Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1555          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1556       <b>end</b> <b>if</b>;
1557    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1288_14">Refresh_Without_Update</A><A HREF="terminal_interface-curses__ads.htm#1288_14">;</A>
1558
1559    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1300_14">Add_Character_To_Pad_And_Echo_It</A><FONT COLOR=red><A NAME="1555_14"></A></FONT>
1560      (<A HREF="terminal_interface-curses__ads.htm#1301_7">Pad</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1561       <A HREF="terminal_interface-curses__ads.htm#1302_7">Ch</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>)
1562    <b>is</b>
1563       <b>function</b> <FONT COLOR=red><A NAME="1559_16">Pechochar</A></FONT> (<FONT COLOR=red><A NAME="1559_27">Pad</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1559_41">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>)
1564                           <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1565       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1559_16">Pechochar</A>, "pechochar");
1566    <b>begin</b>
1567       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1559_16">Pechochar</A> (<A HREF="terminal_interface-curses__ads.htm#1301_7">Pad</A>, <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#1302_7">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1568          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1569       <b>end</b> <b>if</b>;
1570    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1300_14">Add_Character_To_Pad_And_Echo_It</A><A HREF="terminal_interface-curses__ads.htm#1300_14">;</A>
1571
1572    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1305_14">Add_Character_To_Pad_And_Echo_It</A><FONT COLOR=red><A NAME="1568_14"></A></FONT>
1573      (<A HREF="terminal_interface-curses__ads.htm#1306_7">Pad</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1574       <A HREF="terminal_interface-curses__ads.htm#1307_7">Ch</A>  : <b>in</b> Character)
1575    <b>is</b>
1576    <b>begin</b>
1577       <A HREF="terminal_interface-curses__ads.htm#1300_14">Add_Character_To_Pad_And_Echo_It</A>
1578         (<A HREF="terminal_interface-curses__ads.htm#1306_7">Pad</A>,
1579          <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>'(Ch    =&gt; <A HREF="terminal_interface-curses__ads.htm#1307_7">Ch</A>,
1580                                Color =&gt; <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>'First,
1581                                Attr  =&gt; <A HREF="terminal_interface-curses__ads.htm#349_4">Normal_Video</A>));
1582    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1305_14">Add_Character_To_Pad_And_Echo_It</A><A HREF="terminal_interface-curses__ads.htm#1305_14">;</A>
1583 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
1584    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1315_14">Scroll</A><FONT COLOR=red><A NAME="1580_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1315_22">Win</A>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1585                      <A HREF="terminal_interface-curses__ads.htm#1316_22">Amount</A> : <b>in</b> Integer := 1)
1586    <b>is</b>
1587       <b>function</b> <FONT COLOR=red><A NAME="1583_16">Wscrl</A></FONT> (<FONT COLOR=red><A NAME="1583_23">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1583_37">N</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1588       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1583_16">Wscrl</A>, "wscrl");
1589
1590    <b>begin</b>
1591       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1583_16">Wscrl</A> (<A HREF="terminal_interface-curses__ads.htm#1315_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1316_22">Amount</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1592          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1593       <b>end</b> <b>if</b>;
1594    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1315_14">Scroll</A><A HREF="terminal_interface-curses__ads.htm#1315_14">;</A>
1595
1596 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
1597    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1327_14">Delete_Character</A><FONT COLOR=red><A NAME="1593_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1327_32">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>)
1598    <b>is</b>
1599       <b>function</b> <FONT COLOR=red><A NAME="1595_16">Wdelch</A></FONT> (<FONT COLOR=red><A NAME="1595_24">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1600       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1595_16">Wdelch</A>, "wdelch");
1601    <b>begin</b>
1602       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1595_16">Wdelch</A> (<A HREF="terminal_interface-curses__ads.htm#1327_32">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1603          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1604       <b>end</b> <b>if</b>;
1605    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1327_14">Delete_Character</A><A HREF="terminal_interface-curses__ads.htm#1327_14">;</A>
1606
1607    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1332_14">Delete_Character</A><FONT COLOR=red><A NAME="1603_14"></A></FONT>
1608      (<A HREF="terminal_interface-curses__ads.htm#1333_7">Win</A>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1609       <A HREF="terminal_interface-curses__ads.htm#1334_7">Line</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
1610       <A HREF="terminal_interface-curses__ads.htm#1335_7">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>)
1611    <b>is</b>
1612       <b>function</b> <FONT COLOR=red><A NAME="1608_16">Mvwdelch</A></FONT> (<FONT COLOR=red><A NAME="1608_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1613                          <FONT COLOR=red><A NAME="1609_26">Lin</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1614                          <FONT COLOR=red><A NAME="1610_26">Col</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1615       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1608_16">Mvwdelch</A>, "mvwdelch");
1616    <b>begin</b>
1617       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1608_16">Mvwdelch</A> (<A HREF="terminal_interface-curses__ads.htm#1333_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1334_7">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1335_7">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1618          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1619       <b>end</b> <b>if</b>;
1620    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1332_14">Delete_Character</A><A HREF="terminal_interface-curses__ads.htm#1332_14">;</A>
1621 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
1622    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1345_13">Peek</A> (<A HREF="terminal_interface-curses__ads.htm#1345_19">Win</A> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>)
1623      <b>return</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>
1624    <b>is</b>
1625       <b>function</b> <FONT COLOR=red><A NAME="1621_16">Winch</A></FONT> (<FONT COLOR=red><A NAME="1621_23">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
1626       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1621_16">Winch</A>, "winch");
1627    <b>begin</b>
1628       <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#1621_16">Winch</A> (<A HREF="terminal_interface-curses__ads.htm#1345_19">Win</A>));
1629    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1345_13">Peek</A><A HREF="terminal_interface-curses__ads.htm#1345_13">;</A>
1630
1631    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1351_13">Peek</A>
1632      (<A HREF="terminal_interface-curses__ads.htm#1352_7">Win</A>    : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1633       <A HREF="terminal_interface-curses__ads.htm#1353_7">Line</A>   : <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
1634       <A HREF="terminal_interface-curses__ads.htm#1354_7">Column</A> : <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>
1635    <b>is</b>
1636       <b>function</b> <FONT COLOR=red><A NAME="1632_16">Mvwinch</A></FONT> (<FONT COLOR=red><A NAME="1632_25">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1637                         <FONT COLOR=red><A NAME="1633_25">Lin</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1638                         <FONT COLOR=red><A NAME="1634_25">Col</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
1639       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1632_16">Mvwinch</A>, "mvwinch");
1640    <b>begin</b>
1641       <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#1632_16">Mvwinch</A> (<A HREF="terminal_interface-curses__ads.htm#1352_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1353_7">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1354_7">Column</A>)));
1642    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1351_13">Peek</A><A HREF="terminal_interface-curses__ads.htm#1351_13">;</A>
1643 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
1644    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1364_14">Insert</A><FONT COLOR=red><A NAME="1640_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1364_22">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1645                      <A HREF="terminal_interface-curses__ads.htm#1365_22">Ch</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>)
1646    <b>is</b>
1647       <b>function</b> <FONT COLOR=red><A NAME="1643_16">Winsch</A></FONT> (<FONT COLOR=red><A NAME="1643_24">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1643_38">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1648       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1643_16">Winsch</A>, "winsch");
1649    <b>begin</b>
1650       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1643_16">Winsch</A> (<A HREF="terminal_interface-curses__ads.htm#1364_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#1365_22">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1651          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1652       <b>end</b> <b>if</b>;
1653    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1364_14">Insert</A><A HREF="terminal_interface-curses__ads.htm#1364_14">;</A>
1654
1655    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1370_14">Insert</A><FONT COLOR=red><A NAME="1651_14"></A></FONT>
1656      (<A HREF="terminal_interface-curses__ads.htm#1370_22">Win</A>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1657       <A HREF="terminal_interface-curses__ads.htm#1371_22">Line</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
1658       <A HREF="terminal_interface-curses__ads.htm#1372_22">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>;
1659       <A HREF="terminal_interface-curses__ads.htm#1373_22">Ch</A>     : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>)
1660    <b>is</b>
1661       <b>function</b> <FONT COLOR=red><A NAME="1657_16">Mvwinsch</A></FONT> (<FONT COLOR=red><A NAME="1657_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1662                          <FONT COLOR=red><A NAME="1658_26">Lin</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1663                          <FONT COLOR=red><A NAME="1659_26">Col</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1664                          <FONT COLOR=red><A NAME="1660_26">Ch</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1665       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1657_16">Mvwinsch</A>, "mvwinsch");
1666    <b>begin</b>
1667       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1657_16">Mvwinsch</A> (<A HREF="terminal_interface-curses__ads.htm#1370_22">Win</A>,
1668                    <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1371_22">Line</A>),
1669                    <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1372_22">Column</A>),
1670                    <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#1373_22">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1671          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1672       <b>end</b> <b>if</b>;
1673    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1370_14">Insert</A><A HREF="terminal_interface-curses__ads.htm#1370_14">;</A>
1674 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
1675    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1382_14">Insert</A><FONT COLOR=red><A NAME="1671_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1382_22">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1676                      <A HREF="terminal_interface-curses__ads.htm#1383_22">Str</A> : <b>in</b> String;
1677                      <A HREF="terminal_interface-curses__ads.htm#1384_22">Len</A> : <b>in</b> Integer := -1)
1678    <b>is</b>
1679       <b>function</b> <FONT COLOR=red><A NAME="1675_16">Winsnstr</A></FONT> (<FONT COLOR=red><A NAME="1675_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1680                          <FONT COLOR=red><A NAME="1676_26">Str</A></FONT> : char_array;
1681                          <FONT COLOR=red><A NAME="1677_26">Len</A></FONT> : Integer := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1682       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1675_16">Winsnstr</A>, "winsnstr");
1683
1684       <FONT COLOR=red><A NAME="1680_7">Txt</A></FONT>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#1383_22">Str</A>'Length);
1685       <FONT COLOR=red><A NAME="1681_7">Length</A></FONT> : size_t;
1686    <b>begin</b>
1687       To_C (<A HREF="terminal_interface-curses__ads.htm#1383_22">Str</A>, <A HREF="terminal_interface-curses__adb.htm#1680_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#1681_7">Length</A>);
1688       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1675_16">Winsnstr</A> (<A HREF="terminal_interface-curses__ads.htm#1382_22">Win</A>, <A HREF="terminal_interface-curses__adb.htm#1680_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#1384_22">Len</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1689          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1690       <b>end</b> <b>if</b>;
1691    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1382_14">Insert</A><A HREF="terminal_interface-curses__ads.htm#1382_14">;</A>
1692
1693    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1391_14">Insert</A><FONT COLOR=red><A NAME="1689_14"></A></FONT>
1694      (<A HREF="terminal_interface-curses__ads.htm#1391_22">Win</A>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1695       <A HREF="terminal_interface-curses__ads.htm#1392_22">Line</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
1696       <A HREF="terminal_interface-curses__ads.htm#1393_22">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>;
1697       <A HREF="terminal_interface-curses__ads.htm#1394_22">Str</A>    : <b>in</b> String;
1698       <A HREF="terminal_interface-curses__ads.htm#1395_22">Len</A>    : <b>in</b> Integer := -1)
1699    <b>is</b>
1700       <b>function</b> <FONT COLOR=red><A NAME="1696_16">Mvwinsnstr</A></FONT> (<FONT COLOR=red><A NAME="1696_28">Win</A></FONT>    : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1701                            <FONT COLOR=red><A NAME="1697_28">Line</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1702                            <FONT COLOR=red><A NAME="1698_28">Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1703                            <FONT COLOR=red><A NAME="1699_28">Str</A></FONT>    : char_array;
1704                            <FONT COLOR=red><A NAME="1700_28">Len</A></FONT>    : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1705       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1696_16">Mvwinsnstr</A>, "mvwinsnstr");
1706
1707       <FONT COLOR=red><A NAME="1703_7">Txt</A></FONT>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#1394_22">Str</A>'Length);
1708       <FONT COLOR=red><A NAME="1704_7">Length</A></FONT> : size_t;
1709    <b>begin</b>
1710       To_C (<A HREF="terminal_interface-curses__ads.htm#1394_22">Str</A>, <A HREF="terminal_interface-curses__adb.htm#1703_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#1704_7">Length</A>);
1711       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1696_16">Mvwinsnstr</A> (<A HREF="terminal_interface-curses__ads.htm#1391_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1392_22">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1393_22">Column</A>), <A HREF="terminal_interface-curses__adb.htm#1703_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1395_22">Len</A>))
1712         = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1713          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1714       <b>end</b> <b>if</b>;
1715    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1391_14">Insert</A><A HREF="terminal_interface-curses__ads.htm#1391_14">;</A>
1716 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
1717    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1407_14">Peek</A><FONT COLOR=red><A NAME="1713_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1407_20">Win</A> : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1718                    <A HREF="terminal_interface-curses__ads.htm#1408_20">Str</A> : <b>out</b> String;
1719                    <A HREF="terminal_interface-curses__ads.htm#1409_20">Len</A> : <b>in</b>  Integer := -1)
1720    <b>is</b>
1721       <b>function</b> <FONT COLOR=red><A NAME="1717_16">Winnstr</A></FONT> (<FONT COLOR=red><A NAME="1717_25">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1722                         <FONT COLOR=red><A NAME="1718_25">Str</A></FONT> : char_array;
1723                         <FONT COLOR=red><A NAME="1719_25">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1724       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1717_16">Winnstr</A>, "winnstr");
1725
1726       <FONT COLOR=red><A NAME="1722_7">N</A></FONT>   : Integer := <A HREF="terminal_interface-curses__ads.htm#1409_20">Len</A>;
1727       <FONT COLOR=red><A NAME="1723_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#1408_20">Str</A>'Length);
1728       <FONT COLOR=red><A NAME="1724_7">Cnt</A></FONT> : Natural;
1729    <b>begin</b>
1730       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1722_7">N</A> &lt; 0 <b>then</b>
1731          <A HREF="terminal_interface-curses__adb.htm#1722_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#1408_20">Str</A>'Length;
1732       <b>end</b> <b>if</b>;
1733       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1722_7">N</A> &gt; <A HREF="terminal_interface-curses__ads.htm#1408_20">Str</A>'Length <b>then</b>
1734          <b>raise</b> Constraint_Error;
1735       <b>end</b> <b>if</b>;
1736       <A HREF="terminal_interface-curses__adb.htm#1723_7">Txt</A> (0) := <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.char'First;
1737       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1717_16">Winnstr</A> (<A HREF="terminal_interface-curses__ads.htm#1407_20">Win</A>, <A HREF="terminal_interface-curses__adb.htm#1723_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#1722_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1738          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1739       <b>end</b> <b>if</b>;
1740       To_Ada (<A HREF="terminal_interface-curses__adb.htm#1723_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#1408_20">Str</A>, <A HREF="terminal_interface-curses__adb.htm#1724_7">Cnt</A>, True);
1741       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1724_7">Cnt</A> &lt; <A HREF="terminal_interface-curses__ads.htm#1408_20">Str</A>'Length <b>then</b>
1742          <A HREF="terminal_interface-curses__ads.htm#1408_20">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#1408_20">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#1724_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#1408_20">Str</A>'Last) := (<b>others</b> =&gt; ' ');
1743       <b>end</b> <b>if</b>;
1744    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1407_14">Peek</A><A HREF="terminal_interface-curses__ads.htm#1407_14">;</A>
1745
1746    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1416_14">Peek</A><FONT COLOR=red><A NAME="1742_14"></A></FONT>
1747      (<A HREF="terminal_interface-curses__ads.htm#1416_20">Win</A>    : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1748       <A HREF="terminal_interface-curses__ads.htm#1417_20">Line</A>   : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
1749       <A HREF="terminal_interface-curses__ads.htm#1418_20">Column</A> : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>;
1750       <A HREF="terminal_interface-curses__ads.htm#1419_20">Str</A>    : <b>out</b> String;
1751       <A HREF="terminal_interface-curses__ads.htm#1420_20">Len</A>    : <b>in</b>  Integer := -1)
1752    <b>is</b>
1753    <b>begin</b>
1754       <A HREF="terminal_interface-curses__ads.htm#504_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#1416_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1417_20">Line</A>, <A HREF="terminal_interface-curses__ads.htm#1418_20">Column</A>);
1755       <A HREF="terminal_interface-curses__ads.htm#1407_14">Peek</A> (<A HREF="terminal_interface-curses__ads.htm#1416_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1419_20">Str</A>, <A HREF="terminal_interface-curses__ads.htm#1420_20">Len</A>);
1756    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1416_14">Peek</A><A HREF="terminal_interface-curses__ads.htm#1416_14">;</A>
1757 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
1758    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1431_14">Peek</A><FONT COLOR=red><A NAME="1754_14"></A></FONT>
1759      (<A HREF="terminal_interface-curses__ads.htm#1431_20">Win</A> : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1760       <A HREF="terminal_interface-curses__ads.htm#1432_20">Str</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#375_9">Attributed_String</A>;
1761       <A HREF="terminal_interface-curses__ads.htm#1433_20">Len</A> : <b>in</b>  Integer := -1)
1762    <b>is</b>
1763       <b>function</b> <FONT COLOR=red><A NAME="1759_16">Winchnstr</A></FONT> (<FONT COLOR=red><A NAME="1759_27">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1764                           <FONT COLOR=red><A NAME="1760_27">Str</A></FONT> : <A HREF="terminal_interface-curses__adb.htm#58_9">chtype_array</A>;             <FONT COLOR=green><EM>-- out</EM></FONT>
1765                           <FONT COLOR=red><A NAME="1761_27">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1766       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1759_16">Winchnstr</A>, "winchnstr");
1767
1768       <FONT COLOR=red><A NAME="1764_7">N</A></FONT>   : Integer := <A HREF="terminal_interface-curses__ads.htm#1433_20">Len</A>;
1769       <FONT COLOR=red><A NAME="1765_7">Txt</A></FONT> : <A HREF="terminal_interface-curses__adb.htm#58_9">chtype_array</A> (0 .. <A HREF="terminal_interface-curses__ads.htm#1432_20">Str</A>'Length) := (0 =&gt; <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>);
1770       <FONT COLOR=red><A NAME="1766_7">Cnt</A></FONT> : Natural := 0;
1771    <b>begin</b>
1772       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1764_7">N</A> &lt; 0 <b>then</b>
1773          <A HREF="terminal_interface-curses__adb.htm#1764_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#1432_20">Str</A>'Length;
1774       <b>end</b> <b>if</b>;
1775       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1764_7">N</A> &gt; <A HREF="terminal_interface-curses__ads.htm#1432_20">Str</A>'Length <b>then</b>
1776          <b>raise</b> Constraint_Error;
1777       <b>end</b> <b>if</b>;
1778       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1759_16">Winchnstr</A> (<A HREF="terminal_interface-curses__ads.htm#1431_20">Win</A>, <A HREF="terminal_interface-curses__adb.htm#1765_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#1764_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1779          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1780       <b>end</b> <b>if</b>;
1781       <b>for</b> <FONT COLOR=red><A NAME="1777_11">To</A></FONT> <b>in</b> <A HREF="terminal_interface-curses__ads.htm#1432_20">Str</A>'<b>Range</b> <b>loop</b>
1782          <b>exit</b> <b>when</b> <A HREF="terminal_interface-curses__adb.htm#1765_7">Txt</A> (size_t (<A HREF="terminal_interface-curses__adb.htm#1766_7">Cnt</A>)) = <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>;
1783          <A HREF="terminal_interface-curses__ads.htm#1432_20">Str</A> (<A HREF="terminal_interface-curses__adb.htm#1777_11">To</A>) := <A HREF="terminal_interface-curses__adb.htm#1765_7">Txt</A> (size_t (<A HREF="terminal_interface-curses__adb.htm#1766_7">Cnt</A>));
1784          <A HREF="terminal_interface-curses__adb.htm#1766_7">Cnt</A> := <A HREF="terminal_interface-curses__adb.htm#1766_7">Cnt</A> + 1;
1785       <b>end</b> <b>loop</b>;
1786       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1766_7">Cnt</A> &lt; <A HREF="terminal_interface-curses__ads.htm#1432_20">Str</A>'Length <b>then</b>
1787          <A HREF="terminal_interface-curses__ads.htm#1432_20">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#1432_20">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#1766_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#1432_20">Str</A>'Last) :=
1788            (<b>others</b> =&gt; (Ch =&gt; ' ',
1789                        Color =&gt; <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>'First,
1790                        Attr =&gt; <A HREF="terminal_interface-curses__ads.htm#349_4">Normal_Video</A>));
1791       <b>end</b> <b>if</b>;
1792    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1431_14">Peek</A><A HREF="terminal_interface-curses__ads.htm#1431_14">;</A>
1793
1794    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1440_14">Peek</A><FONT COLOR=red><A NAME="1790_14"></A></FONT>
1795      (<A HREF="terminal_interface-curses__ads.htm#1440_20">Win</A>    : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1796       <A HREF="terminal_interface-curses__ads.htm#1441_20">Line</A>   : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
1797       <A HREF="terminal_interface-curses__ads.htm#1442_20">Column</A> : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>;
1798       <A HREF="terminal_interface-curses__ads.htm#1443_20">Str</A>    : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#375_9">Attributed_String</A>;
1799       <A HREF="terminal_interface-curses__ads.htm#1444_20">Len</A>    : <b>in</b> Integer := -1)
1800    <b>is</b>
1801    <b>begin</b>
1802       <A HREF="terminal_interface-curses__ads.htm#504_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#1440_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1441_20">Line</A>, <A HREF="terminal_interface-curses__ads.htm#1442_20">Column</A>);
1803       <A HREF="terminal_interface-curses__ads.htm#1431_14">Peek</A> (<A HREF="terminal_interface-curses__ads.htm#1440_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1443_20">Str</A>, <A HREF="terminal_interface-curses__ads.htm#1444_20">Len</A>);
1804    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1440_14">Peek</A><A HREF="terminal_interface-curses__ads.htm#1440_14">;</A>
1805 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
1806    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1456_14">Get</A><FONT COLOR=red><A NAME="1802_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1456_19">Win</A> : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1807                   <A HREF="terminal_interface-curses__ads.htm#1457_19">Str</A> : <b>out</b> String;
1808                   <A HREF="terminal_interface-curses__ads.htm#1458_19">Len</A> : <b>in</b>  Integer := -1)
1809    <b>is</b>
1810       <b>function</b> <FONT COLOR=red><A NAME="1806_16">Wgetnstr</A></FONT> (<FONT COLOR=red><A NAME="1806_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>;
1811                          <FONT COLOR=red><A NAME="1807_26">Str</A></FONT> : char_array;
1812                          <FONT COLOR=red><A NAME="1808_26">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1813       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1806_16">Wgetnstr</A>, "wgetnstr");
1814
1815       <FONT COLOR=red><A NAME="1811_7">N</A></FONT>   : Integer := <A HREF="terminal_interface-curses__ads.htm#1458_19">Len</A>;
1816       <FONT COLOR=red><A NAME="1812_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#1457_19">Str</A>'Length);
1817       <FONT COLOR=red><A NAME="1813_7">Cnt</A></FONT> : Natural;
1818    <b>begin</b>
1819       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1811_7">N</A> &lt; 0 <b>then</b>
1820          <A HREF="terminal_interface-curses__adb.htm#1811_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#1457_19">Str</A>'Length;
1821       <b>end</b> <b>if</b>;
1822       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1811_7">N</A> &gt; <A HREF="terminal_interface-curses__ads.htm#1457_19">Str</A>'Length <b>then</b>
1823          <b>raise</b> Constraint_Error;
1824       <b>end</b> <b>if</b>;
1825       <A HREF="terminal_interface-curses__adb.htm#1812_7">Txt</A> (0) := <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.char'First;
1826       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1806_16">Wgetnstr</A> (<A HREF="terminal_interface-curses__ads.htm#1456_19">Win</A>, <A HREF="terminal_interface-curses__adb.htm#1812_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#1811_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1827          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1828       <b>end</b> <b>if</b>;
1829       To_Ada (<A HREF="terminal_interface-curses__adb.htm#1812_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#1457_19">Str</A>, <A HREF="terminal_interface-curses__adb.htm#1813_7">Cnt</A>, True);
1830       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1813_7">Cnt</A> &lt; <A HREF="terminal_interface-curses__ads.htm#1457_19">Str</A>'Length <b>then</b>
1831          <A HREF="terminal_interface-curses__ads.htm#1457_19">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#1457_19">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#1813_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#1457_19">Str</A>'Last) := (<b>others</b> =&gt; ' ');
1832       <b>end</b> <b>if</b>;
1833    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1456_14">Get</A><A HREF="terminal_interface-curses__ads.htm#1456_14">;</A>
1834
1835    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1467_14">Get</A><FONT COLOR=red><A NAME="1831_14"></A></FONT>
1836      (<A HREF="terminal_interface-curses__ads.htm#1467_19">Win</A>    : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>;
1837       <A HREF="terminal_interface-curses__ads.htm#1468_19">Line</A>   : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>;
1838       <A HREF="terminal_interface-curses__ads.htm#1469_19">Column</A> : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>;
1839       <A HREF="terminal_interface-curses__ads.htm#1470_19">Str</A>    : <b>out</b> String;
1840       <A HREF="terminal_interface-curses__ads.htm#1471_19">Len</A>    : <b>in</b>  Integer := -1)
1841    <b>is</b>
1842    <b>begin</b>
1843       <A HREF="terminal_interface-curses__ads.htm#504_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#1467_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1468_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#1469_19">Column</A>);
1844       <A HREF="terminal_interface-curses__ads.htm#1456_14">Get</A> (<A HREF="terminal_interface-curses__ads.htm#1467_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1470_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#1471_19">Len</A>);
1845    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1467_14">Get</A><A HREF="terminal_interface-curses__ads.htm#1467_14">;</A>
1846 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
1847    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1492_14">Init_Soft_Label_Keys</A><FONT COLOR=red><A NAME="1843_14"></A></FONT>
1848      (<A HREF="terminal_interface-curses__ads.htm#1493_7">Format</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#1484_9">Soft_Label_Key_Format</A> := <A HREF="terminal_interface-curses__ads.htm#1484_35">Three_Two_Three</A>)
1849    <b>is</b>
1850       <b>function</b> <FONT COLOR=red><A NAME="1846_16">Slk_Init</A></FONT> (<FONT COLOR=red><A NAME="1846_26">Fmt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1851       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1846_16">Slk_Init</A>, "slk_init");
1852    <b>begin</b>
1853       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1846_16">Slk_Init</A> (<A HREF="terminal_interface-curses__ads.htm#1484_9">Soft_Label_Key_Format</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#1493_7">Format</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1854          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1855       <b>end</b> <b>if</b>;
1856    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1492_14">Init_Soft_Label_Keys</A><A HREF="terminal_interface-curses__ads.htm#1492_14">;</A>
1857
1858    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1498_14">Set_Soft_Label_Key</A><FONT COLOR=red><A NAME="1854_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1498_34">Label</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#1488_9">Label_Number</A>;
1859                                  <A HREF="terminal_interface-curses__ads.htm#1499_34">Text</A>  : <b>in</b> String;
1860                                  <A HREF="terminal_interface-curses__ads.htm#1500_34">Fmt</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#1489_9">Label_Justification</A> := <A HREF="terminal_interface-curses__ads.htm#1489_33">Left</A>)
1861    <b>is</b>
1862       <b>function</b> <FONT COLOR=red><A NAME="1858_16">Slk_Set</A></FONT> (<FONT COLOR=red><A NAME="1858_25">Label</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1863                         <FONT COLOR=red><A NAME="1859_25">Txt</A></FONT>   : char_array;
1864                         <FONT COLOR=red><A NAME="1860_25">Fmt</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1865       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1858_16">Slk_Set</A>, "slk_set");
1866
1867       <FONT COLOR=red><A NAME="1863_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#1499_34">Text</A>'Length);
1868       <FONT COLOR=red><A NAME="1864_7">Len</A></FONT> : size_t;
1869    <b>begin</b>
1870       To_C (<A HREF="terminal_interface-curses__ads.htm#1499_34">Text</A>, <A HREF="terminal_interface-curses__adb.htm#1863_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#1864_7">Len</A>);
1871       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1858_16">Slk_Set</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1498_34">Label</A>), <A HREF="terminal_interface-curses__adb.htm#1863_7">Txt</A>,
1872                   <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1489_9">Label_Justification</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#1500_34">Fmt</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1873          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1874       <b>end</b> <b>if</b>;
1875    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1498_14">Set_Soft_Label_Key</A><A HREF="terminal_interface-curses__ads.htm#1498_14">;</A>
1876
1877    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1505_14">Refresh_Soft_Label_Keys</A><FONT COLOR=red><A NAME="1873_14"></A></FONT>
1878    <b>is</b>
1879       <b>function</b> <FONT COLOR=red><A NAME="1875_16">Slk_Refresh</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1880       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1875_16">Slk_Refresh</A>, "slk_refresh");
1881    <b>begin</b>
1882       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1875_16">Slk_Refresh</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1883          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1884       <b>end</b> <b>if</b>;
1885    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1505_14">Refresh_Soft_Label_Keys</A><A HREF="terminal_interface-curses__ads.htm#1505_14">;</A>
1886
1887    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1510_14">Refresh_Soft_Label_Keys_Without_Update</A><FONT COLOR=red><A NAME="1883_14"></A></FONT>
1888    <b>is</b>
1889       <b>function</b> <FONT COLOR=red><A NAME="1885_16">Slk_Noutrefresh</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1890       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1885_16">Slk_Noutrefresh</A>, "slk_noutrefresh");
1891    <b>begin</b>
1892       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1885_16">Slk_Noutrefresh</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1893          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1894       <b>end</b> <b>if</b>;
1895    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1510_14">Refresh_Soft_Label_Keys_Without_Update</A><A HREF="terminal_interface-curses__ads.htm#1510_14">;</A>
1896
1897    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1515_14">Get_Soft_Label_Key</A><FONT COLOR=red><A NAME="1893_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1515_34">Label</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#1488_9">Label_Number</A>;
1898                                  <A HREF="terminal_interface-curses__ads.htm#1516_34">Text</A>  : <b>out</b> String)
1899    <b>is</b>
1900       <b>function</b> <FONT COLOR=red><A NAME="1896_16">Slk_Label</A></FONT> (<FONT COLOR=red><A NAME="1896_27">Label</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> chars_ptr;
1901       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1896_16">Slk_Label</A>, "slk_label");
1902    <b>begin</b>
1903       <A HREF="terminal_interface-curses-aux__ads.htm#116_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#1896_16">Slk_Label</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1515_34">Label</A>)), <A HREF="terminal_interface-curses__ads.htm#1516_34">Text</A>);
1904    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1515_14">Get_Soft_Label_Key</A><A HREF="terminal_interface-curses__ads.htm#1515_14">;</A>
1905
1906    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1520_13">Get_Soft_Label_Key</A> (<A HREF="terminal_interface-curses__ads.htm#1520_33">Label</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#1488_9">Label_Number</A>) <b>return</b> String
1907    <b>is</b>
1908       <b>function</b> <FONT COLOR=red><A NAME="1904_16">Slk_Label</A></FONT> (<FONT COLOR=red><A NAME="1904_27">Label</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> chars_ptr;
1909       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1904_16">Slk_Label</A>, "slk_label");
1910    <b>begin</b>
1911       <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#1904_16">Slk_Label</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1520_33">Label</A>)));
1912    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1520_13">Get_Soft_Label_Key</A><A HREF="terminal_interface-curses__ads.htm#1520_13">;</A>
1913
1914    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1526_14">Clear_Soft_Label_Keys</A><FONT COLOR=red><A NAME="1910_14"></A></FONT>
1915    <b>is</b>
1916       <b>function</b> <FONT COLOR=red><A NAME="1912_16">Slk_Clear</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1917       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1912_16">Slk_Clear</A>, "slk_clear");
1918    <b>begin</b>
1919       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1912_16">Slk_Clear</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1920          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1921       <b>end</b> <b>if</b>;
1922    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1526_14">Clear_Soft_Label_Keys</A><A HREF="terminal_interface-curses__ads.htm#1526_14">;</A>
1923
1924    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1531_14">Restore_Soft_Label_Keys</A><FONT COLOR=red><A NAME="1920_14"></A></FONT>
1925    <b>is</b>
1926       <b>function</b> <FONT COLOR=red><A NAME="1922_16">Slk_Restore</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1927       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1922_16">Slk_Restore</A>, "slk_restore");
1928    <b>begin</b>
1929       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1922_16">Slk_Restore</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1930          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1931       <b>end</b> <b>if</b>;
1932    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1531_14">Restore_Soft_Label_Keys</A><A HREF="terminal_interface-curses__ads.htm#1531_14">;</A>
1933
1934    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1536_14">Touch_Soft_Label_Keys</A><FONT COLOR=red><A NAME="1930_14"></A></FONT>
1935    <b>is</b>
1936       <b>function</b> <FONT COLOR=red><A NAME="1932_16">Slk_Touch</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1937       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1932_16">Slk_Touch</A>, "slk_touch");
1938    <b>begin</b>
1939       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1932_16">Slk_Touch</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1940          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1941       <b>end</b> <b>if</b>;
1942    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1536_14">Touch_Soft_Label_Keys</A><A HREF="terminal_interface-curses__ads.htm#1536_14">;</A>
1943
1944    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1541_14">Switch_Soft_Label_Key_Attributes</A><FONT COLOR=red><A NAME="1940_14"></A></FONT>
1945      (<A HREF="terminal_interface-curses__ads.htm#1542_7">Attr</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#305_9">Character_Attribute_Set</A>;
1946       <A HREF="terminal_interface-curses__ads.htm#1543_7">On</A>   : <b>in</b> Boolean := True)
1947    <b>is</b>
1948       <b>function</b> <FONT COLOR=red><A NAME="1944_16">Slk_Attron</A></FONT> (<FONT COLOR=red><A NAME="1944_28">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1949       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1944_16">Slk_Attron</A>, "slk_attron");
1950       <b>function</b> <FONT COLOR=red><A NAME="1946_16">Slk_Attroff</A></FONT> (<FONT COLOR=red><A NAME="1946_29">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1951       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1946_16">Slk_Attroff</A>, "slk_attroff");
1952
1953       <FONT COLOR=red><A NAME="1949_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1954       <FONT COLOR=red><A NAME="1950_7">Ch</A></FONT>  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := (Ch    =&gt; Character'First,
1955                                               Attr  =&gt; <A HREF="terminal_interface-curses__ads.htm#1542_7">Attr</A>,
1956                                               Color =&gt; <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>'First);
1957    <b>begin</b>
1958       <b>if</b> <A HREF="terminal_interface-curses__ads.htm#1543_7">On</A> <b>then</b>
1959          <A HREF="terminal_interface-curses__adb.htm#1949_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#1944_16">Slk_Attron</A>  (<A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__adb.htm#1950_7">Ch</A>));
1960       <b>else</b>
1961          <A HREF="terminal_interface-curses__adb.htm#1949_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#1946_16">Slk_Attroff</A> (<A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__adb.htm#1950_7">Ch</A>));
1962       <b>end</b> <b>if</b>;
1963       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1949_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1964          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1965       <b>end</b> <b>if</b>;
1966    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1541_14">Switch_Soft_Label_Key_Attributes</A><A HREF="terminal_interface-curses__ads.htm#1541_14">;</A>
1967
1968    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1549_14">Set_Soft_Label_Key_Attributes</A><FONT COLOR=red><A NAME="1964_14"></A></FONT>
1969      (<A HREF="terminal_interface-curses__ads.htm#1550_7">Attr</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#305_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#349_4">Normal_Video</A>;
1970       <A HREF="terminal_interface-curses__ads.htm#1551_7">Color</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>'First)
1971    <b>is</b>
1972       <b>function</b> <FONT COLOR=red><A NAME="1968_16">Slk_Attrset</A></FONT> (<FONT COLOR=red><A NAME="1968_29">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
1973       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1968_16">Slk_Attrset</A>, "slk_attrset");
1974
1975       <FONT COLOR=red><A NAME="1971_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := (Ch    =&gt; Character'First,
1976                                              Attr  =&gt; <A HREF="terminal_interface-curses__ads.htm#1550_7">Attr</A>,
1977                                              Color =&gt; <A HREF="terminal_interface-curses__ads.htm#1551_7">Color</A>);
1978    <b>begin</b>
1979       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1968_16">Slk_Attrset</A> (<A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__adb.htm#1971_7">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
1980          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
1981       <b>end</b> <b>if</b>;
1982    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1549_14">Set_Soft_Label_Key_Attributes</A><A HREF="terminal_interface-curses__ads.htm#1549_14">;</A>
1983
1984    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1556_13">Get_Soft_Label_Key_Attributes</A> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#305_9">Character_Attribute_Set</A>
1985    <b>is</b>
1986       <b>function</b> <FONT COLOR=red><A NAME="1982_16">Slk_Attr</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
1987       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1982_16">Slk_Attr</A>, "slk_attr");
1988
1989       <FONT COLOR=red><A NAME="1985_7">Attr</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A> := <A HREF="terminal_interface-curses__adb.htm#1982_16">Slk_Attr</A>;
1990    <b>begin</b>
1991       <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#1985_7">Attr</A>).<A HREF="terminal_interface-curses__ads.htm#353_10">Attr</A>;
1992    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1556_13">Get_Soft_Label_Key_Attributes</A><A HREF="terminal_interface-curses__ads.htm#1556_13">;</A>
1993
1994    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1560_13">Get_Soft_Label_Key_Attributes</A> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>
1995    <b>is</b>
1996       <b>function</b> <FONT COLOR=red><A NAME="1992_16">Slk_Attr</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
1997       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1992_16">Slk_Attr</A>, "slk_attr");
1998
1999       <FONT COLOR=red><A NAME="1995_7">Attr</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A> := <A HREF="terminal_interface-curses__adb.htm#1992_16">Slk_Attr</A>;
2000    <b>begin</b>
2001       <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#1995_7">Attr</A>).<A HREF="terminal_interface-curses__ads.htm#354_10">Color</A>;
2002    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1560_13">Get_Soft_Label_Key_Attributes</A><A HREF="terminal_interface-curses__ads.htm#1560_13">;</A>
2003
2004    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1565_14">Set_Soft_Label_Key_Color</A><FONT COLOR=red><A NAME="2000_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1565_40">Pair</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>)
2005    <b>is</b>
2006       <b>function</b> <FONT COLOR=red><A NAME="2002_16">Slk_Color</A></FONT> (<FONT COLOR=red><A NAME="2002_27">Color</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
2007       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2002_16">Slk_Color</A>, "slk_color");
2008    <b>begin</b>
2009       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2002_16">Slk_Color</A> (<A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1565_40">Pair</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
2010          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
2011       <b>end</b> <b>if</b>;
2012    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1565_14">Set_Soft_Label_Key_Color</A><A HREF="terminal_interface-curses__ads.htm#1565_14">;</A>
2013
2014 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
2015    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1579_14">Enable_Key</A><FONT COLOR=red><A NAME="2011_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1579_26">Key</A>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#76_12">Special_Key_Code</A>;
2016                          <A HREF="terminal_interface-curses__ads.htm#1580_26">Enable</A> : <b>in</b> Boolean := True)
2017    <b>is</b>
2018       <b>function</b> <FONT COLOR=red><A NAME="2014_16">Keyok</A></FONT> (<FONT COLOR=red><A NAME="2014_23">Keycode</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
2019                       <FONT COLOR=red><A NAME="2015_23">On_Off</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
2020       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2014_16">Keyok</A>, "keyok");
2021    <b>begin</b>
2022       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2014_16">Keyok</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1579_26">Key</A>), <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#1580_26">Enable</A>)))
2023         = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
2024          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
2025       <b>end</b> <b>if</b>;
2026    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1579_14">Enable_Key</A><A HREF="terminal_interface-curses__ads.htm#1579_14">;</A>
2027 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
2028    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1589_14">Define_Key</A><FONT COLOR=red><A NAME="2024_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1589_26">Definition</A> : <b>in</b> String;
2029                          <A HREF="terminal_interface-curses__ads.htm#1590_26">Key</A>        : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#76_12">Special_Key_Code</A>)
2030    <b>is</b>
2031       <b>function</b> <FONT COLOR=red><A NAME="2027_16">Defkey</A></FONT> (<FONT COLOR=red><A NAME="2027_24">Def</A></FONT> : char_array;
2032                        <FONT COLOR=red><A NAME="2028_24">Key</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
2033       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2027_16">Defkey</A>, "define_key");
2034
2035       <FONT COLOR=red><A NAME="2031_7">Txt</A></FONT>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#1589_26">Definition</A>'Length);
2036       <FONT COLOR=red><A NAME="2032_7">Length</A></FONT> : size_t;
2037    <b>begin</b>
2038       To_C (<A HREF="terminal_interface-curses__ads.htm#1589_26">Definition</A>, <A HREF="terminal_interface-curses__adb.htm#2031_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#2032_7">Length</A>);
2039       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2027_16">Defkey</A> (<A HREF="terminal_interface-curses__adb.htm#2031_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1590_26">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
2040          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
2041       <b>end</b> <b>if</b>;
2042    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1589_14">Define_Key</A><A HREF="terminal_interface-curses__ads.htm#1589_14">;</A>
2043 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
2044    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1615_14">Un_Control</A><FONT COLOR=red><A NAME="2040_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1615_26">Ch</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>;
2045                          <A HREF="terminal_interface-curses__ads.htm#1616_26">Str</A> : <b>out</b> String)
2046    <b>is</b>
2047       <b>function</b> <FONT COLOR=red><A NAME="2043_16">Unctrl</A></FONT> (<FONT COLOR=red><A NAME="2043_24">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> chars_ptr;
2048       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2043_16">Unctrl</A>, "unctrl");
2049    <b>begin</b>
2050       <A HREF="terminal_interface-curses-aux__ads.htm#116_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#2043_16">Unctrl</A> (<A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#1615_26">Ch</A>)), <A HREF="terminal_interface-curses__ads.htm#1616_26">Str</A>);
2051    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1615_14">Un_Control</A><A HREF="terminal_interface-curses__ads.htm#1615_14">;</A>
2052
2053    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1620_13">Un_Control</A> (<A HREF="terminal_interface-curses__ads.htm#1620_25">Ch</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>) <b>return</b> String
2054    <b>is</b>
2055       <b>function</b> <FONT COLOR=red><A NAME="2051_16">Unctrl</A></FONT> (<FONT COLOR=red><A NAME="2051_24">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> chars_ptr;
2056       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2051_16">Unctrl</A>, "unctrl");
2057    <b>begin</b>
2058       <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#2051_16">Unctrl</A> (<A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#1620_25">Ch</A>)));
2059    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1620_13">Un_Control</A><A HREF="terminal_interface-curses__ads.htm#1620_13">;</A>
2060
2061    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1626_14">Delay_Output</A><FONT COLOR=red><A NAME="2057_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1626_28">Msecs</A> : <b>in</b> Natural)
2062    <b>is</b>
2063       <b>function</b> <FONT COLOR=red><A NAME="2059_16">Delayoutput</A></FONT> (<FONT COLOR=red><A NAME="2059_29">Msecs</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
2064       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2059_16">Delayoutput</A>, "delay_output");
2065    <b>begin</b>
2066       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2059_16">Delayoutput</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1626_28">Msecs</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
2067          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
2068       <b>end</b> <b>if</b>;
2069    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1626_14">Delay_Output</A><A HREF="terminal_interface-curses__ads.htm#1626_14">;</A>
2070
2071    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1631_14">Flush_Input</A><FONT COLOR=red><A NAME="2067_14"></A></FONT>
2072    <b>is</b>
2073       <b>function</b> <FONT COLOR=red><A NAME="2069_16">Flushinp</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
2074       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2069_16">Flushinp</A>, "flushinp");
2075    <b>begin</b>
2076       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2069_16">Flushinp</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>  <FONT COLOR=green><EM>-- docu says that never happens, but...</EM></FONT>
2077          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
2078       <b>end</b> <b>if</b>;
2079    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1631_14">Flush_Input</A><A HREF="terminal_interface-curses__ads.htm#1631_14">;</A>
2080 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
2081    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1640_13">Baudrate</A> <b>return</b> Natural
2082    <b>is</b>
2083       <b>function</b> <FONT COLOR=red><A NAME="2079_16">Baud</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
2084       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2079_16">Baud</A>, "baudrate");
2085    <b>begin</b>
2086       <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#2079_16">Baud</A>);
2087    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1640_13">Baudrate</A><A HREF="terminal_interface-curses__ads.htm#1640_13">;</A>
2088
2089    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1645_13">Erase_Character</A> <b>return</b> Character
2090    <b>is</b>
2091       <b>function</b> <FONT COLOR=red><A NAME="2087_16">Erasechar</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
2092       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2087_16">Erasechar</A>, "erasechar");
2093    <b>begin</b>
2094       <b>return</b> Character'Val (<A HREF="terminal_interface-curses__adb.htm#2087_16">Erasechar</A>);
2095    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1645_13">Erase_Character</A><A HREF="terminal_interface-curses__ads.htm#1645_13">;</A>
2096
2097    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1650_13">Kill_Character</A> <b>return</b> Character
2098    <b>is</b>
2099       <b>function</b> <FONT COLOR=red><A NAME="2095_16">Killchar</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
2100       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2095_16">Killchar</A>, "killchar");
2101    <b>begin</b>
2102       <b>return</b> Character'Val (<A HREF="terminal_interface-curses__adb.htm#2095_16">Killchar</A>);
2103    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1650_13">Kill_Character</A><A HREF="terminal_interface-curses__ads.htm#1650_13">;</A>
2104
2105    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1655_13">Has_Insert_Character</A> <b>return</b> Boolean
2106    <b>is</b>
2107       <b>function</b> <FONT COLOR=red><A NAME="2103_16">Has_Ic</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>;
2108       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2103_16">Has_Ic</A>, "has_ic");
2109    <b>begin</b>
2110       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2103_16">Has_Ic</A> = <A HREF="terminal_interface-curses__ads.htm#1931_4">Curses_Bool_False</A> <b>then</b>
2111          <b>return</b> False;
2112       <b>else</b>
2113          <b>return</b> True;
2114       <b>end</b> <b>if</b>;
2115    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1655_13">Has_Insert_Character</A><A HREF="terminal_interface-curses__ads.htm#1655_13">;</A>
2116
2117    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1660_13">Has_Insert_Line</A> <b>return</b> Boolean
2118    <b>is</b>
2119       <b>function</b> <FONT COLOR=red><A NAME="2115_16">Has_Il</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>;
2120       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2115_16">Has_Il</A>, "has_il");
2121    <b>begin</b>
2122       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2115_16">Has_Il</A> = <A HREF="terminal_interface-curses__ads.htm#1931_4">Curses_Bool_False</A> <b>then</b>
2123          <b>return</b> False;
2124       <b>else</b>
2125          <b>return</b> True;
2126       <b>end</b> <b>if</b>;
2127    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1660_13">Has_Insert_Line</A><A HREF="terminal_interface-curses__ads.htm#1660_13">;</A>
2128
2129    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1665_13">Supported_Attributes</A> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#305_9">Character_Attribute_Set</A>
2130    <b>is</b>
2131       <b>function</b> <FONT COLOR=red><A NAME="2127_16">Termattrs</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>;
2132       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2127_16">Termattrs</A>, "termattrs");
2133
2134       <FONT COLOR=red><A NAME="2130_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#2127_16">Termattrs</A>);
2135    <b>begin</b>
2136       <b>return</b> <A HREF="terminal_interface-curses__adb.htm#2130_7">Ch</A>.<A HREF="terminal_interface-curses__ads.htm#353_10">Attr</A>;
2137    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1665_13">Supported_Attributes</A><A HREF="terminal_interface-curses__ads.htm#1665_13">;</A>
2138
2139    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1670_14">Long_Name</A><FONT COLOR=red><A NAME="2135_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1670_25">Name</A> : <b>out</b> String)
2140    <b>is</b>
2141       <b>function</b> <FONT COLOR=red><A NAME="2137_16">Longname</A></FONT> <b>return</b> chars_ptr;
2142       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2137_16">Longname</A>, "longname");
2143    <b>begin</b>
2144       <A HREF="terminal_interface-curses-aux__ads.htm#116_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#2137_16">Longname</A>, <A HREF="terminal_interface-curses__ads.htm#1670_25">Name</A>);
2145    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1670_14">Long_Name</A><A HREF="terminal_interface-curses__ads.htm#1670_14">;</A>
2146
2147    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1674_13">Long_Name</A> <b>return</b> String
2148    <b>is</b>
2149       <b>function</b> <FONT COLOR=red><A NAME="2145_16">Longname</A></FONT> <b>return</b> chars_ptr;
2150       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2145_16">Longname</A>, "longname");
2151    <b>begin</b>
2152       <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#2145_16">Longname</A>);
2153    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1674_13">Long_Name</A><A HREF="terminal_interface-curses__ads.htm#1674_13">;</A>
2154
2155    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1680_14">Terminal_Name</A><FONT COLOR=red><A NAME="2151_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1680_29">Name</A> : <b>out</b> String)
2156    <b>is</b>
2157       <b>function</b> <FONT COLOR=red><A NAME="2153_16">Termname</A></FONT> <b>return</b> chars_ptr;
2158       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2153_16">Termname</A>, "termname");
2159    <b>begin</b>
2160       <A HREF="terminal_interface-curses-aux__ads.htm#116_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#2153_16">Termname</A>, <A HREF="terminal_interface-curses__ads.htm#1680_29">Name</A>);
2161    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1680_14">Terminal_Name</A><A HREF="terminal_interface-curses__ads.htm#1680_14">;</A>
2162
2163    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1684_13">Terminal_Name</A> <b>return</b> String
2164    <b>is</b>
2165       <b>function</b> <FONT COLOR=red><A NAME="2161_16">Termname</A></FONT> <b>return</b> chars_ptr;
2166       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2161_16">Termname</A>, "termname");
2167    <b>begin</b>
2168       <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#2161_16">Termname</A>);
2169    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1684_13">Terminal_Name</A><A HREF="terminal_interface-curses__ads.htm#1684_13">;</A>
2170 <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
2171    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1705_14">Init_Pair</A><FONT COLOR=red><A NAME="2167_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1705_25">Pair</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#299_12">Redefinable_Color_Pair</A>;
2172                         <A HREF="terminal_interface-curses__ads.htm#1706_25">Fore</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#276_9">Color_Number</A>;
2173                         <A HREF="terminal_interface-curses__ads.htm#1707_25">Back</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#276_9">Color_Number</A>)
2174    <b>is</b>
2175       <b>function</b> <FONT COLOR=red><A NAME="2171_16">Initpair</A></FONT> (<FONT COLOR=red><A NAME="2171_26">Pair</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>;
2176                          <FONT COLOR=red><A NAME="2172_26">Fore</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>;
2177                          <FONT COLOR=red><A NAME="2173_26">Back</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
2178       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2171_16">Initpair</A>, "init_pair");
2179    <b>begin</b>
2180       <b>if</b> Integer (<A HREF="terminal_interface-curses__ads.htm#1705_25">Pair</A>) &gt;= <A HREF="terminal_interface-curses__ads.htm#423_13">Number_Of_Color_Pairs</A> <b>then</b>
2181          <b>raise</b> Constraint_Error;
2182       <b>end</b> <b>if</b>;
2183       <b>if</b> Integer (<A HREF="terminal_interface-curses__ads.htm#1706_25">Fore</A>) &gt;= <A HREF="terminal_interface-curses__ads.htm#420_13">Number_Of_Colors</A> <b>or</b> <b>else</b>
2184         Integer (<A HREF="terminal_interface-curses__ads.htm#1707_25">Back</A>) &gt;= <A HREF="terminal_interface-curses__ads.htm#420_13">Number_Of_Colors</A> <b>then</b> <b>raise</b> Constraint_Error;
2185       <b>end</b> <b>if</b>;
2186       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2171_16">Initpair</A> (<A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1705_25">Pair</A>), <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1706_25">Fore</A>), <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1707_25">Back</A>))
2187         = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
2188          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
2189       <b>end</b> <b>if</b>;
2190    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1705_14">Init_Pair</A><A HREF="terminal_interface-curses__ads.htm#1705_14">;</A>
2191
2192    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1712_14">Pair_Content</A><FONT COLOR=red><A NAME="2188_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1712_28">Pair</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>;
2193                            <A HREF="terminal_interface-curses__ads.htm#1713_28">Fore</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#276_9">Color_Number</A>;
2194                            <A HREF="terminal_interface-curses__ads.htm#1714_28">Back</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#276_9">Color_Number</A>)
2195    <b>is</b>
2196       <b>type</b> <FONT COLOR=red><A NAME="2192_12">C_Short_Access</A></FONT> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>;
2197       <b>function</b> <FONT COLOR=red><A NAME="2193_16">Paircontent</A></FONT> (<FONT COLOR=red><A NAME="2193_29">Pair</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>;
2198                             <FONT COLOR=red><A NAME="2194_29">Fp</A></FONT>   : <A HREF="terminal_interface-curses__adb.htm#2192_12">C_Short_Access</A>;
2199                             <FONT COLOR=red><A NAME="2195_29">Bp</A></FONT>   : <A HREF="terminal_interface-curses__adb.htm#2192_12">C_Short_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
2200       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2193_16">Paircontent</A>, "pair_content");
2201
2202       <FONT COLOR=red><A NAME="2198_7">F</A></FONT>, <FONT COLOR=red><A NAME="2198_10">B</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>;
2203    <b>begin</b>
2204       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2193_16">Paircontent</A> (<A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1712_28">Pair</A>), <A HREF="terminal_interface-curses__adb.htm#2198_7">F</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#2198_10">B</A>'<b>Access</b>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
2205          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
2206       <b>else</b>
2207          <A HREF="terminal_interface-curses__ads.htm#1713_28">Fore</A> := <A HREF="terminal_interface-curses__ads.htm#276_9">Color_Number</A> (<A HREF="terminal_interface-curses__adb.htm#2198_7">F</A>);
2208          <A HREF="terminal_interface-curses__ads.htm#1714_28">Back</A> := <A HREF="terminal_interface-curses__ads.htm#276_9">Color_Number</A> (<A HREF="terminal_interface-curses__adb.htm#2198_10">B</A>);
2209       <b>end</b> <b>if</b>;
2210    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1712_14">Pair_Content</A><A HREF="terminal_interface-curses__ads.htm#1712_14">;</A>
2211
2212    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1719_13">Has_Colors</A> <b>return</b> Boolean
2213    <b>is</b>
2214       <b>function</b> <FONT COLOR=red><A NAME="2210_16">Hascolors</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>;
2215       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2210_16">Hascolors</A>, "has_colors");
2216    <b>begin</b>
2217       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2210_16">Hascolors</A> = <A HREF="terminal_interface-curses__ads.htm#1931_4">Curses_Bool_False</A> <b>then</b>
2218          <b>return</b> False;
2219       <b>else</b>
2220          <b>return</b> True;
2221       <b>end</b> <b>if</b>;
2222    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1719_13">Has_Colors</A><A HREF="terminal_interface-curses__ads.htm#1719_13">;</A>
2223
2224    <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1724_14">Init_Color</A><FONT COLOR=red><A NAME="2220_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1724_26">Color</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#276_9">Color_Number</A>;
2225                          <A HREF="terminal_interface-curses__ads.htm#1725_26">Red</A>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#293_9">RGB_Value</A>;
2226                          <A HREF="terminal_interface-curses__ads.htm#1726_26">Green</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#293_9">RGB_Value</A>;
2227                          <A HREF="terminal_interface-curses__ads.htm#1727_26">Blue</A>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#293_9">RGB_Value</A>)
2228    <b>is</b>
2229       <b>function</b> <FONT COLOR=red><A NAME="2225_16">Initcolor</A></FONT> (<FONT COLOR=red><A NAME="2225_27">Col</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>;
2230                           <FONT COLOR=red><A NAME="2226_27">Red</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>;
2231                           <FONT COLOR=red><A NAME="2227_27">Green</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>;
2232                           <FONT COLOR=red><A NAME="2228_27">Blue</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>;
2233       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2225_16">Initcolor</A>, "init_color");
2234    <b>begin</b>
2235       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2225_16">Initcolor</A> (<A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1724_26">Color</A>), <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1725_26">Red</A>), <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1726_26">Green</A>),
2236                     <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1727_26">Blue</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b>
2237             <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>;
2238       <b>end</b> <b>if</b>;
2239    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#1724_14">Init_Color</A><A HREF="terminal_interface-curses__ads.htm#1724_14">;</A>
2240
2241    <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1732_13">Can_Change_Color</A> <b>return</b> Boolean
2242    <b>is</b>
2243       <b>function</b> <FONT COLOR=red><A NAME="2239_16">Canchangecolor</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>;
2244       <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2239_16">Canchangecolor</A>, "can_change_color");
2245    <b>begin</b>
2246       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2239_16">Canchangecolor</A> = <A HREF="terminal_interface-curses__ads.htm#1931_4">Curses_Bool_False</A> <b>then</b>
2247          <b>return</b> False;
2248       <b>else</b>
2249          <b>return</b> True;