ncurses 6.1 - patch 20190727
[ncurses.git] / doc / html / ada / terminal_interface-curses__adb.htm
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
2 <HTML>
3 <HEAD>
4 <TITLE>terminal_interface-curses.adb</TITLE>
5 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
6 <style type="text/css">
7 *.comment {
8         color: green;
9 }
10 *.symbol {
11         color: red;
12 }
13 </style>
14 </HEAD>
15 <BODY>
16 <HR><DIV style="text-align:center"><H1> File : terminal_interface-curses.adb </H1></DIV><HR>
17 <PRE>
18 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
19 <span class="comment"><EM>--                                                                          --</EM></span>
20 <span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
21 <span class="comment"><EM>--                                                                          --</EM></span>
22 <span class="comment"><EM>--                        Terminal_Interface.Curses                         --</EM></span>
23 <span class="comment"><EM>--                                                                          --</EM></span>
24 <span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
25 <span class="comment"><EM>--                                                                          --</EM></span>
26 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
27 <span class="comment"><EM>-- Copyright (c) 1998-2014,2018 Free Software Foundation, Inc.              --</EM></span>
28 <span class="comment"><EM>--                                                                          --</EM></span>
29 <span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
30 <span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
31 <span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
32 <span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
33 <span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
34 <span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
35 <span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
36 <span class="comment"><EM>--                                                                          --</EM></span>
37 <span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
38 <span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
39 <span class="comment"><EM>--                                                                          --</EM></span>
40 <span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
41 <span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
42 <span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
43 <span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
44 <span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
45 <span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
46 <span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
47 <span class="comment"><EM>--                                                                          --</EM></span>
48 <span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
49 <span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
50 <span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
51 <span class="comment"><EM>-- authorization.                                                           --</EM></span>
52 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
53 <span class="comment"><EM>--  Author: Juergen Pfeifer, 1996</EM></span>
54 <span class="comment"><EM>--  Version Control:</EM></span>
55 <span class="comment"><EM>--  @Revision: 1.15 @</EM></span>
56 <span class="comment"><EM>--  @Date: 2018/07/07 23:28:45 @</EM></span>
57 <span class="comment"><EM>--  Binding Version 01.00</EM></span>
58 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
59 <b>with</b> System;
60
61 <b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
62 <b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C;                  <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C;
63 <b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings;          <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings;
64 <b>with</b> Ada.Characters.Handling;       <b>use</b> Ada.Characters.Handling;
65 <b>with</b> Ada.Strings.Fixed;
66
67 <b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<span class="symbol"><A NAME="ref_50_33" HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A></span> <b>is</b>
68
69    <b>use</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
70
71    <b>package</b> <span class="symbol"><A NAME="ref_54_12">ASF</A></span> <b>renames</b> Ada.Strings.Fixed;
72
73    <b>type</b> chtype_array <b>is</b> <b>array</b> (size_t <b>range</b> &lt;&gt;)
74       <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
75    <b>pragma</b> Convention (C, chtype_array);
76
77 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
78    <b>function</b> <span class="symbol"><A NAME="ref_61_13" HREF="terminal_interface-curses__ads.htm#ref_1786_13">Key_Name</A></span> (<span class="symbol"><A NAME="ref_61_23" HREF="terminal_interface-curses__ads.htm#ref_1786_23">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>) <b>return</b> String
79    <b>is</b>
80       <b>function</b> <span class="symbol"><A NAME="ref_63_16">Keyname</A></span> (<span class="symbol"><A NAME="ref_63_25" HREF="terminal_interface-curses__adb.htm#ref_63_16">K</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> chars_ptr;
81       <b>pragma</b> Import (C, Keyname, "keyname");
82
83       <span class="symbol"><A NAME="ref_66_7">Ch</A></span> : Character;
84    <b>begin</b>
85       <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1786_23">Key</A> &lt;= Character'Pos (Character'Last) <b>then</b>
86          <A HREF="terminal_interface-curses__adb.htm#ref_66_7">Ch</A> := Character'Val (<A HREF="terminal_interface-curses__ads.htm#ref_1786_23">Key</A>);
87          <b>if</b> Is_Control (<A HREF="terminal_interface-curses__adb.htm#ref_66_7">Ch</A>) <b>then</b>
88             <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1797_13">Un_Control</A> (<A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    =&gt; <A HREF="terminal_interface-curses__adb.htm#ref_66_7">Ch</A>,
89                                                      <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
90                                                      <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>));
91          <b>elsif</b> Is_Graphic (<A HREF="terminal_interface-curses__adb.htm#ref_66_7">Ch</A>) <b>then</b>
92             <b>declare</b>
93                <span class="symbol"><A NAME="ref_76_16">S</A></span> : String (1 .. 1);
94             <b>begin</b>
95                <A HREF="terminal_interface-curses__adb.htm#ref_76_16">S</A> (1) := <A HREF="terminal_interface-curses__adb.htm#ref_66_7">Ch</A>;
96                <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_76_16">S</A>;
97             <b>end</b>;
98          <b>else</b>
99             <b>return</b> "";
100          <b>end</b> <b>if</b>;
101       <b>else</b>
102          <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_95_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_63_16">Keyname</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1786_23">Key</A>)));
103       <b>end</b> <b>if</b>;
104    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1786_13">Key_Name</A>;
105
106    <b>procedure</b> <span class="symbol"><A NAME="ref_89_14" HREF="terminal_interface-curses__ads.htm#ref_1780_14">Key_Name</A></span> (<span class="symbol"><A NAME="ref_89_24" HREF="terminal_interface-curses__ads.htm#ref_1780_24">Key</A></span>  :  <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>;
107                        <span class="symbol"><A NAME="ref_90_24" HREF="terminal_interface-curses__ads.htm#ref_1781_24">Name</A></span> : <b>out</b> String)
108    <b>is</b>
109    <b>begin</b>
110       <A HREF="terminal_interface-curses__adb.htm#ref_54_12">ASF</A>.Move (<A HREF="terminal_interface-curses__ads.htm#ref_1786_13">Key_Name</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1780_24">Key</A>), <A HREF="terminal_interface-curses__ads.htm#ref_1781_24">Name</A>);
111    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1780_14">Key_Name</A>;
112
113 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
114    <b>procedure</b> <span class="symbol"><A NAME="ref_97_14" HREF="terminal_interface-curses__ads.htm#ref_656_14">Init_Screen</A></span>
115    <b>is</b>
116       <b>function</b> <span class="symbol"><A NAME="ref_99_16">Initscr</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
117       <b>pragma</b> Import (C, Initscr, "initscr");
118
119       <span class="symbol"><A NAME="ref_102_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
120    <b>begin</b>
121       <A HREF="terminal_interface-curses__adb.htm#ref_102_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_99_16">Initscr</A>;
122       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_102_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
123          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
124       <b>end</b> <b>if</b>;
125    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_656_14">Init_Screen</A>;
126
127    <b>procedure</b> <span class="symbol"><A NAME="ref_110_14" HREF="terminal_interface-curses__ads.htm#ref_665_14">End_Windows</A></span>
128    <b>is</b>
129       <b>function</b> <span class="symbol"><A NAME="ref_112_16">Endwin</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
130       <b>pragma</b> Import (C, Endwin, "endwin");
131    <b>begin</b>
132       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_112_16">Endwin</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
133          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
134       <b>end</b> <b>if</b>;
135    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_665_14">End_Windows</A>;
136
137    <b>function</b> <span class="symbol"><A NAME="ref_120_13" HREF="terminal_interface-curses__ads.htm#ref_672_13">Is_End_Window</A></span> <b>return</b> Boolean
138    <b>is</b>
139       <b>function</b> <span class="symbol"><A NAME="ref_122_16">Isendwin</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
140       <b>pragma</b> Import (C, Isendwin, "isendwin");
141    <b>begin</b>
142       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_122_16">Isendwin</A> = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A> <b>then</b>
143          <b>return</b> False;
144       <b>else</b>
145          <b>return</b> True;
146       <b>end</b> <b>if</b>;
147    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_672_13">Is_End_Window</A>;
148 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
149    <b>procedure</b> <span class="symbol"><A NAME="ref_132_14" HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A></span> (<span class="symbol"><A NAME="ref_132_27" HREF="terminal_interface-curses__ads.htm#ref_681_27">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
150                           <span class="symbol"><A NAME="ref_133_27" HREF="terminal_interface-curses__ads.htm#ref_682_27">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
151                           <span class="symbol"><A NAME="ref_134_27" HREF="terminal_interface-curses__ads.htm#ref_683_27">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
152    <b>is</b>
153       <b>function</b> <span class="symbol"><A NAME="ref_136_16">Wmove</A></span> (<span class="symbol"><A NAME="ref_136_23" HREF="terminal_interface-curses__adb.htm#ref_136_16">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
154                       <span class="symbol"><A NAME="ref_137_23" HREF="terminal_interface-curses__adb.htm#ref_136_16">Line</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
155                       <span class="symbol"><A NAME="ref_138_23" HREF="terminal_interface-curses__adb.htm#ref_136_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>
156                      ) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
157       <b>pragma</b> Import (C, Wmove, "wmove");
158    <b>begin</b>
159       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_136_16">Wmove</A> (<A HREF="terminal_interface-curses__ads.htm#ref_681_27">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_682_27">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_683_27">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
160          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
161       <b>end</b> <b>if</b>;
162    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A>;
163 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
164    <b>procedure</b> <span class="symbol"><A NAME="ref_147_14" HREF="terminal_interface-curses__ads.htm#ref_693_14">Add</A></span> (<span class="symbol"><A NAME="ref_147_19" HREF="terminal_interface-curses__ads.htm#ref_693_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
165                   <span class="symbol"><A NAME="ref_148_19" HREF="terminal_interface-curses__ads.htm#ref_694_19">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
166    <b>is</b>
167       <b>function</b> <span class="symbol"><A NAME="ref_150_16">Waddch</A></span> (<span class="symbol"><A NAME="ref_150_24" HREF="terminal_interface-curses__adb.htm#ref_150_16">W</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
168                        <span class="symbol"><A NAME="ref_151_24" HREF="terminal_interface-curses__adb.htm#ref_150_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
169       <b>pragma</b> Import (C, Waddch, "waddch");
170    <b>begin</b>
171       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_150_16">Waddch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_693_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_694_19">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
172          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
173       <b>end</b> <b>if</b>;
174    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_693_14">Add</A>;
175
176    <b>procedure</b> <span class="symbol"><A NAME="ref_159_14" HREF="terminal_interface-curses__ads.htm#ref_698_14">Add</A></span> (<span class="symbol"><A NAME="ref_159_19" HREF="terminal_interface-curses__ads.htm#ref_698_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
177                   <span class="symbol"><A NAME="ref_160_19" HREF="terminal_interface-curses__ads.htm#ref_699_19">Ch</A></span>  : Character)
178    <b>is</b>
179    <b>begin</b>
180       <A HREF="terminal_interface-curses__ads.htm#ref_693_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_698_19">Win</A>,
181            <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_699_19">Ch</A>,
182                                  <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
183                                  <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>));
184    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_698_14">Add</A>;
185
186    <b>procedure</b> <span class="symbol"><A NAME="ref_169_14" HREF="terminal_interface-curses__ads.htm#ref_704_14">Add</A></span>
187      (<span class="symbol"><A NAME="ref_170_7" HREF="terminal_interface-curses__ads.htm#ref_705_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
188       <span class="symbol"><A NAME="ref_171_7" HREF="terminal_interface-curses__ads.htm#ref_706_7">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
189       <span class="symbol"><A NAME="ref_172_7" HREF="terminal_interface-curses__ads.htm#ref_707_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
190       <span class="symbol"><A NAME="ref_173_7" HREF="terminal_interface-curses__ads.htm#ref_708_7">Ch</A></span>     : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
191    <b>is</b>
192       <b>function</b> <span class="symbol"><A NAME="ref_175_16">mvwaddch</A></span> (<span class="symbol"><A NAME="ref_175_26" HREF="terminal_interface-curses__adb.htm#ref_175_16">W</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
193                          <span class="symbol"><A NAME="ref_176_26" HREF="terminal_interface-curses__adb.htm#ref_175_16">Y</A></span>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
194                          <span class="symbol"><A NAME="ref_177_26" HREF="terminal_interface-curses__adb.htm#ref_175_16">X</A></span>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
195                          <span class="symbol"><A NAME="ref_178_26" HREF="terminal_interface-curses__adb.htm#ref_175_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
196       <b>pragma</b> Import (C, mvwaddch, "mvwaddch");
197    <b>begin</b>
198       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_175_16">mvwaddch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_705_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_706_7">Line</A>),
199                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_707_7">Column</A>),
200                    <A HREF="terminal_interface-curses__ads.htm#ref_708_7">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
201       <b>then</b>
202          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
203       <b>end</b> <b>if</b>;
204    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_704_14">Add</A>;
205
206    <b>procedure</b> <span class="symbol"><A NAME="ref_189_14" HREF="terminal_interface-curses__ads.htm#ref_712_14">Add</A></span>
207      (<span class="symbol"><A NAME="ref_190_7" HREF="terminal_interface-curses__ads.htm#ref_713_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
208       <span class="symbol"><A NAME="ref_191_7" HREF="terminal_interface-curses__ads.htm#ref_714_7">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
209       <span class="symbol"><A NAME="ref_192_7" HREF="terminal_interface-curses__ads.htm#ref_715_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
210       <span class="symbol"><A NAME="ref_193_7" HREF="terminal_interface-curses__ads.htm#ref_716_7">Ch</A></span>     : Character)
211    <b>is</b>
212    <b>begin</b>
213       <A HREF="terminal_interface-curses__ads.htm#ref_704_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_713_7">Win</A>,
214            <A HREF="terminal_interface-curses__ads.htm#ref_714_7">Line</A>,
215            <A HREF="terminal_interface-curses__ads.htm#ref_715_7">Column</A>,
216            <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_716_7">Ch</A>,
217                                  <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
218                                  <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>));
219    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_712_14">Add</A>;
220
221    <b>procedure</b> <span class="symbol"><A NAME="ref_204_14" HREF="terminal_interface-curses__ads.htm#ref_721_14">Add_With_Immediate_Echo</A></span>
222      (<span class="symbol"><A NAME="ref_205_7" HREF="terminal_interface-curses__ads.htm#ref_722_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
223       <span class="symbol"><A NAME="ref_206_7" HREF="terminal_interface-curses__ads.htm#ref_723_7">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
224    <b>is</b>
225       <b>function</b> <span class="symbol"><A NAME="ref_208_16">Wechochar</A></span> (<span class="symbol"><A NAME="ref_208_27" HREF="terminal_interface-curses__adb.htm#ref_208_16">W</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
226                           <span class="symbol"><A NAME="ref_209_27" HREF="terminal_interface-curses__adb.htm#ref_208_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
227       <b>pragma</b> Import (C, Wechochar, "wechochar");
228    <b>begin</b>
229       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_208_16">Wechochar</A> (<A HREF="terminal_interface-curses__ads.htm#ref_722_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_723_7">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
230          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
231       <b>end</b> <b>if</b>;
232    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_721_14">Add_With_Immediate_Echo</A>;
233
234    <b>procedure</b> <span class="symbol"><A NAME="ref_217_14" HREF="terminal_interface-curses__ads.htm#ref_727_14">Add_With_Immediate_Echo</A></span>
235      (<span class="symbol"><A NAME="ref_218_7" HREF="terminal_interface-curses__ads.htm#ref_728_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
236       <span class="symbol"><A NAME="ref_219_7" HREF="terminal_interface-curses__ads.htm#ref_729_7">Ch</A></span>  : Character)
237    <b>is</b>
238    <b>begin</b>
239       <A HREF="terminal_interface-curses__ads.htm#ref_721_14">Add_With_Immediate_Echo</A>
240         (<A HREF="terminal_interface-curses__ads.htm#ref_728_7">Win</A>,
241          <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_729_7">Ch</A>,
242                                <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
243                                <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>));
244    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_727_14">Add_With_Immediate_Echo</A>;
245 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
246    <b>function</b> <span class="symbol"><A NAME="ref_229_13" HREF="terminal_interface-curses__ads.htm#ref_739_13">Create</A></span> (<span class="symbol"><A NAME="ref_229_21" HREF="terminal_interface-curses__ads.htm#ref_740_7">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
247                     <span class="symbol"><A NAME="ref_230_21" HREF="terminal_interface-curses__ads.htm#ref_741_7">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
248                     <span class="symbol"><A NAME="ref_231_21" HREF="terminal_interface-curses__ads.htm#ref_742_7">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
249                     <span class="symbol"><A NAME="ref_232_21" HREF="terminal_interface-curses__ads.htm#ref_743_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
250    <b>is</b>
251       <b>function</b> <span class="symbol"><A NAME="ref_234_16">Newwin</A></span> (<span class="symbol"><A NAME="ref_234_24" HREF="terminal_interface-curses__adb.htm#ref_234_16">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
252                        <span class="symbol"><A NAME="ref_235_24" HREF="terminal_interface-curses__adb.htm#ref_234_16">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
253                        <span class="symbol"><A NAME="ref_236_24" HREF="terminal_interface-curses__adb.htm#ref_234_16">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
254                        <span class="symbol"><A NAME="ref_237_24" HREF="terminal_interface-curses__adb.htm#ref_234_16">First_Column_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
255       <b>pragma</b> Import (C, Newwin, "newwin");
256
257       <span class="symbol"><A NAME="ref_240_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
258    <b>begin</b>
259       <A HREF="terminal_interface-curses__adb.htm#ref_240_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_234_16">Newwin</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_740_7">Number_Of_Lines</A>),
260                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_741_7">Number_Of_Columns</A>),
261                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_742_7">First_Line_Position</A>),
262                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_743_7">First_Column_Position</A>));
263       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_240_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
264          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
265       <b>end</b> <b>if</b>;
266       <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_240_7">W</A>;
267    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_739_13">Create</A>;
268
269    <b>procedure</b> <span class="symbol"><A NAME="ref_252_14" HREF="terminal_interface-curses__ads.htm#ref_758_14">Delete</A></span> (<span class="symbol"><A NAME="ref_252_22" HREF="terminal_interface-curses__ads.htm#ref_758_22">Win</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
270    <b>is</b>
271       <b>function</b> <span class="symbol"><A NAME="ref_254_16">Wdelwin</A></span> (<span class="symbol"><A NAME="ref_254_25" HREF="terminal_interface-curses__adb.htm#ref_254_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
272       <b>pragma</b> Import (C, Wdelwin, "delwin");
273    <b>begin</b>
274       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_254_16">Wdelwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_758_22">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
275          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
276       <b>end</b> <b>if</b>;
277       <A HREF="terminal_interface-curses__ads.htm#ref_758_22">Win</A> := <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A>;
278    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_758_14">Delete</A>;
279
280    <b>function</b> <span class="symbol"><A NAME="ref_263_13" HREF="terminal_interface-curses__ads.htm#ref_764_13">Sub_Window</A></span>
281      (<span class="symbol"><A NAME="ref_264_7" HREF="terminal_interface-curses__ads.htm#ref_765_7">Win</A></span>                   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
282       <span class="symbol"><A NAME="ref_265_7" HREF="terminal_interface-curses__ads.htm#ref_766_7">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
283       <span class="symbol"><A NAME="ref_266_7" HREF="terminal_interface-curses__ads.htm#ref_767_7">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
284       <span class="symbol"><A NAME="ref_267_7" HREF="terminal_interface-curses__ads.htm#ref_768_7">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
285       <span class="symbol"><A NAME="ref_268_7" HREF="terminal_interface-curses__ads.htm#ref_769_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
286    <b>is</b>
287       <b>function</b> <span class="symbol"><A NAME="ref_270_16">Subwin</A></span>
288         (<span class="symbol"><A NAME="ref_271_10" HREF="terminal_interface-curses__adb.htm#ref_270_16">Win</A></span>                   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
289          <span class="symbol"><A NAME="ref_272_10" HREF="terminal_interface-curses__adb.htm#ref_270_16">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
290          <span class="symbol"><A NAME="ref_273_10" HREF="terminal_interface-curses__adb.htm#ref_270_16">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
291          <span class="symbol"><A NAME="ref_274_10" HREF="terminal_interface-curses__adb.htm#ref_270_16">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
292          <span class="symbol"><A NAME="ref_275_10" HREF="terminal_interface-curses__adb.htm#ref_270_16">First_Column_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
293       <b>pragma</b> Import (C, Subwin, "subwin");
294
295       <span class="symbol"><A NAME="ref_278_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
296    <b>begin</b>
297       <A HREF="terminal_interface-curses__adb.htm#ref_278_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_270_16">Subwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_765_7">Win</A>,
298                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_766_7">Number_Of_Lines</A>),
299                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_767_7">Number_Of_Columns</A>),
300                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_768_7">First_Line_Position</A>),
301                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_769_7">First_Column_Position</A>));
302       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_278_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
303          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
304       <b>end</b> <b>if</b>;
305       <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_278_7">W</A>;
306    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_764_13">Sub_Window</A>;
307
308    <b>function</b> <span class="symbol"><A NAME="ref_291_13" HREF="terminal_interface-curses__ads.htm#ref_774_13">Derived_Window</A></span>
309      (<span class="symbol"><A NAME="ref_292_7" HREF="terminal_interface-curses__ads.htm#ref_775_7">Win</A></span>                   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
310       <span class="symbol"><A NAME="ref_293_7" HREF="terminal_interface-curses__ads.htm#ref_776_7">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
311       <span class="symbol"><A NAME="ref_294_7" HREF="terminal_interface-curses__ads.htm#ref_777_7">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
312       <span class="symbol"><A NAME="ref_295_7" HREF="terminal_interface-curses__ads.htm#ref_778_7">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
313       <span class="symbol"><A NAME="ref_296_7" HREF="terminal_interface-curses__ads.htm#ref_779_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
314    <b>is</b>
315       <b>function</b> <span class="symbol"><A NAME="ref_298_16">Derwin</A></span>
316         (<span class="symbol"><A NAME="ref_299_10" HREF="terminal_interface-curses__adb.htm#ref_298_16">Win</A></span>                   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
317          <span class="symbol"><A NAME="ref_300_10" HREF="terminal_interface-curses__adb.htm#ref_298_16">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
318          <span class="symbol"><A NAME="ref_301_10" HREF="terminal_interface-curses__adb.htm#ref_298_16">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
319          <span class="symbol"><A NAME="ref_302_10" HREF="terminal_interface-curses__adb.htm#ref_298_16">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
320          <span class="symbol"><A NAME="ref_303_10" HREF="terminal_interface-curses__adb.htm#ref_298_16">First_Column_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
321       <b>pragma</b> Import (C, Derwin, "derwin");
322
323       <span class="symbol"><A NAME="ref_306_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
324    <b>begin</b>
325       <A HREF="terminal_interface-curses__adb.htm#ref_306_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_298_16">Derwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_775_7">Win</A>,
326                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_776_7">Number_Of_Lines</A>),
327                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_777_7">Number_Of_Columns</A>),
328                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_778_7">First_Line_Position</A>),
329                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_779_7">First_Column_Position</A>));
330       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_306_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
331          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
332       <b>end</b> <b>if</b>;
333       <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_306_7">W</A>;
334    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_774_13">Derived_Window</A>;
335
336    <b>function</b> <span class="symbol"><A NAME="ref_319_13" HREF="terminal_interface-curses__ads.htm#ref_784_13">Duplicate</A></span> (<span class="symbol"><A NAME="ref_319_24" HREF="terminal_interface-curses__ads.htm#ref_784_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
337    <b>is</b>
338       <b>function</b> <span class="symbol"><A NAME="ref_321_16">Dupwin</A></span> (<span class="symbol"><A NAME="ref_321_24" HREF="terminal_interface-curses__adb.htm#ref_321_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
339       <b>pragma</b> Import (C, Dupwin, "dupwin");
340
341       <span class="symbol"><A NAME="ref_324_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__adb.htm#ref_321_16">Dupwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_784_24">Win</A>);
342    <b>begin</b>
343       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_324_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
344          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
345       <b>end</b> <b>if</b>;
346       <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_324_7">W</A>;
347    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_784_13">Duplicate</A>;
348
349    <b>procedure</b> <span class="symbol"><A NAME="ref_332_14" HREF="terminal_interface-curses__ads.htm#ref_789_14">Move_Window</A></span> (<span class="symbol"><A NAME="ref_332_27" HREF="terminal_interface-curses__ads.htm#ref_789_27">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
350                           <span class="symbol"><A NAME="ref_333_27" HREF="terminal_interface-curses__ads.htm#ref_790_27">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
351                           <span class="symbol"><A NAME="ref_334_27" HREF="terminal_interface-curses__ads.htm#ref_791_27">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
352    <b>is</b>
353       <b>function</b> <span class="symbol"><A NAME="ref_336_16">Mvwin</A></span> (<span class="symbol"><A NAME="ref_336_23" HREF="terminal_interface-curses__adb.htm#ref_336_16">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
354                       <span class="symbol"><A NAME="ref_337_23" HREF="terminal_interface-curses__adb.htm#ref_336_16">Line</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
355                       <span class="symbol"><A NAME="ref_338_23" HREF="terminal_interface-curses__adb.htm#ref_336_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
356       <b>pragma</b> Import (C, Mvwin, "mvwin");
357    <b>begin</b>
358       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_336_16">Mvwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_789_27">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_790_27">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_791_27">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
359          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
360       <b>end</b> <b>if</b>;
361    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_789_14">Move_Window</A>;
362
363    <b>procedure</b> <span class="symbol"><A NAME="ref_346_14" HREF="terminal_interface-curses__ads.htm#ref_796_14">Move_Derived_Window</A></span> (<span class="symbol"><A NAME="ref_346_35" HREF="terminal_interface-curses__ads.htm#ref_796_35">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
364                                   <span class="symbol"><A NAME="ref_347_35" HREF="terminal_interface-curses__ads.htm#ref_797_35">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
365                                   <span class="symbol"><A NAME="ref_348_35" HREF="terminal_interface-curses__ads.htm#ref_798_35">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
366    <b>is</b>
367       <b>function</b> <span class="symbol"><A NAME="ref_350_16">Mvderwin</A></span> (<span class="symbol"><A NAME="ref_350_26" HREF="terminal_interface-curses__adb.htm#ref_350_16">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
368                          <span class="symbol"><A NAME="ref_351_26" HREF="terminal_interface-curses__adb.htm#ref_350_16">Line</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
369                          <span class="symbol"><A NAME="ref_352_26" HREF="terminal_interface-curses__adb.htm#ref_350_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
370       <b>pragma</b> Import (C, Mvderwin, "mvderwin");
371    <b>begin</b>
372       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_350_16">Mvderwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_796_35">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_797_35">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_798_35">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
373          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
374       <b>end</b> <b>if</b>;
375    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_796_14">Move_Derived_Window</A>;
376
377    <b>procedure</b> <span class="symbol"><A NAME="ref_360_14" HREF="terminal_interface-curses__ads.htm#ref_813_14">Set_Synch_Mode</A></span> (<span class="symbol"><A NAME="ref_360_30" HREF="terminal_interface-curses__ads.htm#ref_813_30">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>  := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
378                              <span class="symbol"><A NAME="ref_361_30" HREF="terminal_interface-curses__ads.htm#ref_814_30">Mode</A></span> : Boolean := False)
379    <b>is</b>
380       <b>function</b> <span class="symbol"><A NAME="ref_363_16">Syncok</A></span> (<span class="symbol"><A NAME="ref_363_24" HREF="terminal_interface-curses__adb.htm#ref_363_16">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
381                        <span class="symbol"><A NAME="ref_364_24" HREF="terminal_interface-curses__adb.htm#ref_363_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
382       <b>pragma</b> Import (C, Syncok, "syncok");
383    <b>begin</b>
384       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_363_16">Syncok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_813_30">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_814_30">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
385          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
386       <b>end</b> <b>if</b>;
387    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_813_14">Set_Synch_Mode</A>;
388 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
389    <b>procedure</b> <span class="symbol"><A NAME="ref_372_14" HREF="terminal_interface-curses__ads.htm#ref_823_14">Add</A></span> (<span class="symbol"><A NAME="ref_372_19" HREF="terminal_interface-curses__ads.htm#ref_823_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
390                   <span class="symbol"><A NAME="ref_373_19" HREF="terminal_interface-curses__ads.htm#ref_824_19">Str</A></span> : String;
391                   <span class="symbol"><A NAME="ref_374_19" HREF="terminal_interface-curses__ads.htm#ref_825_19">Len</A></span> : Integer := -1)
392    <b>is</b>
393       <b>function</b> <span class="symbol"><A NAME="ref_376_16">Waddnstr</A></span> (<span class="symbol"><A NAME="ref_376_26" HREF="terminal_interface-curses__adb.htm#ref_376_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
394                          <span class="symbol"><A NAME="ref_377_26" HREF="terminal_interface-curses__adb.htm#ref_376_16">Str</A></span> : char_array;
395                          <span class="symbol"><A NAME="ref_378_26" HREF="terminal_interface-curses__adb.htm#ref_376_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
396       <b>pragma</b> Import (C, Waddnstr, "waddnstr");
397
398       <span class="symbol"><A NAME="ref_381_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_824_19">Str</A>'Length);
399       <span class="symbol"><A NAME="ref_382_7">Length</A></span> : size_t;
400    <b>begin</b>
401       To_C (<A HREF="terminal_interface-curses__ads.htm#ref_824_19">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_381_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_382_7">Length</A>);
402       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_376_16">Waddnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_823_19">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_381_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_825_19">Len</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
403          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
404       <b>end</b> <b>if</b>;
405    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_823_14">Add</A>;
406
407    <b>procedure</b> <span class="symbol"><A NAME="ref_390_14" HREF="terminal_interface-curses__ads.htm#ref_832_14">Add</A></span>
408      (<span class="symbol"><A NAME="ref_391_7" HREF="terminal_interface-curses__ads.htm#ref_832_19">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
409       <span class="symbol"><A NAME="ref_392_7" HREF="terminal_interface-curses__ads.htm#ref_833_19">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
410       <span class="symbol"><A NAME="ref_393_7" HREF="terminal_interface-curses__ads.htm#ref_834_19">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
411       <span class="symbol"><A NAME="ref_394_7" HREF="terminal_interface-curses__ads.htm#ref_835_19">Str</A></span>    : String;
412       <span class="symbol"><A NAME="ref_395_7" HREF="terminal_interface-curses__ads.htm#ref_836_19">Len</A></span>    : Integer := -1)
413    <b>is</b>
414    <b>begin</b>
415       <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_832_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_833_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_834_19">Column</A>);
416       <A HREF="terminal_interface-curses__ads.htm#ref_823_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_832_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_835_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_836_19">Len</A>);
417    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_832_14">Add</A>;
418 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
419    <b>procedure</b> <span class="symbol"><A NAME="ref_402_14" HREF="terminal_interface-curses__ads.htm#ref_847_14">Add</A></span>
420      (<span class="symbol"><A NAME="ref_403_7" HREF="terminal_interface-curses__ads.htm#ref_847_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
421       <span class="symbol"><A NAME="ref_404_7" HREF="terminal_interface-curses__ads.htm#ref_848_19">Str</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Attributed_String</A>;
422       <span class="symbol"><A NAME="ref_405_7" HREF="terminal_interface-curses__ads.htm#ref_849_19">Len</A></span> : Integer := -1)
423    <b>is</b>
424       <b>function</b> <span class="symbol"><A NAME="ref_407_16">Waddchnstr</A></span> (<span class="symbol"><A NAME="ref_407_28" HREF="terminal_interface-curses__adb.htm#ref_407_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
425                            <span class="symbol"><A NAME="ref_408_28" HREF="terminal_interface-curses__adb.htm#ref_407_16">Str</A></span> : chtype_array;
426                            <span class="symbol"><A NAME="ref_409_28" HREF="terminal_interface-curses__adb.htm#ref_407_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
427       <b>pragma</b> Import (C, Waddchnstr, "waddchnstr");
428
429       <span class="symbol"><A NAME="ref_412_7">Txt</A></span> : chtype_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_848_19">Str</A>'Length);
430    <b>begin</b>
431       <b>for</b> <span class="symbol"><A NAME="ref_414_11">Length</A></span> <b>in</b> 1 .. size_t (<A HREF="terminal_interface-curses__ads.htm#ref_848_19">Str</A>'Length) <b>loop</b>
432          <A HREF="terminal_interface-curses__adb.htm#ref_412_7">Txt</A> (<A HREF="terminal_interface-curses__adb.htm#ref_414_11">Length</A> - 1) := <A HREF="terminal_interface-curses__ads.htm#ref_848_19">Str</A> (Natural (<A HREF="terminal_interface-curses__adb.htm#ref_414_11">Length</A>));
433       <b>end</b> <b>loop</b>;
434       <A HREF="terminal_interface-curses__adb.htm#ref_412_7">Txt</A> (<A HREF="terminal_interface-curses__ads.htm#ref_848_19">Str</A>'Length) := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
435       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_407_16">Waddchnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_847_19">Win</A>,
436                      <A HREF="terminal_interface-curses__adb.htm#ref_412_7">Txt</A>,
437                      <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_849_19">Len</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
438       <b>then</b>
439          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
440       <b>end</b> <b>if</b>;
441    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_847_14">Add</A>;
442
443    <b>procedure</b> <span class="symbol"><A NAME="ref_426_14" HREF="terminal_interface-curses__ads.htm#ref_856_14">Add</A></span>
444      (<span class="symbol"><A NAME="ref_427_7" HREF="terminal_interface-curses__ads.htm#ref_856_19">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
445       <span class="symbol"><A NAME="ref_428_7" HREF="terminal_interface-curses__ads.htm#ref_857_19">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
446       <span class="symbol"><A NAME="ref_429_7" HREF="terminal_interface-curses__ads.htm#ref_858_19">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
447       <span class="symbol"><A NAME="ref_430_7" HREF="terminal_interface-curses__ads.htm#ref_859_19">Str</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Attributed_String</A>;
448       <span class="symbol"><A NAME="ref_431_7" HREF="terminal_interface-curses__ads.htm#ref_860_19">Len</A></span>    : Integer := -1)
449    <b>is</b>
450    <b>begin</b>
451       <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_856_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_857_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_858_19">Column</A>);
452       <A HREF="terminal_interface-curses__ads.htm#ref_847_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_856_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_859_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_860_19">Len</A>);
453    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_856_14">Add</A>;
454 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
455    <b>procedure</b> <span class="symbol"><A NAME="ref_438_14" HREF="terminal_interface-curses__ads.htm#ref_874_14">Border</A></span>
456      (<span class="symbol"><A NAME="ref_439_7" HREF="terminal_interface-curses__ads.htm#ref_875_7">Win</A></span>                       : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
457       <span class="symbol"><A NAME="ref_440_7" HREF="terminal_interface-curses__ads.htm#ref_876_7">Left_Side_Symbol</A></span>          : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
458       <span class="symbol"><A NAME="ref_441_7" HREF="terminal_interface-curses__ads.htm#ref_877_7">Right_Side_Symbol</A></span>         : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
459       <span class="symbol"><A NAME="ref_442_7" HREF="terminal_interface-curses__ads.htm#ref_878_7">Top_Side_Symbol</A></span>           : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
460       <span class="symbol"><A NAME="ref_443_7" HREF="terminal_interface-curses__ads.htm#ref_879_7">Bottom_Side_Symbol</A></span>        : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
461       <span class="symbol"><A NAME="ref_444_7" HREF="terminal_interface-curses__ads.htm#ref_880_7">Upper_Left_Corner_Symbol</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
462       <span class="symbol"><A NAME="ref_445_7" HREF="terminal_interface-curses__ads.htm#ref_881_7">Upper_Right_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
463       <span class="symbol"><A NAME="ref_446_7" HREF="terminal_interface-curses__ads.htm#ref_882_7">Lower_Left_Corner_Symbol</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
464       <span class="symbol"><A NAME="ref_447_7" HREF="terminal_interface-curses__ads.htm#ref_883_7">Lower_Right_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>)
465    <b>is</b>
466       <b>function</b> <span class="symbol"><A NAME="ref_449_16">Wborder</A></span> (<span class="symbol"><A NAME="ref_449_25" HREF="terminal_interface-curses__adb.htm#ref_449_16">W</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
467                         <span class="symbol"><A NAME="ref_450_25" HREF="terminal_interface-curses__adb.htm#ref_449_16">LS</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
468                         <span class="symbol"><A NAME="ref_451_25" HREF="terminal_interface-curses__adb.htm#ref_449_16">RS</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
469                         <span class="symbol"><A NAME="ref_452_25" HREF="terminal_interface-curses__adb.htm#ref_449_16">TS</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
470                         <span class="symbol"><A NAME="ref_453_25" HREF="terminal_interface-curses__adb.htm#ref_449_16">BS</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
471                         <span class="symbol"><A NAME="ref_454_25" HREF="terminal_interface-curses__adb.htm#ref_449_16">ULC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
472                         <span class="symbol"><A NAME="ref_455_25" HREF="terminal_interface-curses__adb.htm#ref_449_16">URC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
473                         <span class="symbol"><A NAME="ref_456_25" HREF="terminal_interface-curses__adb.htm#ref_449_16">LLC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
474                         <span class="symbol"><A NAME="ref_457_25" HREF="terminal_interface-curses__adb.htm#ref_449_16">LRC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
475       <b>pragma</b> Import (C, Wborder, "wborder");
476    <b>begin</b>
477       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_449_16">Wborder</A> (<A HREF="terminal_interface-curses__ads.htm#ref_875_7">Win</A>,
478                   <A HREF="terminal_interface-curses__ads.htm#ref_876_7">Left_Side_Symbol</A>,
479                   <A HREF="terminal_interface-curses__ads.htm#ref_877_7">Right_Side_Symbol</A>,
480                   <A HREF="terminal_interface-curses__ads.htm#ref_878_7">Top_Side_Symbol</A>,
481                   <A HREF="terminal_interface-curses__ads.htm#ref_879_7">Bottom_Side_Symbol</A>,
482                   <A HREF="terminal_interface-curses__ads.htm#ref_880_7">Upper_Left_Corner_Symbol</A>,
483                   <A HREF="terminal_interface-curses__ads.htm#ref_881_7">Upper_Right_Corner_Symbol</A>,
484                   <A HREF="terminal_interface-curses__ads.htm#ref_882_7">Lower_Left_Corner_Symbol</A>,
485                   <A HREF="terminal_interface-curses__ads.htm#ref_883_7">Lower_Right_Corner_Symbol</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
486       <b>then</b>
487          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
488       <b>end</b> <b>if</b>;
489    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_874_14">Border</A>;
490
491    <b>procedure</b> <span class="symbol"><A NAME="ref_474_14" HREF="terminal_interface-curses__ads.htm#ref_890_14">Box</A></span>
492      (<span class="symbol"><A NAME="ref_475_7" HREF="terminal_interface-curses__ads.htm#ref_891_7">Win</A></span>               : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
493       <span class="symbol"><A NAME="ref_476_7" HREF="terminal_interface-curses__ads.htm#ref_892_7">Vertical_Symbol</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
494       <span class="symbol"><A NAME="ref_477_7" HREF="terminal_interface-curses__ads.htm#ref_893_7">Horizontal_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>)
495    <b>is</b>
496    <b>begin</b>
497       <A HREF="terminal_interface-curses__ads.htm#ref_874_14">Border</A> (<A HREF="terminal_interface-curses__ads.htm#ref_891_7">Win</A>,
498               <A HREF="terminal_interface-curses__ads.htm#ref_892_7">Vertical_Symbol</A>, <A HREF="terminal_interface-curses__ads.htm#ref_892_7">Vertical_Symbol</A>,
499               <A HREF="terminal_interface-curses__ads.htm#ref_893_7">Horizontal_Symbol</A>, <A HREF="terminal_interface-curses__ads.htm#ref_893_7">Horizontal_Symbol</A>);
500    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_890_14">Box</A>;
501
502    <b>procedure</b> <span class="symbol"><A NAME="ref_485_14" HREF="terminal_interface-curses__ads.htm#ref_898_14">Horizontal_Line</A></span>
503      (<span class="symbol"><A NAME="ref_486_7" HREF="terminal_interface-curses__ads.htm#ref_899_7">Win</A></span>         : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
504       <span class="symbol"><A NAME="ref_487_7" HREF="terminal_interface-curses__ads.htm#ref_900_7">Line_Size</A></span>   : Natural;
505       <span class="symbol"><A NAME="ref_488_7" HREF="terminal_interface-curses__ads.htm#ref_901_7">Line_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>)
506    <b>is</b>
507       <b>function</b> <span class="symbol"><A NAME="ref_490_16">Whline</A></span> (<span class="symbol"><A NAME="ref_490_24" HREF="terminal_interface-curses__adb.htm#ref_490_16">W</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
508                        <span class="symbol"><A NAME="ref_491_24" HREF="terminal_interface-curses__adb.htm#ref_490_16">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
509                        <span class="symbol"><A NAME="ref_492_24" HREF="terminal_interface-curses__adb.htm#ref_490_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
510       <b>pragma</b> Import (C, Whline, "whline");
511    <b>begin</b>
512       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_490_16">Whline</A> (<A HREF="terminal_interface-curses__ads.htm#ref_899_7">Win</A>,
513                  <A HREF="terminal_interface-curses__ads.htm#ref_901_7">Line_Symbol</A>,
514                  <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_900_7">Line_Size</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
515       <b>then</b>
516          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
517       <b>end</b> <b>if</b>;
518    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_898_14">Horizontal_Line</A>;
519
520    <b>procedure</b> <span class="symbol"><A NAME="ref_503_14" HREF="terminal_interface-curses__ads.htm#ref_907_14">Vertical_Line</A></span>
521      (<span class="symbol"><A NAME="ref_504_7" HREF="terminal_interface-curses__ads.htm#ref_908_7">Win</A></span>         : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
522       <span class="symbol"><A NAME="ref_505_7" HREF="terminal_interface-curses__ads.htm#ref_909_7">Line_Size</A></span>   : Natural;
523       <span class="symbol"><A NAME="ref_506_7" HREF="terminal_interface-curses__ads.htm#ref_910_7">Line_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>)
524    <b>is</b>
525       <b>function</b> <span class="symbol"><A NAME="ref_508_16">Wvline</A></span> (<span class="symbol"><A NAME="ref_508_24" HREF="terminal_interface-curses__adb.htm#ref_508_16">W</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
526                        <span class="symbol"><A NAME="ref_509_24" HREF="terminal_interface-curses__adb.htm#ref_508_16">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
527                        <span class="symbol"><A NAME="ref_510_24" HREF="terminal_interface-curses__adb.htm#ref_508_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
528       <b>pragma</b> Import (C, Wvline, "wvline");
529    <b>begin</b>
530       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_508_16">Wvline</A> (<A HREF="terminal_interface-curses__ads.htm#ref_908_7">Win</A>,
531                  <A HREF="terminal_interface-curses__ads.htm#ref_910_7">Line_Symbol</A>,
532                  <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_909_7">Line_Size</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
533       <b>then</b>
534          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
535       <b>end</b> <b>if</b>;
536    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_907_14">Vertical_Line</A>;
537
538 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
539    <b>function</b> <span class="symbol"><A NAME="ref_522_13" HREF="terminal_interface-curses__ads.htm#ref_921_13">Get_Keystroke</A></span> (<span class="symbol"><A NAME="ref_522_28" HREF="terminal_interface-curses__ads.htm#ref_921_28">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
540      <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>
541    <b>is</b>
542       <b>function</b> <span class="symbol"><A NAME="ref_525_16">Wgetch</A></span> (<span class="symbol"><A NAME="ref_525_24" HREF="terminal_interface-curses__adb.htm#ref_525_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
543       <b>pragma</b> Import (C, Wgetch, "wgetch");
544
545       <span class="symbol"><A NAME="ref_528_7">C</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_525_16">Wgetch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_921_28">Win</A>);
546    <b>begin</b>
547       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_528_7">C</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
548          <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_88_4">Key_None</A>;
549       <b>else</b>
550          <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A> (<A HREF="terminal_interface-curses__adb.htm#ref_528_7">C</A>);
551       <b>end</b> <b>if</b>;
552    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_921_13">Get_Keystroke</A>;
553
554    <b>procedure</b> <span class="symbol"><A NAME="ref_537_14" HREF="terminal_interface-curses__ads.htm#ref_932_14">Undo_Keystroke</A></span> (<span class="symbol"><A NAME="ref_537_30" HREF="terminal_interface-curses__ads.htm#ref_932_30">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>)
555    <b>is</b>
556       <b>function</b> <span class="symbol"><A NAME="ref_539_16">Ungetch</A></span> (<span class="symbol"><A NAME="ref_539_25" HREF="terminal_interface-curses__adb.htm#ref_539_16">Ch</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
557       <b>pragma</b> Import (C, Ungetch, "ungetch");
558    <b>begin</b>
559       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_539_16">Ungetch</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_932_30">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
560          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
561       <b>end</b> <b>if</b>;
562    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_932_14">Undo_Keystroke</A>;
563
564    <b>function</b> <span class="symbol"><A NAME="ref_547_13" HREF="terminal_interface-curses__ads.htm#ref_937_13">Has_Key</A></span> (<span class="symbol"><A NAME="ref_547_22" HREF="terminal_interface-curses__ads.htm#ref_937_22">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>) <b>return</b> Boolean
565    <b>is</b>
566       <b>function</b> <span class="symbol"><A NAME="ref_549_16">Haskey</A></span> (<span class="symbol"><A NAME="ref_549_24" HREF="terminal_interface-curses__adb.htm#ref_549_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
567       <b>pragma</b> Import (C, Haskey, "has_key");
568    <b>begin</b>
569       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_549_16">Haskey</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_937_22">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_66_4">Curses_False</A> <b>then</b>
570          <b>return</b> False;
571       <b>else</b>
572          <b>return</b> True;
573       <b>end</b> <b>if</b>;
574    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_937_13">Has_Key</A>;
575
576    <b>function</b> <span class="symbol"><A NAME="ref_559_13" HREF="terminal_interface-curses__ads.htm#ref_944_13">Is_Function_Key</A></span> (<span class="symbol"><A NAME="ref_559_30" HREF="terminal_interface-curses__ads.htm#ref_944_30">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>) <b>return</b> Boolean
577    <b>is</b>
578       <span class="symbol"><A NAME="ref_561_7">L</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>  := <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> (Natural (<A HREF="terminal_interface-curses__ads.htm#ref_110_4">Key_F0</A>) +
579         Natural (<A HREF="terminal_interface-curses__ads.htm#ref_948_12">Function_Key_Number</A>'Last));
580    <b>begin</b>
581       <b>if</b> (<A HREF="terminal_interface-curses__ads.htm#ref_944_30">Key</A> &gt;= <A HREF="terminal_interface-curses__ads.htm#ref_110_4">Key_F0</A>) <b>and</b> <b>then</b> (<A HREF="terminal_interface-curses__ads.htm#ref_944_30">Key</A> &lt;= <A HREF="terminal_interface-curses__adb.htm#ref_561_7">L</A>) <b>then</b>
582          <b>return</b> True;
583       <b>else</b>
584          <b>return</b> False;
585       <b>end</b> <b>if</b>;
586    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_944_13">Is_Function_Key</A>;
587
588    <b>function</b> <span class="symbol"><A NAME="ref_571_13" HREF="terminal_interface-curses__ads.htm#ref_951_13">Function_Key</A></span> (<span class="symbol"><A NAME="ref_571_27" HREF="terminal_interface-curses__ads.htm#ref_951_27">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>)
589                           <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_948_12">Function_Key_Number</A>
590    <b>is</b>
591    <b>begin</b>
592       <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_944_13">Is_Function_Key</A> (<A HREF="terminal_interface-curses__ads.htm#ref_951_27">Key</A>) <b>then</b>
593          <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_948_12">Function_Key_Number</A> (<A HREF="terminal_interface-curses__ads.htm#ref_951_27">Key</A> - <A HREF="terminal_interface-curses__ads.htm#ref_110_4">Key_F0</A>);
594       <b>else</b>
595          <b>raise</b> Constraint_Error;
596       <b>end</b> <b>if</b>;
597    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_951_13">Function_Key</A>;
598
599    <b>function</b> <span class="symbol"><A NAME="ref_582_13" HREF="terminal_interface-curses__ads.htm#ref_956_13">Function_Key_Code</A></span> (<span class="symbol"><A NAME="ref_582_32" HREF="terminal_interface-curses__ads.htm#ref_956_32">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_948_12">Function_Key_Number</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>
600    <b>is</b>
601    <b>begin</b>
602       <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A> (Natural (<A HREF="terminal_interface-curses__ads.htm#ref_110_4">Key_F0</A>) + Natural (<A HREF="terminal_interface-curses__ads.htm#ref_956_32">Key</A>));
603    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_956_13">Function_Key_Code</A>;
604 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
605    <b>procedure</b> <span class="symbol"><A NAME="ref_588_14" HREF="terminal_interface-curses__ads.htm#ref_970_14">Standout</A></span> (<span class="symbol"><A NAME="ref_588_24" HREF="terminal_interface-curses__ads.htm#ref_970_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>  := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
606                        <span class="symbol"><A NAME="ref_589_24" HREF="terminal_interface-curses__ads.htm#ref_971_24">On</A></span>  : Boolean := True)
607    <b>is</b>
608       <b>function</b> <span class="symbol"><A NAME="ref_591_16">wstandout</A></span> (<span class="symbol"><A NAME="ref_591_27" HREF="terminal_interface-curses__adb.htm#ref_591_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
609       <b>pragma</b> Import (C, wstandout, "wstandout");
610       <b>function</b> <span class="symbol"><A NAME="ref_593_16">wstandend</A></span> (<span class="symbol"><A NAME="ref_593_27" HREF="terminal_interface-curses__adb.htm#ref_593_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
611       <b>pragma</b> Import (C, wstandend, "wstandend");
612
613       <span class="symbol"><A NAME="ref_596_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
614    <b>begin</b>
615       <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_971_24">On</A> <b>then</b>
616          <A HREF="terminal_interface-curses__adb.htm#ref_596_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_591_16">wstandout</A> (<A HREF="terminal_interface-curses__ads.htm#ref_970_24">Win</A>);
617       <b>else</b>
618          <A HREF="terminal_interface-curses__adb.htm#ref_596_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_593_16">wstandend</A> (<A HREF="terminal_interface-curses__ads.htm#ref_970_24">Win</A>);
619       <b>end</b> <b>if</b>;
620       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_596_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
621          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
622       <b>end</b> <b>if</b>;
623    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_970_14">Standout</A>;
624
625    <b>procedure</b> <span class="symbol"><A NAME="ref_608_14" HREF="terminal_interface-curses__ads.htm#ref_976_14">Switch_Character_Attribute</A></span>
626      (<span class="symbol"><A NAME="ref_609_7" HREF="terminal_interface-curses__ads.htm#ref_977_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
627       <span class="symbol"><A NAME="ref_610_7" HREF="terminal_interface-curses__ads.htm#ref_978_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
628       <span class="symbol"><A NAME="ref_611_7" HREF="terminal_interface-curses__ads.htm#ref_979_7">On</A></span>   : Boolean := True)
629    <b>is</b>
630       <b>function</b> <span class="symbol"><A NAME="ref_613_16">Wattron</A></span> (<span class="symbol"><A NAME="ref_613_25" HREF="terminal_interface-curses__adb.htm#ref_613_16">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
631                         <span class="symbol"><A NAME="ref_614_25" HREF="terminal_interface-curses__adb.htm#ref_613_16">C_Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
632       <b>pragma</b> Import (C, Wattron, "wattr_on");
633       <b>function</b> <span class="symbol"><A NAME="ref_616_16">Wattroff</A></span> (<span class="symbol"><A NAME="ref_616_26" HREF="terminal_interface-curses__adb.htm#ref_616_16">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
634                          <span class="symbol"><A NAME="ref_617_26" HREF="terminal_interface-curses__adb.htm#ref_616_16">C_Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
635       <b>pragma</b> Import (C, Wattroff, "wattr_off");
636       <span class="comment"><EM>--  In Ada we use the On Boolean to control whether or not we want to</EM></span>
637       <span class="comment"><EM>--  switch on or off the attributes in the set.</EM></span>
638       <span class="symbol"><A NAME="ref_621_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
639       <span class="symbol"><A NAME="ref_622_7">AC</A></span>  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    =&gt; Character'First,
640                                               <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
641                                               <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_978_7">Attr</A>);
642    <b>begin</b>
643       <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_979_7">On</A> <b>then</b>
644          <A HREF="terminal_interface-curses__adb.htm#ref_621_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_613_16">Wattron</A>  (<A HREF="terminal_interface-curses__ads.htm#ref_977_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_622_7">AC</A>);
645       <b>else</b>
646          <A HREF="terminal_interface-curses__adb.htm#ref_621_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_616_16">Wattroff</A> (<A HREF="terminal_interface-curses__ads.htm#ref_977_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_622_7">AC</A>);
647       <b>end</b> <b>if</b>;
648       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_621_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
649          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
650       <b>end</b> <b>if</b>;
651    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_976_14">Switch_Character_Attribute</A>;
652
653    <b>procedure</b> <span class="symbol"><A NAME="ref_636_14" HREF="terminal_interface-curses__ads.htm#ref_987_14">Set_Character_Attributes</A></span>
654      (<span class="symbol"><A NAME="ref_637_7" HREF="terminal_interface-curses__ads.htm#ref_988_7">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
655       <span class="symbol"><A NAME="ref_638_7" HREF="terminal_interface-curses__ads.htm#ref_989_7">Attr</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
656       <span class="symbol"><A NAME="ref_639_7" HREF="terminal_interface-curses__ads.htm#ref_990_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
657    <b>is</b>
658       <b>function</b> <span class="symbol"><A NAME="ref_641_16">Wattrset</A></span> (<span class="symbol"><A NAME="ref_641_26" HREF="terminal_interface-curses__adb.htm#ref_641_16">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
659                          <span class="symbol"><A NAME="ref_642_26" HREF="terminal_interface-curses__adb.htm#ref_641_16">C_Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
660       <b>pragma</b> Import (C, Wattrset, "wattrset"); <span class="comment"><EM>-- ??? wattr_set</EM></span>
661    <b>begin</b>
662       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_641_16">Wattrset</A> (<A HREF="terminal_interface-curses__ads.htm#ref_988_7">Win</A>, (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> =&gt; Character'First,
663                          <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_990_7">Color</A>,
664                          <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_989_7">Attr</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
665       <b>then</b>
666          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
667       <b>end</b> <b>if</b>;
668    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_987_14">Set_Character_Attributes</A>;
669
670    <b>function</b> <span class="symbol"><A NAME="ref_653_13" HREF="terminal_interface-curses__ads.htm#ref_996_13">Get_Character_Attribute</A></span> (<span class="symbol"><A NAME="ref_653_38" HREF="terminal_interface-curses__ads.htm#ref_997_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
671                                      <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>
672    <b>is</b>
673       <b>function</b> <span class="symbol"><A NAME="ref_656_16">Wattrget</A></span> (<span class="symbol"><A NAME="ref_656_26" HREF="terminal_interface-curses__adb.htm#ref_656_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
674                          <span class="symbol"><A NAME="ref_657_26" HREF="terminal_interface-curses__adb.htm#ref_656_16">Atr</A></span> : <b>access</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
675                          <span class="symbol"><A NAME="ref_658_26" HREF="terminal_interface-curses__adb.htm#ref_656_16">Col</A></span> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>;
676                          <span class="symbol"><A NAME="ref_659_26" HREF="terminal_interface-curses__adb.htm#ref_656_16">Opt</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
677       <b>pragma</b> Import (C, Wattrget, "wattr_get");
678
679       <span class="symbol"><A NAME="ref_662_7">Attr</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
680       <span class="symbol"><A NAME="ref_663_7">Col</A></span>  : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>;
681       <span class="symbol"><A NAME="ref_664_7">Res</A></span>  : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_656_16">Wattrget</A> (<A HREF="terminal_interface-curses__ads.htm#ref_997_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_662_7">Attr</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_663_7">Col</A>'<b>Access</b>,
682                                          System.Null_Address);
683    <b>begin</b>
684       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_664_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_62_4">Curses_Ok</A> <b>then</b>
685          <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_662_7">Attr</A>.<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
686       <b>else</b>
687          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
688       <b>end</b> <b>if</b>;
689    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_996_13">Get_Character_Attribute</A>;
690
691    <b>function</b> <span class="symbol"><A NAME="ref_674_13" HREF="terminal_interface-curses__ads.htm#ref_1002_13">Get_Character_Attribute</A></span> (<span class="symbol"><A NAME="ref_674_38" HREF="terminal_interface-curses__ads.htm#ref_1003_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
692                                      <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>
693    <b>is</b>
694       <b>function</b> <span class="symbol"><A NAME="ref_677_16">Wattrget</A></span> (<span class="symbol"><A NAME="ref_677_26" HREF="terminal_interface-curses__adb.htm#ref_677_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
695                          <span class="symbol"><A NAME="ref_678_26" HREF="terminal_interface-curses__adb.htm#ref_677_16">Atr</A></span> : <b>access</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
696                          <span class="symbol"><A NAME="ref_679_26" HREF="terminal_interface-curses__adb.htm#ref_677_16">Col</A></span> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>;
697                          <span class="symbol"><A NAME="ref_680_26" HREF="terminal_interface-curses__adb.htm#ref_677_16">Opt</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
698       <b>pragma</b> Import (C, Wattrget, "wattr_get");
699
700       <span class="symbol"><A NAME="ref_683_7">Attr</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
701       <span class="symbol"><A NAME="ref_684_7">Col</A></span>  : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>;
702       <span class="symbol"><A NAME="ref_685_7">Res</A></span>  : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_677_16">Wattrget</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1003_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_683_7">Attr</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_684_7">Col</A>'<b>Access</b>,
703                                          System.Null_Address);
704    <b>begin</b>
705       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_685_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_62_4">Curses_Ok</A> <b>then</b>
706          <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_683_7">Attr</A>.<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A>;
707       <b>else</b>
708          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
709       <b>end</b> <b>if</b>;
710    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1002_13">Get_Character_Attribute</A>;
711
712    <b>procedure</b> <span class="symbol"><A NAME="ref_695_14" HREF="terminal_interface-curses__ads.htm#ref_1008_14">Set_Color</A></span> (<span class="symbol"><A NAME="ref_695_25" HREF="terminal_interface-curses__ads.htm#ref_1008_25">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
713                         <span class="symbol"><A NAME="ref_696_25" HREF="terminal_interface-curses__ads.htm#ref_1009_25">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>)
714    <b>is</b>
715       <b>function</b> <span class="symbol"><A NAME="ref_698_16">Wset_Color</A></span> (<span class="symbol"><A NAME="ref_698_28" HREF="terminal_interface-curses__adb.htm#ref_698_16">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
716                            <span class="symbol"><A NAME="ref_699_28" HREF="terminal_interface-curses__adb.htm#ref_698_16">Color</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>;
717                            <span class="symbol"><A NAME="ref_700_28" HREF="terminal_interface-curses__adb.htm#ref_698_16">Opts</A></span>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Void_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
718       <b>pragma</b> Import (C, Wset_Color, "wcolor_set");
719    <b>begin</b>
720       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_698_16">Wset_Color</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1008_25">Win</A>,
721                      <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1009_25">Pair</A>),
722                      <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Void_Ptr</A> (System.Null_Address)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
723       <b>then</b>
724          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
725       <b>end</b> <b>if</b>;
726    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1008_14">Set_Color</A>;
727
728    <b>procedure</b> <span class="symbol"><A NAME="ref_711_14" HREF="terminal_interface-curses__ads.htm#ref_1015_14">Change_Attributes</A></span>
729      (<span class="symbol"><A NAME="ref_712_7" HREF="terminal_interface-curses__ads.htm#ref_1016_7">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
730       <span class="symbol"><A NAME="ref_713_7" HREF="terminal_interface-curses__ads.htm#ref_1017_7">Count</A></span> : Integer := -1;
731       <span class="symbol"><A NAME="ref_714_7" HREF="terminal_interface-curses__ads.htm#ref_1018_7">Attr</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
732       <span class="symbol"><A NAME="ref_715_7" HREF="terminal_interface-curses__ads.htm#ref_1019_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
733    <b>is</b>
734       <b>function</b> <span class="symbol"><A NAME="ref_717_16">Wchgat</A></span> (<span class="symbol"><A NAME="ref_717_24" HREF="terminal_interface-curses__adb.htm#ref_717_16">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
735                        <span class="symbol"><A NAME="ref_718_24" HREF="terminal_interface-curses__adb.htm#ref_717_16">Cnt</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
736                        <span class="symbol"><A NAME="ref_719_24" HREF="terminal_interface-curses__adb.htm#ref_717_16">Attr</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
737                        <span class="symbol"><A NAME="ref_720_24" HREF="terminal_interface-curses__adb.htm#ref_717_16">Color</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>;
738                        <span class="symbol"><A NAME="ref_721_24" HREF="terminal_interface-curses__adb.htm#ref_717_16">Opts</A></span>  : System.Address := System.Null_Address)
739                        <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
740       <b>pragma</b> Import (C, Wchgat, "wchgat");
741    <b>begin</b>
742       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_717_16">Wchgat</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1016_7">Win</A>,
743                  <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1017_7">Count</A>),
744                  (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> =&gt; Character'First,
745                   <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
746                   <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_1018_7">Attr</A>),
747                  <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1019_7">Color</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
748       <b>then</b>
749          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
750       <b>end</b> <b>if</b>;
751    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1015_14">Change_Attributes</A>;
752
753    <b>procedure</b> <span class="symbol"><A NAME="ref_736_14" HREF="terminal_interface-curses__ads.htm#ref_1024_14">Change_Attributes</A></span>
754      (<span class="symbol"><A NAME="ref_737_7" HREF="terminal_interface-curses__ads.htm#ref_1025_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
755       <span class="symbol"><A NAME="ref_738_7" HREF="terminal_interface-curses__ads.htm#ref_1026_7">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>'First;
756       <span class="symbol"><A NAME="ref_739_7" HREF="terminal_interface-curses__ads.htm#ref_1027_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>'First;
757       <span class="symbol"><A NAME="ref_740_7" HREF="terminal_interface-curses__ads.htm#ref_1028_7">Count</A></span>  : Integer := -1;
758       <span class="symbol"><A NAME="ref_741_7" HREF="terminal_interface-curses__ads.htm#ref_1029_7">Attr</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
759       <span class="symbol"><A NAME="ref_742_7" HREF="terminal_interface-curses__ads.htm#ref_1030_7">Color</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
760    <b>is</b>
761    <b>begin</b>
762       <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1025_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1026_7">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1027_7">Column</A>);
763       <A HREF="terminal_interface-curses__ads.htm#ref_1015_14">Change_Attributes</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1025_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1028_7">Count</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1029_7">Attr</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1030_7">Color</A>);
764    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1024_14">Change_Attributes</A>;
765 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
766    <b>procedure</b> <span class="symbol"><A NAME="ref_749_14" HREF="terminal_interface-curses__ads.htm#ref_1040_14">Beep</A></span>
767    <b>is</b>
768       <b>function</b> <span class="symbol"><A NAME="ref_751_16">Beeper</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
769       <b>pragma</b> Import (C, Beeper, "beep");
770    <b>begin</b>
771       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_751_16">Beeper</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
772          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
773       <b>end</b> <b>if</b>;
774    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1040_14">Beep</A>;
775
776    <b>procedure</b> <span class="symbol"><A NAME="ref_759_14" HREF="terminal_interface-curses__ads.htm#ref_1045_14">Flash_Screen</A></span>
777    <b>is</b>
778       <b>function</b> <span class="symbol"><A NAME="ref_761_16">Flash</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
779       <b>pragma</b> Import (C, Flash, "flash");
780    <b>begin</b>
781       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_761_16">Flash</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
782          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
783       <b>end</b> <b>if</b>;
784    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1045_14">Flash_Screen</A>;
785 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
786    <b>procedure</b> <span class="symbol"><A NAME="ref_769_14" HREF="terminal_interface-curses__ads.htm#ref_1056_14">Set_Cbreak_Mode</A></span> (<span class="symbol"><A NAME="ref_769_31" HREF="terminal_interface-curses__ads.htm#ref_1056_31">SwitchOn</A></span> : Boolean := True)
787    <b>is</b>
788       <b>function</b> <span class="symbol"><A NAME="ref_771_16">Cbreak</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
789       <b>pragma</b> Import (C, Cbreak, "cbreak");
790       <b>function</b> <span class="symbol"><A NAME="ref_773_16">NoCbreak</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
791       <b>pragma</b> Import (C, NoCbreak, "nocbreak");
792
793       <span class="symbol"><A NAME="ref_776_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
794    <b>begin</b>
795       <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1056_31">SwitchOn</A> <b>then</b>
796          <A HREF="terminal_interface-curses__adb.htm#ref_776_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_771_16">Cbreak</A>;
797       <b>else</b>
798          <A HREF="terminal_interface-curses__adb.htm#ref_776_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_773_16">NoCbreak</A>;
799       <b>end</b> <b>if</b>;
800       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_776_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
801          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
802       <b>end</b> <b>if</b>;
803    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1056_14">Set_Cbreak_Mode</A>;
804
805    <b>procedure</b> <span class="symbol"><A NAME="ref_788_14" HREF="terminal_interface-curses__ads.htm#ref_1062_14">Set_Raw_Mode</A></span> (<span class="symbol"><A NAME="ref_788_28" HREF="terminal_interface-curses__ads.htm#ref_1062_28">SwitchOn</A></span> : Boolean := True)
806    <b>is</b>
807       <b>function</b> <span class="symbol"><A NAME="ref_790_16">Raw</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
808       <b>pragma</b> Import (C, Raw, "raw");
809       <b>function</b> <span class="symbol"><A NAME="ref_792_16">NoRaw</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
810       <b>pragma</b> Import (C, NoRaw, "noraw");
811
812       <span class="symbol"><A NAME="ref_795_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
813    <b>begin</b>
814       <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1062_28">SwitchOn</A> <b>then</b>
815          <A HREF="terminal_interface-curses__adb.htm#ref_795_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_790_16">Raw</A>;
816       <b>else</b>
817          <A HREF="terminal_interface-curses__adb.htm#ref_795_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_792_16">NoRaw</A>;
818       <b>end</b> <b>if</b>;
819       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_795_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
820          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
821       <b>end</b> <b>if</b>;
822    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1062_14">Set_Raw_Mode</A>;
823
824    <b>procedure</b> <span class="symbol"><A NAME="ref_807_14" HREF="terminal_interface-curses__ads.htm#ref_1068_14">Set_Echo_Mode</A></span> (<span class="symbol"><A NAME="ref_807_29" HREF="terminal_interface-curses__ads.htm#ref_1068_29">SwitchOn</A></span> : Boolean := True)
825    <b>is</b>
826       <b>function</b> <span class="symbol"><A NAME="ref_809_16">Echo</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
827       <b>pragma</b> Import (C, Echo, "echo");
828       <b>function</b> <span class="symbol"><A NAME="ref_811_16">NoEcho</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
829       <b>pragma</b> Import (C, NoEcho, "noecho");
830
831       <span class="symbol"><A NAME="ref_814_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
832    <b>begin</b>
833       <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1068_29">SwitchOn</A> <b>then</b>
834          <A HREF="terminal_interface-curses__adb.htm#ref_814_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_809_16">Echo</A>;
835       <b>else</b>
836          <A HREF="terminal_interface-curses__adb.htm#ref_814_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_811_16">NoEcho</A>;
837       <b>end</b> <b>if</b>;
838       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_814_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
839          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
840       <b>end</b> <b>if</b>;
841    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1068_14">Set_Echo_Mode</A>;
842
843    <b>procedure</b> <span class="symbol"><A NAME="ref_826_14" HREF="terminal_interface-curses__ads.htm#ref_1074_14">Set_Meta_Mode</A></span> (<span class="symbol"><A NAME="ref_826_29" HREF="terminal_interface-curses__ads.htm#ref_1074_29">Win</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
844                             <span class="symbol"><A NAME="ref_827_29" HREF="terminal_interface-curses__ads.htm#ref_1075_29">SwitchOn</A></span> : Boolean := True)
845    <b>is</b>
846       <b>function</b> <span class="symbol"><A NAME="ref_829_16">Meta</A></span> (<span class="symbol"><A NAME="ref_829_22" HREF="terminal_interface-curses__adb.htm#ref_829_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_829_34" HREF="terminal_interface-curses__adb.htm#ref_829_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
847       <b>pragma</b> Import (C, Meta, "meta");
848    <b>begin</b>
849       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_829_16">Meta</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1074_29">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1075_29">SwitchOn</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
850          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
851       <b>end</b> <b>if</b>;
852    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1074_14">Set_Meta_Mode</A>;
853
854    <b>procedure</b> <span class="symbol"><A NAME="ref_837_14" HREF="terminal_interface-curses__ads.htm#ref_1080_14">Set_KeyPad_Mode</A></span> (<span class="symbol"><A NAME="ref_837_31" HREF="terminal_interface-curses__ads.htm#ref_1080_31">Win</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
855                               <span class="symbol"><A NAME="ref_838_31" HREF="terminal_interface-curses__ads.htm#ref_1081_31">SwitchOn</A></span> : Boolean := True)
856    <b>is</b>
857       <b>function</b> <span class="symbol"><A NAME="ref_840_16">Keypad</A></span> (<span class="symbol"><A NAME="ref_840_24" HREF="terminal_interface-curses__adb.htm#ref_840_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_840_36" HREF="terminal_interface-curses__adb.htm#ref_840_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
858       <b>pragma</b> Import (C, Keypad, "keypad");
859    <b>begin</b>
860       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_840_16">Keypad</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1080_31">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1081_31">SwitchOn</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
861          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
862       <b>end</b> <b>if</b>;
863    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1080_14">Set_KeyPad_Mode</A>;
864
865    <b>function</b> <span class="symbol"><A NAME="ref_848_13" HREF="terminal_interface-curses__ads.htm#ref_1085_13">Get_KeyPad_Mode</A></span> (<span class="symbol"><A NAME="ref_848_30" HREF="terminal_interface-curses__ads.htm#ref_1085_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
866                              <b>return</b> Boolean
867    <b>is</b>
868       <b>function</b> <span class="symbol"><A NAME="ref_851_16">Is_Keypad</A></span> (<span class="symbol"><A NAME="ref_851_27" HREF="terminal_interface-curses__adb.htm#ref_851_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
869       <b>pragma</b> Import (C, Is_Keypad, "is_keypad");
870    <b>begin</b>
871       <b>return</b> (<A HREF="terminal_interface-curses__adb.htm#ref_851_16">Is_Keypad</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1085_30">Win</A>) /= <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A>);
872    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1085_13">Get_KeyPad_Mode</A>;
873
874    <b>procedure</b> <span class="symbol"><A NAME="ref_857_14" HREF="terminal_interface-curses__ads.htm#ref_1093_14">Half_Delay</A></span> (<span class="symbol"><A NAME="ref_857_26" HREF="terminal_interface-curses__ads.htm#ref_1093_26">Amount</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1090_9">Half_Delay_Amount</A>)
875    <b>is</b>
876       <b>function</b> <span class="symbol"><A NAME="ref_859_16">Halfdelay</A></span> (<span class="symbol"><A NAME="ref_859_27" HREF="terminal_interface-curses__adb.htm#ref_859_16">Amount</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
877       <b>pragma</b> Import (C, Halfdelay, "halfdelay");
878    <b>begin</b>
879       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_859_16">Halfdelay</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1093_26">Amount</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
880          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
881       <b>end</b> <b>if</b>;
882    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1093_14">Half_Delay</A>;
883
884    <b>procedure</b> <span class="symbol"><A NAME="ref_867_14" HREF="terminal_interface-curses__ads.htm#ref_1098_14">Set_Flush_On_Interrupt_Mode</A></span>
885      (<span class="symbol"><A NAME="ref_868_7" HREF="terminal_interface-curses__ads.htm#ref_1099_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
886       <span class="symbol"><A NAME="ref_869_7" HREF="terminal_interface-curses__ads.htm#ref_1100_7">Mode</A></span> : Boolean := True)
887    <b>is</b>
888       <b>function</b> <span class="symbol"><A NAME="ref_871_16">Intrflush</A></span> (<span class="symbol"><A NAME="ref_871_27" HREF="terminal_interface-curses__adb.htm#ref_871_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_871_41" HREF="terminal_interface-curses__adb.htm#ref_871_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
889       <b>pragma</b> Import (C, Intrflush, "intrflush");
890    <b>begin</b>
891       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_871_16">Intrflush</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1099_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1100_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
892          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
893       <b>end</b> <b>if</b>;
894    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1098_14">Set_Flush_On_Interrupt_Mode</A>;
895
896    <b>procedure</b> <span class="symbol"><A NAME="ref_879_14" HREF="terminal_interface-curses__ads.htm#ref_1105_14">Set_Queue_Interrupt_Mode</A></span>
897      (<span class="symbol"><A NAME="ref_880_7" HREF="terminal_interface-curses__ads.htm#ref_1106_7">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
898       <span class="symbol"><A NAME="ref_881_7" HREF="terminal_interface-curses__ads.htm#ref_1107_7">Flush</A></span> : Boolean := True)
899    <b>is</b>
900       <b>procedure</b> <span class="symbol"><A NAME="ref_883_17">Qiflush</A></span>;
901       <b>pragma</b> Import (C, Qiflush, "qiflush");
902       <b>procedure</b> <span class="symbol"><A NAME="ref_885_17">No_Qiflush</A></span>;
903       <b>pragma</b> Import (C, No_Qiflush, "noqiflush");
904    <b>begin</b>
905       <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1106_7">Win</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
906          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
907       <b>end</b> <b>if</b>;
908       <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1107_7">Flush</A> <b>then</b>
909          <A HREF="terminal_interface-curses__adb.htm#ref_883_17">Qiflush</A>;
910       <b>else</b>
911          <A HREF="terminal_interface-curses__adb.htm#ref_885_17">No_Qiflush</A>;
912       <b>end</b> <b>if</b>;
913    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1105_14">Set_Queue_Interrupt_Mode</A>;
914
915    <b>procedure</b> <span class="symbol"><A NAME="ref_898_14" HREF="terminal_interface-curses__ads.htm#ref_1113_14">Set_NoDelay_Mode</A></span>
916      (<span class="symbol"><A NAME="ref_899_7" HREF="terminal_interface-curses__ads.htm#ref_1114_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
917       <span class="symbol"><A NAME="ref_900_7" HREF="terminal_interface-curses__ads.htm#ref_1115_7">Mode</A></span> : Boolean := False)
918    <b>is</b>
919       <b>function</b> <span class="symbol"><A NAME="ref_902_16">Nodelay</A></span> (<span class="symbol"><A NAME="ref_902_25" HREF="terminal_interface-curses__adb.htm#ref_902_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_902_39" HREF="terminal_interface-curses__adb.htm#ref_902_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
920       <b>pragma</b> Import (C, Nodelay, "nodelay");
921    <b>begin</b>
922       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_902_16">Nodelay</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1114_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1115_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
923          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
924       <b>end</b> <b>if</b>;
925    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1113_14">Set_NoDelay_Mode</A>;
926
927    <b>procedure</b> <span class="symbol"><A NAME="ref_910_14" HREF="terminal_interface-curses__ads.htm#ref_1122_14">Set_Timeout_Mode</A></span> (<span class="symbol"><A NAME="ref_910_32" HREF="terminal_interface-curses__ads.htm#ref_1122_32">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
928                                <span class="symbol"><A NAME="ref_911_32" HREF="terminal_interface-curses__ads.htm#ref_1123_32">Mode</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_1119_9">Timeout_Mode</A>;
929                                <span class="symbol"><A NAME="ref_912_32" HREF="terminal_interface-curses__ads.htm#ref_1124_32">Amount</A></span> : Natural)
930    <b>is</b>
931       <b>procedure</b> <span class="symbol"><A NAME="ref_914_17">Wtimeout</A></span> (<span class="symbol"><A NAME="ref_914_27" HREF="terminal_interface-curses__adb.htm#ref_914_17">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_914_41" HREF="terminal_interface-curses__adb.htm#ref_914_17">Amount</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>);
932       <b>pragma</b> Import (C, Wtimeout, "wtimeout");
933
934       <span class="symbol"><A NAME="ref_917_7">Time</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
935    <b>begin</b>
936       <b>case</b> <A HREF="terminal_interface-curses__ads.htm#ref_1123_32">Mode</A> <b>is</b>
937          <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1119_26">Blocking</A>     =&gt; <A HREF="terminal_interface-curses__adb.htm#ref_917_7">Time</A> := -1;
938          <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1119_36">Non_Blocking</A> =&gt; <A HREF="terminal_interface-curses__adb.htm#ref_917_7">Time</A> := 0;
939          <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1119_50">Delayed</A>      =&gt;
940             <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1124_32">Amount</A> = 0 <b>then</b>
941                <b>raise</b> Constraint_Error;
942             <b>end</b> <b>if</b>;
943             <A HREF="terminal_interface-curses__adb.htm#ref_917_7">Time</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1124_32">Amount</A>);
944       <b>end</b> <b>case</b>;
945       <A HREF="terminal_interface-curses__adb.htm#ref_914_17">Wtimeout</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1122_32">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_917_7">Time</A>);
946    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1122_14">Set_Timeout_Mode</A>;
947
948    <b>procedure</b> <span class="symbol"><A NAME="ref_931_14" HREF="terminal_interface-curses__ads.htm#ref_1134_14">Set_Escape_Timer_Mode</A></span>
949      (<span class="symbol"><A NAME="ref_932_7" HREF="terminal_interface-curses__ads.htm#ref_1135_7">Win</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
950       <span class="symbol"><A NAME="ref_933_7" HREF="terminal_interface-curses__ads.htm#ref_1136_7">Timer_Off</A></span> : Boolean := False)
951    <b>is</b>
952       <b>function</b> <span class="symbol"><A NAME="ref_935_16">Notimeout</A></span> (<span class="symbol"><A NAME="ref_935_27" HREF="terminal_interface-curses__adb.htm#ref_935_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_935_41" HREF="terminal_interface-curses__adb.htm#ref_935_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
953       <b>pragma</b> Import (C, Notimeout, "notimeout");
954    <b>begin</b>
955       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_935_16">Notimeout</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1135_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1136_7">Timer_Off</A>)))
956         = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
957       <b>then</b>
958          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
959       <b>end</b> <b>if</b>;
960    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1134_14">Set_Escape_Timer_Mode</A>;
961
962 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
963    <b>procedure</b> <span class="symbol"><A NAME="ref_946_14" HREF="terminal_interface-curses__ads.htm#ref_1145_14">Set_NL_Mode</A></span> (<span class="symbol"><A NAME="ref_946_27" HREF="terminal_interface-curses__ads.htm#ref_1145_27">SwitchOn</A></span> : Boolean := True)
964    <b>is</b>
965       <b>function</b> <span class="symbol"><A NAME="ref_948_16">NL</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
966       <b>pragma</b> Import (C, NL, "nl");
967       <b>function</b> <span class="symbol"><A NAME="ref_950_16">NoNL</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
968       <b>pragma</b> Import (C, NoNL, "nonl");
969
970       <span class="symbol"><A NAME="ref_953_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
971    <b>begin</b>
972       <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1145_27">SwitchOn</A> <b>then</b>
973          <A HREF="terminal_interface-curses__adb.htm#ref_953_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_948_16">NL</A>;
974       <b>else</b>
975          <A HREF="terminal_interface-curses__adb.htm#ref_953_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_950_16">NoNL</A>;
976       <b>end</b> <b>if</b>;
977       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_953_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
978          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
979       <b>end</b> <b>if</b>;
980    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1145_14">Set_NL_Mode</A>;
981
982    <b>procedure</b> <span class="symbol"><A NAME="ref_965_14" HREF="terminal_interface-curses__ads.htm#ref_1151_14">Clear_On_Next_Update</A></span>
983      (<span class="symbol"><A NAME="ref_966_7" HREF="terminal_interface-curses__ads.htm#ref_1152_7">Win</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
984       <span class="symbol"><A NAME="ref_967_7" HREF="terminal_interface-curses__ads.htm#ref_1153_7">Do_Clear</A></span> : Boolean := True)
985    <b>is</b>
986       <b>function</b> <span class="symbol"><A NAME="ref_969_16">Clear_Ok</A></span> (<span class="symbol"><A NAME="ref_969_26" HREF="terminal_interface-curses__adb.htm#ref_969_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_969_38" HREF="terminal_interface-curses__adb.htm#ref_969_16">Flag</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
987       <b>pragma</b> Import (C, Clear_Ok, "clearok");
988    <b>begin</b>
989       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_969_16">Clear_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1152_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1153_7">Do_Clear</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
990          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
991       <b>end</b> <b>if</b>;
992    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1151_14">Clear_On_Next_Update</A>;
993
994    <b>procedure</b> <span class="symbol"><A NAME="ref_977_14" HREF="terminal_interface-curses__ads.htm#ref_1158_14">Use_Insert_Delete_Line</A></span>
995      (<span class="symbol"><A NAME="ref_978_7" HREF="terminal_interface-curses__ads.htm#ref_1159_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
996       <span class="symbol"><A NAME="ref_979_7" HREF="terminal_interface-curses__ads.htm#ref_1160_7">Do_Idl</A></span> : Boolean := True)
997    <b>is</b>
998       <b>function</b> <span class="symbol"><A NAME="ref_981_16">IDL_Ok</A></span> (<span class="symbol"><A NAME="ref_981_24" HREF="terminal_interface-curses__adb.htm#ref_981_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_981_36" HREF="terminal_interface-curses__adb.htm#ref_981_16">Flag</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
999       <b>pragma</b> Import (C, IDL_Ok, "idlok");
1000    <b>begin</b>
1001       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_981_16">IDL_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1159_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1160_7">Do_Idl</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1002          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1003       <b>end</b> <b>if</b>;
1004    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1158_14">Use_Insert_Delete_Line</A>;
1005
1006    <b>procedure</b> <span class="symbol"><A NAME="ref_989_14" HREF="terminal_interface-curses__ads.htm#ref_1165_14">Use_Insert_Delete_Character</A></span>
1007      (<span class="symbol"><A NAME="ref_990_7" HREF="terminal_interface-curses__ads.htm#ref_1166_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
1008       <span class="symbol"><A NAME="ref_991_7" HREF="terminal_interface-curses__ads.htm#ref_1167_7">Do_Idc</A></span> : Boolean := True)
1009    <b>is</b>
1010       <b>procedure</b> <span class="symbol"><A NAME="ref_993_17">IDC_Ok</A></span> (<span class="symbol"><A NAME="ref_993_25" HREF="terminal_interface-curses__adb.htm#ref_993_17">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_993_37" HREF="terminal_interface-curses__adb.htm#ref_993_17">Flag</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>);
1011       <b>pragma</b> Import (C, IDC_Ok, "idcok");
1012    <b>begin</b>
1013       <A HREF="terminal_interface-curses__adb.htm#ref_993_17">IDC_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1166_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1167_7">Do_Idc</A>)));
1014    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1165_14">Use_Insert_Delete_Character</A>;
1015
1016    <b>procedure</b> <span class="symbol"><A NAME="ref_999_14" HREF="terminal_interface-curses__ads.htm#ref_1172_14">Leave_Cursor_After_Update</A></span>
1017      (<span class="symbol"><A NAME="ref_1000_7" HREF="terminal_interface-curses__ads.htm#ref_1173_7">Win</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
1018       <span class="symbol"><A NAME="ref_1001_7" HREF="terminal_interface-curses__ads.htm#ref_1174_7">Do_Leave</A></span> : Boolean := True)
1019    <b>is</b>
1020       <b>function</b> <span class="symbol"><A NAME="ref_1003_16">Leave_Ok</A></span> (<span class="symbol"><A NAME="ref_1003_26" HREF="terminal_interface-curses__adb.htm#ref_1003_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1003_38" HREF="terminal_interface-curses__adb.htm#ref_1003_16">Flag</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1021       <b>pragma</b> Import (C, Leave_Ok, "leaveok");
1022    <b>begin</b>
1023       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1003_16">Leave_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1173_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1174_7">Do_Leave</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1024          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1025       <b>end</b> <b>if</b>;
1026    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1172_14">Leave_Cursor_After_Update</A>;
1027
1028    <b>procedure</b> <span class="symbol"><A NAME="ref_1011_14" HREF="terminal_interface-curses__ads.htm#ref_1179_14">Immediate_Update_Mode</A></span>
1029      (<span class="symbol"><A NAME="ref_1012_7" HREF="terminal_interface-curses__ads.htm#ref_1180_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
1030       <span class="symbol"><A NAME="ref_1013_7" HREF="terminal_interface-curses__ads.htm#ref_1181_7">Mode</A></span> : Boolean := False)
1031    <b>is</b>
1032       <b>procedure</b> <span class="symbol"><A NAME="ref_1015_17">Immedok</A></span> (<span class="symbol"><A NAME="ref_1015_26" HREF="terminal_interface-curses__adb.htm#ref_1015_17">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1015_40" HREF="terminal_interface-curses__adb.htm#ref_1015_17">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>);
1033       <b>pragma</b> Import (C, Immedok, "immedok");
1034    <b>begin</b>
1035       <A HREF="terminal_interface-curses__adb.htm#ref_1015_17">Immedok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1180_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1181_7">Mode</A>)));
1036    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1179_14">Immediate_Update_Mode</A>;
1037
1038    <b>procedure</b> <span class="symbol"><A NAME="ref_1021_14" HREF="terminal_interface-curses__ads.htm#ref_1186_14">Allow_Scrolling</A></span>
1039      (<span class="symbol"><A NAME="ref_1022_7" HREF="terminal_interface-curses__ads.htm#ref_1187_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>  := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
1040       <span class="symbol"><A NAME="ref_1023_7" HREF="terminal_interface-curses__ads.htm#ref_1188_7">Mode</A></span> : Boolean := False)
1041    <b>is</b>
1042       <b>function</b> <span class="symbol"><A NAME="ref_1025_16">Scrollok</A></span> (<span class="symbol"><A NAME="ref_1025_26" HREF="terminal_interface-curses__adb.htm#ref_1025_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1025_40" HREF="terminal_interface-curses__adb.htm#ref_1025_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1043       <b>pragma</b> Import (C, Scrollok, "scrollok");
1044    <b>begin</b>
1045       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1025_16">Scrollok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1187_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1188_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1046          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1047       <b>end</b> <b>if</b>;
1048    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1186_14">Allow_Scrolling</A>;
1049
1050    <b>function</b> <span class="symbol"><A NAME="ref_1033_13" HREF="terminal_interface-curses__ads.htm#ref_1192_13">Scrolling_Allowed</A></span> (<span class="symbol"><A NAME="ref_1033_32" HREF="terminal_interface-curses__ads.htm#ref_1192_32">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
1051                                <b>return</b> Boolean
1052    <b>is</b>
1053       <b>function</b> <span class="symbol"><A NAME="ref_1036_16">Is_Scroll_Ok</A></span> (<span class="symbol"><A NAME="ref_1036_30" HREF="terminal_interface-curses__adb.htm#ref_1036_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
1054       <b>pragma</b> Import (C, Is_Scroll_Ok, "is_scrollok");
1055    <b>begin</b>
1056       <b>return</b> (<A HREF="terminal_interface-curses__adb.htm#ref_1036_16">Is_Scroll_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1192_32">Win</A>) /= <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A>);
1057    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1192_13">Scrolling_Allowed</A>;
1058
1059    <b>procedure</b> <span class="symbol"><A NAME="ref_1042_14" HREF="terminal_interface-curses__ads.htm#ref_1197_14">Set_Scroll_Region</A></span>
1060      (<span class="symbol"><A NAME="ref_1043_7" HREF="terminal_interface-curses__ads.htm#ref_1198_7">Win</A></span>         : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
1061       <span class="symbol"><A NAME="ref_1044_7" HREF="terminal_interface-curses__ads.htm#ref_1199_7">Top_Line</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
1062       <span class="symbol"><A NAME="ref_1045_7" HREF="terminal_interface-curses__ads.htm#ref_1200_7">Bottom_Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>)
1063    <b>is</b>
1064       <b>function</b> <span class="symbol"><A NAME="ref_1047_16">Wsetscrreg</A></span> (<span class="symbol"><A NAME="ref_1047_28" HREF="terminal_interface-curses__adb.htm#ref_1047_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1065                            <span class="symbol"><A NAME="ref_1048_28" HREF="terminal_interface-curses__adb.htm#ref_1047_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1066                            <span class="symbol"><A NAME="ref_1049_28" HREF="terminal_interface-curses__adb.htm#ref_1047_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1067       <b>pragma</b> Import (C, Wsetscrreg, "wsetscrreg");
1068    <b>begin</b>
1069       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1047_16">Wsetscrreg</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1198_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1199_7">Top_Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1200_7">Bottom_Line</A>))
1070         = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
1071       <b>then</b>
1072          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1073       <b>end</b> <b>if</b>;
1074    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1197_14">Set_Scroll_Region</A>;
1075 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
1076    <b>procedure</b> <span class="symbol"><A NAME="ref_1059_14" HREF="terminal_interface-curses__ads.htm#ref_1210_14">Update_Screen</A></span>
1077    <b>is</b>
1078       <b>function</b> <span class="symbol"><A NAME="ref_1061_16">Do_Update</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1079       <b>pragma</b> Import (C, Do_Update, "doupdate");
1080    <b>begin</b>
1081       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1061_16">Do_Update</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1082          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1083       <b>end</b> <b>if</b>;
1084    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1210_14">Update_Screen</A>;
1085
1086    <b>procedure</b> <span class="symbol"><A NAME="ref_1069_14" HREF="terminal_interface-curses__ads.htm#ref_1215_14">Refresh</A></span> (<span class="symbol"><A NAME="ref_1069_23" HREF="terminal_interface-curses__ads.htm#ref_1215_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
1087    <b>is</b>
1088       <b>function</b> <span class="symbol"><A NAME="ref_1071_16">Wrefresh</A></span> (<span class="symbol"><A NAME="ref_1071_26" HREF="terminal_interface-curses__adb.htm#ref_1071_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1089       <b>pragma</b> Import (C, Wrefresh, "wrefresh");
1090    <b>begin</b>
1091       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1071_16">Wrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1215_23">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1092          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1093       <b>end</b> <b>if</b>;
1094    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1215_14">Refresh</A>;
1095
1096    <b>procedure</b> <span class="symbol"><A NAME="ref_1079_14" HREF="terminal_interface-curses__ads.htm#ref_1222_14">Refresh_Without_Update</A></span>
1097      (<span class="symbol"><A NAME="ref_1080_7" HREF="terminal_interface-curses__ads.htm#ref_1223_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
1098    <b>is</b>
1099       <b>function</b> <span class="symbol"><A NAME="ref_1082_16">Wnoutrefresh</A></span> (<span class="symbol"><A NAME="ref_1082_30" HREF="terminal_interface-curses__adb.htm#ref_1082_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1100       <b>pragma</b> Import (C, Wnoutrefresh, "wnoutrefresh");
1101    <b>begin</b>
1102       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1082_16">Wnoutrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1223_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1103          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1104       <b>end</b> <b>if</b>;
1105    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1222_14">Refresh_Without_Update</A>;
1106
1107    <b>procedure</b> <span class="symbol"><A NAME="ref_1090_14" HREF="terminal_interface-curses__ads.htm#ref_1229_14">Redraw</A></span> (<span class="symbol"><A NAME="ref_1090_22" HREF="terminal_interface-curses__ads.htm#ref_1229_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
1108    <b>is</b>
1109       <b>function</b> <span class="symbol"><A NAME="ref_1092_16">Redrawwin</A></span> (<span class="symbol"><A NAME="ref_1092_27" HREF="terminal_interface-curses__adb.htm#ref_1092_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1110       <b>pragma</b> Import (C, Redrawwin, "redrawwin");
1111    <b>begin</b>
1112       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1092_16">Redrawwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1229_22">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1113          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1114       <b>end</b> <b>if</b>;
1115    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1229_14">Redraw</A>;
1116
1117    <b>procedure</b> <span class="symbol"><A NAME="ref_1100_14" HREF="terminal_interface-curses__ads.htm#ref_1233_14">Redraw</A></span>
1118      (<span class="symbol"><A NAME="ref_1101_7" HREF="terminal_interface-curses__ads.htm#ref_1233_22">Win</A></span>        : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
1119       <span class="symbol"><A NAME="ref_1102_7" HREF="terminal_interface-curses__ads.htm#ref_1234_22">Begin_Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
1120       <span class="symbol"><A NAME="ref_1103_7" HREF="terminal_interface-curses__ads.htm#ref_1235_22">Line_Count</A></span> : Positive)
1121    <b>is</b>
1122       <b>function</b> <span class="symbol"><A NAME="ref_1105_16">Wredrawln</A></span> (<span class="symbol"><A NAME="ref_1105_27" HREF="terminal_interface-curses__adb.htm#ref_1105_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1105_41" HREF="terminal_interface-curses__adb.htm#ref_1105_16">First</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>; <span class="symbol"><A NAME="ref_1105_56" HREF="terminal_interface-curses__adb.htm#ref_1105_16">Cnt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>)
1123                           <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1124       <b>pragma</b> Import (C, Wredrawln, "wredrawln");
1125    <b>begin</b>
1126       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1105_16">Wredrawln</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1233_22">Win</A>,
1127                     <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1234_22">Begin_Line</A>),
1128                     <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1235_22">Line_Count</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
1129       <b>then</b>
1130          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1131       <b>end</b> <b>if</b>;
1132    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1233_14">Redraw</A>;
1133
1134 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
1135    <b>procedure</b> <span class="symbol"><A NAME="ref_1118_14" HREF="terminal_interface-curses__ads.htm#ref_1244_14">Erase</A></span> (<span class="symbol"><A NAME="ref_1118_21" HREF="terminal_interface-curses__ads.htm#ref_1244_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
1136    <b>is</b>
1137       <b>function</b> <span class="symbol"><A NAME="ref_1120_16">Werase</A></span> (<span class="symbol"><A NAME="ref_1120_24" HREF="terminal_interface-curses__adb.htm#ref_1120_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1138       <b>pragma</b> Import (C, Werase, "werase");
1139    <b>begin</b>
1140       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1120_16">Werase</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1244_21">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1141          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1142       <b>end</b> <b>if</b>;
1143    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1244_14">Erase</A>;
1144
1145    <b>procedure</b> <span class="symbol"><A NAME="ref_1128_14" HREF="terminal_interface-curses__ads.htm#ref_1250_14">Clear</A></span> (<span class="symbol"><A NAME="ref_1128_21" HREF="terminal_interface-curses__ads.htm#ref_1251_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
1146    <b>is</b>
1147       <b>function</b> <span class="symbol"><A NAME="ref_1130_16">Wclear</A></span> (<span class="symbol"><A NAME="ref_1130_24" HREF="terminal_interface-curses__adb.htm#ref_1130_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1148       <b>pragma</b> Import (C, Wclear, "wclear");
1149    <b>begin</b>
1150       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1130_16">Wclear</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1251_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1151          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1152       <b>end</b> <b>if</b>;
1153    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1250_14">Clear</A>;
1154
1155    <b>procedure</b> <span class="symbol"><A NAME="ref_1138_14" HREF="terminal_interface-curses__ads.htm#ref_1257_14">Clear_To_End_Of_Screen</A></span> (<span class="symbol"><A NAME="ref_1138_38" HREF="terminal_interface-curses__ads.htm#ref_1258_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
1156    <b>is</b>
1157       <b>function</b> <span class="symbol"><A NAME="ref_1140_16">Wclearbot</A></span> (<span class="symbol"><A NAME="ref_1140_27" HREF="terminal_interface-curses__adb.htm#ref_1140_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1158       <b>pragma</b> Import (C, Wclearbot, "wclrtobot");
1159    <b>begin</b>
1160       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1140_16">Wclearbot</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1258_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1161          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1162       <b>end</b> <b>if</b>;
1163    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1257_14">Clear_To_End_Of_Screen</A>;
1164
1165    <b>procedure</b> <span class="symbol"><A NAME="ref_1148_14" HREF="terminal_interface-curses__ads.htm#ref_1264_14">Clear_To_End_Of_Line</A></span> (<span class="symbol"><A NAME="ref_1148_36" HREF="terminal_interface-curses__ads.htm#ref_1265_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
1166    <b>is</b>
1167       <b>function</b> <span class="symbol"><A NAME="ref_1150_16">Wcleareol</A></span> (<span class="symbol"><A NAME="ref_1150_27" HREF="terminal_interface-curses__adb.htm#ref_1150_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1168       <b>pragma</b> Import (C, Wcleareol, "wclrtoeol");
1169    <b>begin</b>
1170       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1150_16">Wcleareol</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1265_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1171          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1172       <b>end</b> <b>if</b>;
1173    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1264_14">Clear_To_End_Of_Line</A>;
1174 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
1175    <b>procedure</b> <span class="symbol"><A NAME="ref_1158_14" HREF="terminal_interface-curses__ads.htm#ref_1278_14">Set_Background</A></span>
1176      (<span class="symbol"><A NAME="ref_1159_7" HREF="terminal_interface-curses__ads.htm#ref_1279_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
1177       <span class="symbol"><A NAME="ref_1160_7" HREF="terminal_interface-curses__ads.htm#ref_1280_7">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
1178    <b>is</b>
1179       <b>procedure</b> <span class="symbol"><A NAME="ref_1162_17">WBackground</A></span> (<span class="symbol"><A NAME="ref_1162_30" HREF="terminal_interface-curses__adb.htm#ref_1162_17">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1162_42" HREF="terminal_interface-curses__adb.htm#ref_1162_17">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>);
1180       <b>pragma</b> Import (C, WBackground, "wbkgdset");
1181    <b>begin</b>
1182       <A HREF="terminal_interface-curses__adb.htm#ref_1162_17">WBackground</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1279_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1280_7">Ch</A>);
1183    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1278_14">Set_Background</A>;
1184
1185    <b>procedure</b> <span class="symbol"><A NAME="ref_1168_14" HREF="terminal_interface-curses__ads.htm#ref_1286_14">Change_Background</A></span>
1186      (<span class="symbol"><A NAME="ref_1169_7" HREF="terminal_interface-curses__ads.htm#ref_1287_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
1187       <span class="symbol"><A NAME="ref_1170_7" HREF="terminal_interface-curses__ads.htm#ref_1288_7">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
1188    <b>is</b>
1189       <b>function</b> <span class="symbol"><A NAME="ref_1172_16">WChangeBkgd</A></span> (<span class="symbol"><A NAME="ref_1172_29" HREF="terminal_interface-curses__adb.htm#ref_1172_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1172_41" HREF="terminal_interface-curses__adb.htm#ref_1172_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
1190          <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1191       <b>pragma</b> Import (C, WChangeBkgd, "wbkgd");
1192    <b>begin</b>
1193       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1172_16">WChangeBkgd</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1287_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1288_7">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1194          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1195       <b>end</b> <b>if</b>;
1196    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1286_14">Change_Background</A>;
1197
1198    <b>function</b> <span class="symbol"><A NAME="ref_1181_13" HREF="terminal_interface-curses__ads.htm#ref_1295_13">Get_Background</A></span> (<span class="symbol"><A NAME="ref_1181_29" HREF="terminal_interface-curses__ads.htm#ref_1295_29">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
1199      <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>
1200    <b>is</b>
1201       <b>function</b> <span class="symbol"><A NAME="ref_1184_16">Wgetbkgd</A></span> (<span class="symbol"><A NAME="ref_1184_26" HREF="terminal_interface-curses__adb.htm#ref_1184_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
1202       <b>pragma</b> Import (C, Wgetbkgd, "getbkgd");
1203    <b>begin</b>
1204       <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1184_16">Wgetbkgd</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1295_29">Win</A>);
1205    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1295_13">Get_Background</A>;
1206 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
1207    <b>procedure</b> <span class="symbol"><A NAME="ref_1190_14" HREF="terminal_interface-curses__ads.htm#ref_1322_14">Change_Lines_Status</A></span> (<span class="symbol"><A NAME="ref_1190_35" HREF="terminal_interface-curses__ads.htm#ref_1322_35">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
1208                                   <span class="symbol"><A NAME="ref_1191_35" HREF="terminal_interface-curses__ads.htm#ref_1323_35">Start</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
1209                                   <span class="symbol"><A NAME="ref_1192_35" HREF="terminal_interface-curses__ads.htm#ref_1324_35">Count</A></span> : Positive;
1210                                   <span class="symbol"><A NAME="ref_1193_35" HREF="terminal_interface-curses__ads.htm#ref_1325_35">State</A></span> : Boolean)
1211    <b>is</b>
1212       <b>function</b> <span class="symbol"><A NAME="ref_1195_16">Wtouchln</A></span> (<span class="symbol"><A NAME="ref_1195_26" HREF="terminal_interface-curses__adb.htm#ref_1195_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1213                          <span class="symbol"><A NAME="ref_1196_26" HREF="terminal_interface-curses__adb.htm#ref_1195_16">Sta</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1214                          <span class="symbol"><A NAME="ref_1197_26" HREF="terminal_interface-curses__adb.htm#ref_1195_16">Cnt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1215                          <span class="symbol"><A NAME="ref_1198_26" HREF="terminal_interface-curses__adb.htm#ref_1195_16">Chg</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1216       <b>pragma</b> Import (C, Wtouchln, "wtouchln");
1217    <b>begin</b>
1218       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1195_16">Wtouchln</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1322_35">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1323_35">Start</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1324_35">Count</A>),
1219                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1325_35">State</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
1220       <b>then</b>
1221          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1222       <b>end</b> <b>if</b>;
1223    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1322_14">Change_Lines_Status</A>;
1224
1225    <b>procedure</b> <span class="symbol"><A NAME="ref_1208_14" HREF="terminal_interface-curses__ads.htm#ref_1311_14">Touch</A></span> (<span class="symbol"><A NAME="ref_1208_21" HREF="terminal_interface-curses__ads.htm#ref_1311_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
1226    <b>is</b>
1227       <span class="symbol"><A NAME="ref_1210_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
1228       <span class="symbol"><A NAME="ref_1211_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
1229    <b>begin</b>
1230       <A HREF="terminal_interface-curses__ads.htm#ref_1398_14">Get_Size</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1311_21">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1210_7">Y</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1211_7">X</A>);
1231       <b>pragma</b> Warnings (Off, <A HREF="terminal_interface-curses__adb.htm#ref_1211_7">X</A>);         <span class="comment"><EM>--  unreferenced</EM></span>
1232       <A HREF="terminal_interface-curses__ads.htm#ref_1322_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1311_21">Win</A>, 0, Positive (<A HREF="terminal_interface-curses__adb.htm#ref_1210_7">Y</A>), True);
1233    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1311_14">Touch</A>;
1234
1235    <b>procedure</b> <span class="symbol"><A NAME="ref_1218_14" HREF="terminal_interface-curses__ads.htm#ref_1306_14">Untouch</A></span> (<span class="symbol"><A NAME="ref_1218_23" HREF="terminal_interface-curses__ads.htm#ref_1306_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
1236    <b>is</b>
1237       <span class="symbol"><A NAME="ref_1220_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
1238       <span class="symbol"><A NAME="ref_1221_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
1239    <b>begin</b>
1240       <A HREF="terminal_interface-curses__ads.htm#ref_1398_14">Get_Size</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1306_23">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1220_7">Y</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1221_7">X</A>);
1241       <b>pragma</b> Warnings (Off, <A HREF="terminal_interface-curses__adb.htm#ref_1221_7">X</A>);         <span class="comment"><EM>--  unreferenced</EM></span>
1242       <A HREF="terminal_interface-curses__ads.htm#ref_1322_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1306_23">Win</A>, 0, Positive (<A HREF="terminal_interface-curses__adb.htm#ref_1220_7">Y</A>), False);
1243    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1306_14">Untouch</A>;
1244
1245    <b>procedure</b> <span class="symbol"><A NAME="ref_1228_14" HREF="terminal_interface-curses__ads.htm#ref_1315_14">Touch</A></span> (<span class="symbol"><A NAME="ref_1228_21" HREF="terminal_interface-curses__ads.htm#ref_1315_21">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
1246                     <span class="symbol"><A NAME="ref_1229_21" HREF="terminal_interface-curses__ads.htm#ref_1316_21">Start</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
1247                     <span class="symbol"><A NAME="ref_1230_21" HREF="terminal_interface-curses__ads.htm#ref_1317_21">Count</A></span> : Positive)
1248    <b>is</b>
1249    <b>begin</b>
1250       <A HREF="terminal_interface-curses__ads.htm#ref_1322_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1315_21">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1316_21">Start</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1317_21">Count</A>, True);
1251    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1315_14">Touch</A>;
1252
1253    <b>function</b> <span class="symbol"><A NAME="ref_1236_13" HREF="terminal_interface-curses__ads.htm#ref_1330_13">Is_Touched</A></span>
1254      (<span class="symbol"><A NAME="ref_1237_7" HREF="terminal_interface-curses__ads.htm#ref_1330_25">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
1255       <span class="symbol"><A NAME="ref_1238_7" HREF="terminal_interface-curses__ads.htm#ref_1331_25">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>) <b>return</b> Boolean
1256    <b>is</b>
1257       <b>function</b> <span class="symbol"><A NAME="ref_1240_16">WLineTouched</A></span> (<span class="symbol"><A NAME="ref_1240_30" HREF="terminal_interface-curses__adb.htm#ref_1240_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1240_42" HREF="terminal_interface-curses__adb.htm#ref_1240_16">L</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
1258       <b>pragma</b> Import (C, WLineTouched, "is_linetouched");
1259    <b>begin</b>
1260       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1240_16">WLineTouched</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1330_25">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1331_25">Line</A>)) = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A> <b>then</b>
1261          <b>return</b> False;
1262       <b>else</b>
1263          <b>return</b> True;
1264       <b>end</b> <b>if</b>;
1265    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1330_13">Is_Touched</A>;
1266
1267    <b>function</b> <span class="symbol"><A NAME="ref_1250_13" HREF="terminal_interface-curses__ads.htm#ref_1335_13">Is_Touched</A></span>
1268      (<span class="symbol"><A NAME="ref_1251_7" HREF="terminal_interface-curses__ads.htm#ref_1335_25">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>) <b>return</b> Boolean
1269    <b>is</b>
1270       <b>function</b> <span class="symbol"><A NAME="ref_1253_16">WWinTouched</A></span> (<span class="symbol"><A NAME="ref_1253_29" HREF="terminal_interface-curses__adb.htm#ref_1253_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
1271       <b>pragma</b> Import (C, WWinTouched, "is_wintouched");
1272    <b>begin</b>
1273       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1253_16">WWinTouched</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1335_25">Win</A>) = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A> <b>then</b>
1274          <b>return</b> False;
1275       <b>else</b>
1276          <b>return</b> True;
1277       <b>end</b> <b>if</b>;
1278    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1335_13">Is_Touched</A>;
1279 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
1280    <b>procedure</b> <span class="symbol"><A NAME="ref_1263_14" HREF="terminal_interface-curses__ads.htm#ref_1344_14">Copy</A></span>
1281      (<span class="symbol"><A NAME="ref_1264_7" HREF="terminal_interface-curses__ads.htm#ref_1345_7">Source_Window</A></span>            : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1282       <span class="symbol"><A NAME="ref_1265_7" HREF="terminal_interface-curses__ads.htm#ref_1346_7">Destination_Window</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1283       <span class="symbol"><A NAME="ref_1266_7" HREF="terminal_interface-curses__ads.htm#ref_1347_7">Source_Top_Row</A></span>           : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
1284       <span class="symbol"><A NAME="ref_1267_7" HREF="terminal_interface-curses__ads.htm#ref_1348_7">Source_Left_Column</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
1285       <span class="symbol"><A NAME="ref_1268_7" HREF="terminal_interface-curses__ads.htm#ref_1349_7">Destination_Top_Row</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
1286       <span class="symbol"><A NAME="ref_1269_7" HREF="terminal_interface-curses__ads.htm#ref_1350_7">Destination_Left_Column</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
1287       <span class="symbol"><A NAME="ref_1270_7" HREF="terminal_interface-curses__ads.htm#ref_1351_7">Destination_Bottom_Row</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
1288       <span class="symbol"><A NAME="ref_1271_7" HREF="terminal_interface-curses__ads.htm#ref_1352_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
1289       <span class="symbol"><A NAME="ref_1272_7" HREF="terminal_interface-curses__ads.htm#ref_1353_7">Non_Destructive_Mode</A></span>     : Boolean := True)
1290    <b>is</b>
1291       <b>function</b> <span class="symbol"><A NAME="ref_1274_16">Copywin</A></span> (<span class="symbol"><A NAME="ref_1274_25" HREF="terminal_interface-curses__adb.htm#ref_1274_16">Src</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1292                         <span class="symbol"><A NAME="ref_1275_25" HREF="terminal_interface-curses__adb.htm#ref_1274_16">Dst</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1293                         <span class="symbol"><A NAME="ref_1276_25" HREF="terminal_interface-curses__adb.htm#ref_1274_16">Str</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1294                         <span class="symbol"><A NAME="ref_1277_25" HREF="terminal_interface-curses__adb.htm#ref_1274_16">Slc</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1295                         <span class="symbol"><A NAME="ref_1278_25" HREF="terminal_interface-curses__adb.htm#ref_1274_16">Dtr</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1296                         <span class="symbol"><A NAME="ref_1279_25" HREF="terminal_interface-curses__adb.htm#ref_1274_16">Dlc</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1297                         <span class="symbol"><A NAME="ref_1280_25" HREF="terminal_interface-curses__adb.htm#ref_1274_16">Dbr</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1298                         <span class="symbol"><A NAME="ref_1281_25" HREF="terminal_interface-curses__adb.htm#ref_1274_16">Drc</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1299                         <span class="symbol"><A NAME="ref_1282_25" HREF="terminal_interface-curses__adb.htm#ref_1274_16">Ndm</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1300       <b>pragma</b> Import (C, Copywin, "copywin");
1301    <b>begin</b>
1302       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1274_16">Copywin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1345_7">Source_Window</A>,
1303                   <A HREF="terminal_interface-curses__ads.htm#ref_1346_7">Destination_Window</A>,
1304                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1347_7">Source_Top_Row</A>),
1305                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1348_7">Source_Left_Column</A>),
1306                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1349_7">Destination_Top_Row</A>),
1307                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1350_7">Destination_Left_Column</A>),
1308                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1351_7">Destination_Bottom_Row</A>),
1309                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1352_7">Destination_Right_Column</A>),
1310                   Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1353_7">Non_Destructive_Mode</A>)
1311                  ) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
1312       <b>then</b>
1313          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1314       <b>end</b> <b>if</b>;
1315    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1344_14">Copy</A>;
1316
1317    <b>procedure</b> <span class="symbol"><A NAME="ref_1300_14" HREF="terminal_interface-curses__ads.htm#ref_1358_14">Overwrite</A></span>
1318      (<span class="symbol"><A NAME="ref_1301_7" HREF="terminal_interface-curses__ads.htm#ref_1358_25">Source_Window</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1319       <span class="symbol"><A NAME="ref_1302_7" HREF="terminal_interface-curses__ads.htm#ref_1359_25">Destination_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
1320    <b>is</b>
1321       <b>function</b> <span class="symbol"><A NAME="ref_1304_16">Overwrite</A></span> (<span class="symbol"><A NAME="ref_1304_27" HREF="terminal_interface-curses__adb.htm#ref_1304_16">Src</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1304_41" HREF="terminal_interface-curses__adb.htm#ref_1304_16">Dst</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1322       <b>pragma</b> Import (C, Overwrite, "overwrite");
1323    <b>begin</b>
1324       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1304_16">Overwrite</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1358_25">Source_Window</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1359_25">Destination_Window</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1325          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1326       <b>end</b> <b>if</b>;
1327    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1358_14">Overwrite</A>;
1328
1329    <b>procedure</b> <span class="symbol"><A NAME="ref_1312_14" HREF="terminal_interface-curses__ads.htm#ref_1364_14">Overlay</A></span>
1330      (<span class="symbol"><A NAME="ref_1313_7" HREF="terminal_interface-curses__ads.htm#ref_1364_23">Source_Window</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1331       <span class="symbol"><A NAME="ref_1314_7" HREF="terminal_interface-curses__ads.htm#ref_1365_23">Destination_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
1332    <b>is</b>
1333       <b>function</b> <span class="symbol"><A NAME="ref_1316_16">Overlay</A></span> (<span class="symbol"><A NAME="ref_1316_25" HREF="terminal_interface-curses__adb.htm#ref_1316_16">Src</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1316_39" HREF="terminal_interface-curses__adb.htm#ref_1316_16">Dst</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1334       <b>pragma</b> Import (C, Overlay, "overlay");
1335    <b>begin</b>
1336       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1316_16">Overlay</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1364_23">Source_Window</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1365_23">Destination_Window</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1337          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1338       <b>end</b> <b>if</b>;
1339    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1364_14">Overlay</A>;
1340
1341 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
1342    <b>procedure</b> <span class="symbol"><A NAME="ref_1325_14" HREF="terminal_interface-curses__ads.htm#ref_1374_14">Insert_Delete_Lines</A></span>
1343      (<span class="symbol"><A NAME="ref_1326_7" HREF="terminal_interface-curses__ads.htm#ref_1375_7">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
1344       <span class="symbol"><A NAME="ref_1327_7" HREF="terminal_interface-curses__ads.htm#ref_1376_7">Lines</A></span> : Integer       := 1) <span class="comment"><EM>-- default is to insert one line above</EM></span>
1345    <b>is</b>
1346       <b>function</b> <span class="symbol"><A NAME="ref_1329_16">Winsdelln</A></span> (<span class="symbol"><A NAME="ref_1329_27" HREF="terminal_interface-curses__adb.htm#ref_1329_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1329_39" HREF="terminal_interface-curses__adb.htm#ref_1329_16">N</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1347       <b>pragma</b> Import (C, Winsdelln, "winsdelln");
1348    <b>begin</b>
1349       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1329_16">Winsdelln</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1375_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1376_7">Lines</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1350          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1351       <b>end</b> <b>if</b>;
1352    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1374_14">Insert_Delete_Lines</A>;
1353
1354    <b>procedure</b> <span class="symbol"><A NAME="ref_1337_14" HREF="terminal_interface-curses__ads.htm#ref_1382_14">Delete_Line</A></span> (<span class="symbol"><A NAME="ref_1337_27" HREF="terminal_interface-curses__ads.htm#ref_1382_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
1355    <b>is</b>
1356    <b>begin</b>
1357       <A HREF="terminal_interface-curses__ads.htm#ref_1374_14">Insert_Delete_Lines</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1382_27">Win</A>, -1);
1358    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1382_14">Delete_Line</A>;
1359
1360    <b>procedure</b> <span class="symbol"><A NAME="ref_1343_14" HREF="terminal_interface-curses__ads.htm#ref_1388_14">Insert_Line</A></span> (<span class="symbol"><A NAME="ref_1343_27" HREF="terminal_interface-curses__ads.htm#ref_1388_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
1361    <b>is</b>
1362    <b>begin</b>
1363       <A HREF="terminal_interface-curses__ads.htm#ref_1374_14">Insert_Delete_Lines</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1388_27">Win</A>, 1);
1364    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1388_14">Insert_Line</A>;
1365 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
1366
1367    <b>procedure</b> <span class="symbol"><A NAME="ref_1350_14" HREF="terminal_interface-curses__ads.htm#ref_1398_14">Get_Size</A></span>
1368      (<span class="symbol"><A NAME="ref_1351_7" HREF="terminal_interface-curses__ads.htm#ref_1399_7">Win</A></span>               : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
1369       <span class="symbol"><A NAME="ref_1352_7" HREF="terminal_interface-curses__ads.htm#ref_1400_7">Number_Of_Lines</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
1370       <span class="symbol"><A NAME="ref_1353_7" HREF="terminal_interface-curses__ads.htm#ref_1401_7">Number_Of_Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>)
1371    <b>is</b>
1372       <b>function</b> <span class="symbol"><A NAME="ref_1355_16">GetMaxY</A></span> (<span class="symbol"><A NAME="ref_1355_25" HREF="terminal_interface-curses__adb.htm#ref_1355_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1373       <b>pragma</b> Import (C, GetMaxY, "getmaxy");
1374
1375       <b>function</b> <span class="symbol"><A NAME="ref_1358_16">GetMaxX</A></span> (<span class="symbol"><A NAME="ref_1358_25" HREF="terminal_interface-curses__adb.htm#ref_1358_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1376       <b>pragma</b> Import (C, GetMaxX, "getmaxx");
1377
1378       <span class="symbol"><A NAME="ref_1361_7">Y</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1355_16">GetMaxY</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1399_7">Win</A>);
1379       <span class="symbol"><A NAME="ref_1362_7">X</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1358_16">GetMaxX</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1399_7">Win</A>);
1380    <b>begin</b>
1381       <A HREF="terminal_interface-curses__ads.htm#ref_1400_7">Number_Of_Lines</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1361_7">Y</A>);
1382       <A HREF="terminal_interface-curses__ads.htm#ref_1401_7">Number_Of_Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1362_7">X</A>);
1383    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1398_14">Get_Size</A>;
1384
1385    <b>procedure</b> <span class="symbol"><A NAME="ref_1368_14" HREF="terminal_interface-curses__ads.htm#ref_1406_14">Get_Window_Position</A></span>
1386      (<span class="symbol"><A NAME="ref_1369_7" HREF="terminal_interface-curses__ads.htm#ref_1407_7">Win</A></span>             : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
1387       <span class="symbol"><A NAME="ref_1370_7" HREF="terminal_interface-curses__ads.htm#ref_1408_7">Top_Left_Line</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
1388       <span class="symbol"><A NAME="ref_1371_7" HREF="terminal_interface-curses__ads.htm#ref_1409_7">Top_Left_Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
1389    <b>is</b>
1390       <b>function</b> <span class="symbol"><A NAME="ref_1373_16">GetBegY</A></span> (<span class="symbol"><A NAME="ref_1373_25" HREF="terminal_interface-curses__adb.htm#ref_1373_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1391       <b>pragma</b> Import (C, GetBegY, "getbegy");
1392
1393       <b>function</b> <span class="symbol"><A NAME="ref_1376_16">GetBegX</A></span> (<span class="symbol"><A NAME="ref_1376_25" HREF="terminal_interface-curses__adb.htm#ref_1376_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1394       <b>pragma</b> Import (C, GetBegX, "getbegx");
1395
1396       <span class="symbol"><A NAME="ref_1379_7">Y</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1373_16">GetBegY</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1407_7">Win</A>));
1397       <span class="symbol"><A NAME="ref_1380_7">X</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1376_16">GetBegX</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1407_7">Win</A>));
1398    <b>begin</b>
1399       <A HREF="terminal_interface-curses__ads.htm#ref_1408_7">Top_Left_Line</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1379_7">Y</A>);
1400       <A HREF="terminal_interface-curses__ads.htm#ref_1409_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1380_7">X</A>);
1401    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1406_14">Get_Window_Position</A>;
1402
1403    <b>procedure</b> <span class="symbol"><A NAME="ref_1386_14" HREF="terminal_interface-curses__ads.htm#ref_1414_14">Get_Cursor_Position</A></span>
1404      (<span class="symbol"><A NAME="ref_1387_7" HREF="terminal_interface-curses__ads.htm#ref_1415_7">Win</A></span>    :  <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
1405       <span class="symbol"><A NAME="ref_1388_7" HREF="terminal_interface-curses__ads.htm#ref_1416_7">Line</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
1406       <span class="symbol"><A NAME="ref_1389_7" HREF="terminal_interface-curses__ads.htm#ref_1417_7">Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
1407    <b>is</b>
1408       <b>function</b> <span class="symbol"><A NAME="ref_1391_16">GetCurY</A></span> (<span class="symbol"><A NAME="ref_1391_25" HREF="terminal_interface-curses__adb.htm#ref_1391_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1409       <b>pragma</b> Import (C, GetCurY, "getcury");
1410
1411       <b>function</b> <span class="symbol"><A NAME="ref_1394_16">GetCurX</A></span> (<span class="symbol"><A NAME="ref_1394_25" HREF="terminal_interface-curses__adb.htm#ref_1394_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1412       <b>pragma</b> Import (C, GetCurX, "getcurx");
1413
1414       <span class="symbol"><A NAME="ref_1397_7">Y</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1391_16">GetCurY</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1415_7">Win</A>));
1415       <span class="symbol"><A NAME="ref_1398_7">X</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1394_16">GetCurX</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1415_7">Win</A>));
1416    <b>begin</b>
1417       <A HREF="terminal_interface-curses__ads.htm#ref_1416_7">Line</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1397_7">Y</A>);
1418       <A HREF="terminal_interface-curses__ads.htm#ref_1417_7">Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1398_7">X</A>);
1419    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1414_14">Get_Cursor_Position</A>;
1420
1421    <b>procedure</b> <span class="symbol"><A NAME="ref_1404_14" HREF="terminal_interface-curses__ads.htm#ref_1422_14">Get_Origin_Relative_To_Parent</A></span>
1422      (<span class="symbol"><A NAME="ref_1405_7" HREF="terminal_interface-curses__ads.htm#ref_1423_7">Win</A></span>                :  <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1423       <span class="symbol"><A NAME="ref_1406_7" HREF="terminal_interface-curses__ads.htm#ref_1424_7">Top_Left_Line</A></span>      : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
1424       <span class="symbol"><A NAME="ref_1407_7" HREF="terminal_interface-curses__ads.htm#ref_1425_7">Top_Left_Column</A></span>    : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
1425       <span class="symbol"><A NAME="ref_1408_7" HREF="terminal_interface-curses__ads.htm#ref_1426_7">Is_Not_A_Subwindow</A></span> : <b>out</b> Boolean)
1426    <b>is</b>
1427       <b>function</b> <span class="symbol"><A NAME="ref_1410_16">GetParY</A></span> (<span class="symbol"><A NAME="ref_1410_25" HREF="terminal_interface-curses__adb.htm#ref_1410_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1428       <b>pragma</b> Import (C, GetParY, "getpary");
1429
1430       <b>function</b> <span class="symbol"><A NAME="ref_1413_16">GetParX</A></span> (<span class="symbol"><A NAME="ref_1413_25" HREF="terminal_interface-curses__adb.htm#ref_1413_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1431       <b>pragma</b> Import (C, GetParX, "getparx");
1432
1433       <span class="symbol"><A NAME="ref_1416_7">Y</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1410_16">GetParY</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1423_7">Win</A>);
1434       <span class="symbol"><A NAME="ref_1417_7">X</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1413_16">GetParX</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1423_7">Win</A>);
1435    <b>begin</b>
1436       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1416_7">Y</A> = -1 <b>then</b>
1437          <A HREF="terminal_interface-curses__ads.htm#ref_1424_7">Top_Left_Line</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>'Last;
1438          <A HREF="terminal_interface-curses__ads.htm#ref_1425_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>'Last;
1439          <A HREF="terminal_interface-curses__ads.htm#ref_1426_7">Is_Not_A_Subwindow</A> := True;
1440       <b>else</b>
1441          <A HREF="terminal_interface-curses__ads.htm#ref_1424_7">Top_Left_Line</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1416_7">Y</A>);
1442          <A HREF="terminal_interface-curses__ads.htm#ref_1425_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1417_7">X</A>);
1443          <A HREF="terminal_interface-curses__ads.htm#ref_1426_7">Is_Not_A_Subwindow</A> := False;
1444       <b>end</b> <b>if</b>;
1445    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1422_14">Get_Origin_Relative_To_Parent</A>;
1446 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
1447    <b>function</b> <span class="symbol"><A NAME="ref_1430_13" HREF="terminal_interface-curses__ads.htm#ref_1437_13">New_Pad</A></span> (<span class="symbol"><A NAME="ref_1430_22" HREF="terminal_interface-curses__ads.htm#ref_1437_22">Lines</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
1448                      <span class="symbol"><A NAME="ref_1431_22" HREF="terminal_interface-curses__ads.htm#ref_1438_22">Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
1449    <b>is</b>
1450       <b>function</b> <span class="symbol"><A NAME="ref_1433_16">Newpad</A></span> (<span class="symbol"><A NAME="ref_1433_24" HREF="terminal_interface-curses__adb.htm#ref_1433_16">Lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>; <span class="symbol"><A NAME="ref_1433_39" HREF="terminal_interface-curses__adb.htm#ref_1433_16">Columns</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1451       <b>pragma</b> Import (C, Newpad, "newpad");
1452
1453       <span class="symbol"><A NAME="ref_1436_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1454    <b>begin</b>
1455       <A HREF="terminal_interface-curses__adb.htm#ref_1436_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1433_16">Newpad</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1437_22">Lines</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1438_22">Columns</A>));
1456       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1436_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
1457          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1458       <b>end</b> <b>if</b>;
1459       <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1436_7">W</A>;
1460    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1437_13">New_Pad</A>;
1461
1462    <b>function</b> <span class="symbol"><A NAME="ref_1445_13" HREF="terminal_interface-curses__ads.htm#ref_1443_13">Sub_Pad</A></span>
1463      (<span class="symbol"><A NAME="ref_1446_7" HREF="terminal_interface-curses__ads.htm#ref_1444_7">Pad</A></span>                   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1464       <span class="symbol"><A NAME="ref_1447_7" HREF="terminal_interface-curses__ads.htm#ref_1445_7">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
1465       <span class="symbol"><A NAME="ref_1448_7" HREF="terminal_interface-curses__ads.htm#ref_1446_7">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
1466       <span class="symbol"><A NAME="ref_1449_7" HREF="terminal_interface-curses__ads.htm#ref_1447_7">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
1467       <span class="symbol"><A NAME="ref_1450_7" HREF="terminal_interface-curses__ads.htm#ref_1448_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
1468    <b>is</b>
1469       <b>function</b> <span class="symbol"><A NAME="ref_1452_16">Subpad</A></span>
1470         (<span class="symbol"><A NAME="ref_1453_10" HREF="terminal_interface-curses__adb.htm#ref_1452_16">Pad</A></span>                   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1471          <span class="symbol"><A NAME="ref_1454_10" HREF="terminal_interface-curses__adb.htm#ref_1452_16">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1472          <span class="symbol"><A NAME="ref_1455_10" HREF="terminal_interface-curses__adb.htm#ref_1452_16">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1473          <span class="symbol"><A NAME="ref_1456_10" HREF="terminal_interface-curses__adb.htm#ref_1452_16">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1474          <span class="symbol"><A NAME="ref_1457_10" HREF="terminal_interface-curses__adb.htm#ref_1452_16">First_Column_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1475       <b>pragma</b> Import (C, Subpad, "subpad");
1476
1477       <span class="symbol"><A NAME="ref_1460_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1478    <b>begin</b>
1479       <A HREF="terminal_interface-curses__adb.htm#ref_1460_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1452_16">Subpad</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1444_7">Pad</A>,
1480                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1445_7">Number_Of_Lines</A>),
1481                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1446_7">Number_Of_Columns</A>),
1482                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1447_7">First_Line_Position</A>),
1483                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1448_7">First_Column_Position</A>));
1484       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1460_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
1485          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1486       <b>end</b> <b>if</b>;
1487       <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1460_7">W</A>;
1488    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1443_13">Sub_Pad</A>;
1489
1490    <b>procedure</b> <span class="symbol"><A NAME="ref_1473_14" HREF="terminal_interface-curses__ads.htm#ref_1453_14">Refresh</A></span>
1491      (<span class="symbol"><A NAME="ref_1474_7" HREF="terminal_interface-curses__ads.htm#ref_1454_7">Pad</A></span>                      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1492       <span class="symbol"><A NAME="ref_1475_7" HREF="terminal_interface-curses__ads.htm#ref_1455_7">Source_Top_Row</A></span>           : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
1493       <span class="symbol"><A NAME="ref_1476_7" HREF="terminal_interface-curses__ads.htm#ref_1456_7">Source_Left_Column</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
1494       <span class="symbol"><A NAME="ref_1477_7" HREF="terminal_interface-curses__ads.htm#ref_1457_7">Destination_Top_Row</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
1495       <span class="symbol"><A NAME="ref_1478_7" HREF="terminal_interface-curses__ads.htm#ref_1458_7">Destination_Left_Column</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
1496       <span class="symbol"><A NAME="ref_1479_7" HREF="terminal_interface-curses__ads.htm#ref_1459_7">Destination_Bottom_Row</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
1497       <span class="symbol"><A NAME="ref_1480_7" HREF="terminal_interface-curses__ads.htm#ref_1460_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
1498    <b>is</b>
1499       <b>function</b> <span class="symbol"><A NAME="ref_1482_16">Prefresh</A></span>
1500         (<span class="symbol"><A NAME="ref_1483_10" HREF="terminal_interface-curses__adb.htm#ref_1482_16">Pad</A></span>                      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1501          <span class="symbol"><A NAME="ref_1484_10" HREF="terminal_interface-curses__adb.htm#ref_1482_16">Source_Top_Row</A></span>           : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1502          <span class="symbol"><A NAME="ref_1485_10" HREF="terminal_interface-curses__adb.htm#ref_1482_16">Source_Left_Column</A></span>       : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1503          <span class="symbol"><A NAME="ref_1486_10" HREF="terminal_interface-curses__adb.htm#ref_1482_16">Destination_Top_Row</A></span>      : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1504          <span class="symbol"><A NAME="ref_1487_10" HREF="terminal_interface-curses__adb.htm#ref_1482_16">Destination_Left_Column</A></span>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1505          <span class="symbol"><A NAME="ref_1488_10" HREF="terminal_interface-curses__adb.htm#ref_1482_16">Destination_Bottom_Row</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1506          <span class="symbol"><A NAME="ref_1489_10" HREF="terminal_interface-curses__adb.htm#ref_1482_16">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1507       <b>pragma</b> Import (C, Prefresh, "prefresh");
1508    <b>begin</b>
1509       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1482_16">Prefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1454_7">Pad</A>,
1510                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1455_7">Source_Top_Row</A>),
1511                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1456_7">Source_Left_Column</A>),
1512                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1457_7">Destination_Top_Row</A>),
1513                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1458_7">Destination_Left_Column</A>),
1514                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1459_7">Destination_Bottom_Row</A>),
1515                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1460_7">Destination_Right_Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
1516       <b>then</b>
1517          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1518       <b>end</b> <b>if</b>;
1519    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1453_14">Refresh</A>;
1520
1521    <b>procedure</b> <span class="symbol"><A NAME="ref_1504_14" HREF="terminal_interface-curses__ads.htm#ref_1465_14">Refresh_Without_Update</A></span>
1522      (<span class="symbol"><A NAME="ref_1505_7" HREF="terminal_interface-curses__ads.htm#ref_1466_7">Pad</A></span>                      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1523       <span class="symbol"><A NAME="ref_1506_7" HREF="terminal_interface-curses__ads.htm#ref_1467_7">Source_Top_Row</A></span>           : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
1524       <span class="symbol"><A NAME="ref_1507_7" HREF="terminal_interface-curses__ads.htm#ref_1468_7">Source_Left_Column</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
1525       <span class="symbol"><A NAME="ref_1508_7" HREF="terminal_interface-curses__ads.htm#ref_1469_7">Destination_Top_Row</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
1526       <span class="symbol"><A NAME="ref_1509_7" HREF="terminal_interface-curses__ads.htm#ref_1470_7">Destination_Left_Column</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
1527       <span class="symbol"><A NAME="ref_1510_7" HREF="terminal_interface-curses__ads.htm#ref_1471_7">Destination_Bottom_Row</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
1528       <span class="symbol"><A NAME="ref_1511_7" HREF="terminal_interface-curses__ads.htm#ref_1472_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
1529    <b>is</b>
1530       <b>function</b> <span class="symbol"><A NAME="ref_1513_16">Pnoutrefresh</A></span>
1531         (<span class="symbol"><A NAME="ref_1514_10" HREF="terminal_interface-curses__adb.htm#ref_1513_16">Pad</A></span>                      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1532          <span class="symbol"><A NAME="ref_1515_10" HREF="terminal_interface-curses__adb.htm#ref_1513_16">Source_Top_Row</A></span>           : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1533          <span class="symbol"><A NAME="ref_1516_10" HREF="terminal_interface-curses__adb.htm#ref_1513_16">Source_Left_Column</A></span>       : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1534          <span class="symbol"><A NAME="ref_1517_10" HREF="terminal_interface-curses__adb.htm#ref_1513_16">Destination_Top_Row</A></span>      : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1535          <span class="symbol"><A NAME="ref_1518_10" HREF="terminal_interface-curses__adb.htm#ref_1513_16">Destination_Left_Column</A></span>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1536          <span class="symbol"><A NAME="ref_1519_10" HREF="terminal_interface-curses__adb.htm#ref_1513_16">Destination_Bottom_Row</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1537          <span class="symbol"><A NAME="ref_1520_10" HREF="terminal_interface-curses__adb.htm#ref_1513_16">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1538       <b>pragma</b> Import (C, Pnoutrefresh, "pnoutrefresh");
1539    <b>begin</b>
1540       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1513_16">Pnoutrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1466_7">Pad</A>,
1541                        <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1467_7">Source_Top_Row</A>),
1542                        <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1468_7">Source_Left_Column</A>),
1543                        <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1469_7">Destination_Top_Row</A>),
1544                        <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1470_7">Destination_Left_Column</A>),
1545                        <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1471_7">Destination_Bottom_Row</A>),
1546                        <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1472_7">Destination_Right_Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
1547       <b>then</b>
1548          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1549       <b>end</b> <b>if</b>;
1550    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1465_14">Refresh_Without_Update</A>;
1551
1552    <b>procedure</b> <span class="symbol"><A NAME="ref_1535_14" HREF="terminal_interface-curses__ads.htm#ref_1477_14">Add_Character_To_Pad_And_Echo_It</A></span>
1553      (<span class="symbol"><A NAME="ref_1536_7" HREF="terminal_interface-curses__ads.htm#ref_1478_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1554       <span class="symbol"><A NAME="ref_1537_7" HREF="terminal_interface-curses__ads.htm#ref_1479_7">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
1555    <b>is</b>
1556       <b>function</b> <span class="symbol"><A NAME="ref_1539_16">Pechochar</A></span> (<span class="symbol"><A NAME="ref_1539_27" HREF="terminal_interface-curses__adb.htm#ref_1539_16">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1539_41" HREF="terminal_interface-curses__adb.htm#ref_1539_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
1557                           <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1558       <b>pragma</b> Import (C, Pechochar, "pechochar");
1559    <b>begin</b>
1560       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1539_16">Pechochar</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1478_7">Pad</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1479_7">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1561          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1562       <b>end</b> <b>if</b>;
1563    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1477_14">Add_Character_To_Pad_And_Echo_It</A>;
1564
1565    <b>procedure</b> <span class="symbol"><A NAME="ref_1548_14" HREF="terminal_interface-curses__ads.htm#ref_1482_14">Add_Character_To_Pad_And_Echo_It</A></span>
1566      (<span class="symbol"><A NAME="ref_1549_7" HREF="terminal_interface-curses__ads.htm#ref_1483_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1567       <span class="symbol"><A NAME="ref_1550_7" HREF="terminal_interface-curses__ads.htm#ref_1484_7">Ch</A></span>  : Character)
1568    <b>is</b>
1569    <b>begin</b>
1570       <A HREF="terminal_interface-curses__ads.htm#ref_1477_14">Add_Character_To_Pad_And_Echo_It</A>
1571         (<A HREF="terminal_interface-curses__ads.htm#ref_1483_7">Pad</A>,
1572          <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_1484_7">Ch</A>,
1573                                <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
1574                                <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>));
1575    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1482_14">Add_Character_To_Pad_And_Echo_It</A>;
1576 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
1577    <b>procedure</b> <span class="symbol"><A NAME="ref_1560_14" HREF="terminal_interface-curses__ads.htm#ref_1492_14">Scroll</A></span> (<span class="symbol"><A NAME="ref_1560_22" HREF="terminal_interface-curses__ads.htm#ref_1492_22">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
1578                      <span class="symbol"><A NAME="ref_1561_22" HREF="terminal_interface-curses__ads.htm#ref_1493_22">Amount</A></span> : Integer := 1)
1579    <b>is</b>
1580       <b>function</b> <span class="symbol"><A NAME="ref_1563_16">Wscrl</A></span> (<span class="symbol"><A NAME="ref_1563_23" HREF="terminal_interface-curses__adb.htm#ref_1563_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1563_37" HREF="terminal_interface-curses__adb.htm#ref_1563_16">N</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1581       <b>pragma</b> Import (C, Wscrl, "wscrl");
1582
1583    <b>begin</b>
1584       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1563_16">Wscrl</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1492_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1493_22">Amount</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1585          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1586       <b>end</b> <b>if</b>;
1587    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1492_14">Scroll</A>;
1588
1589 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
1590    <b>procedure</b> <span class="symbol"><A NAME="ref_1573_14" HREF="terminal_interface-curses__ads.htm#ref_1504_14">Delete_Character</A></span> (<span class="symbol"><A NAME="ref_1573_32" HREF="terminal_interface-curses__ads.htm#ref_1504_32">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
1591    <b>is</b>
1592       <b>function</b> <span class="symbol"><A NAME="ref_1575_16">Wdelch</A></span> (<span class="symbol"><A NAME="ref_1575_24" HREF="terminal_interface-curses__adb.htm#ref_1575_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1593       <b>pragma</b> Import (C, Wdelch, "wdelch");
1594    <b>begin</b>
1595       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1575_16">Wdelch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1504_32">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1596          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1597       <b>end</b> <b>if</b>;
1598    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1504_14">Delete_Character</A>;
1599
1600    <b>procedure</b> <span class="symbol"><A NAME="ref_1583_14" HREF="terminal_interface-curses__ads.htm#ref_1509_14">Delete_Character</A></span>
1601      (<span class="symbol"><A NAME="ref_1584_7" HREF="terminal_interface-curses__ads.htm#ref_1510_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
1602       <span class="symbol"><A NAME="ref_1585_7" HREF="terminal_interface-curses__ads.htm#ref_1511_7">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
1603       <span class="symbol"><A NAME="ref_1586_7" HREF="terminal_interface-curses__ads.htm#ref_1512_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
1604    <b>is</b>
1605       <b>function</b> <span class="symbol"><A NAME="ref_1588_16">Mvwdelch</A></span> (<span class="symbol"><A NAME="ref_1588_26" HREF="terminal_interface-curses__adb.htm#ref_1588_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1606                          <span class="symbol"><A NAME="ref_1589_26" HREF="terminal_interface-curses__adb.htm#ref_1588_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1607                          <span class="symbol"><A NAME="ref_1590_26" HREF="terminal_interface-curses__adb.htm#ref_1588_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1608       <b>pragma</b> Import (C, Mvwdelch, "mvwdelch");
1609    <b>begin</b>
1610       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1588_16">Mvwdelch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1510_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1511_7">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1512_7">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1611          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1612       <b>end</b> <b>if</b>;
1613    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1509_14">Delete_Character</A>;
1614 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
1615    <b>function</b> <span class="symbol"><A NAME="ref_1598_13" HREF="terminal_interface-curses__ads.htm#ref_1522_13">Peek</A></span> (<span class="symbol"><A NAME="ref_1598_19" HREF="terminal_interface-curses__ads.htm#ref_1522_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
1616      <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>
1617    <b>is</b>
1618       <b>function</b> <span class="symbol"><A NAME="ref_1601_16">Winch</A></span> (<span class="symbol"><A NAME="ref_1601_23" HREF="terminal_interface-curses__adb.htm#ref_1601_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
1619       <b>pragma</b> Import (C, Winch, "winch");
1620    <b>begin</b>
1621       <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1601_16">Winch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1522_19">Win</A>);
1622    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1522_13">Peek</A>;
1623
1624    <b>function</b> <span class="symbol"><A NAME="ref_1607_13" HREF="terminal_interface-curses__ads.htm#ref_1528_13">Peek</A></span>
1625      (<span class="symbol"><A NAME="ref_1608_7" HREF="terminal_interface-curses__ads.htm#ref_1529_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
1626       <span class="symbol"><A NAME="ref_1609_7" HREF="terminal_interface-curses__ads.htm#ref_1530_7">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
1627       <span class="symbol"><A NAME="ref_1610_7" HREF="terminal_interface-curses__ads.htm#ref_1531_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>
1628    <b>is</b>
1629       <b>function</b> <span class="symbol"><A NAME="ref_1612_16">Mvwinch</A></span> (<span class="symbol"><A NAME="ref_1612_25" HREF="terminal_interface-curses__adb.htm#ref_1612_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1630                         <span class="symbol"><A NAME="ref_1613_25" HREF="terminal_interface-curses__adb.htm#ref_1612_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1631                         <span class="symbol"><A NAME="ref_1614_25" HREF="terminal_interface-curses__adb.htm#ref_1612_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
1632       <b>pragma</b> Import (C, Mvwinch, "mvwinch");
1633    <b>begin</b>
1634       <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1612_16">Mvwinch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1529_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1530_7">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1531_7">Column</A>));
1635    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1528_13">Peek</A>;
1636 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
1637    <b>procedure</b> <span class="symbol"><A NAME="ref_1620_14" HREF="terminal_interface-curses__ads.htm#ref_1541_14">Insert</A></span> (<span class="symbol"><A NAME="ref_1620_22" HREF="terminal_interface-curses__ads.htm#ref_1541_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
1638                      <span class="symbol"><A NAME="ref_1621_22" HREF="terminal_interface-curses__ads.htm#ref_1542_22">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
1639    <b>is</b>
1640       <b>function</b> <span class="symbol"><A NAME="ref_1623_16">Winsch</A></span> (<span class="symbol"><A NAME="ref_1623_24" HREF="terminal_interface-curses__adb.htm#ref_1623_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1623_38" HREF="terminal_interface-curses__adb.htm#ref_1623_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1641       <b>pragma</b> Import (C, Winsch, "winsch");
1642    <b>begin</b>
1643       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1623_16">Winsch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1541_22">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1542_22">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1644          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1645       <b>end</b> <b>if</b>;
1646    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1541_14">Insert</A>;
1647
1648    <b>procedure</b> <span class="symbol"><A NAME="ref_1631_14" HREF="terminal_interface-curses__ads.htm#ref_1547_14">Insert</A></span>
1649      (<span class="symbol"><A NAME="ref_1632_7" HREF="terminal_interface-curses__ads.htm#ref_1547_22">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
1650       <span class="symbol"><A NAME="ref_1633_7" HREF="terminal_interface-curses__ads.htm#ref_1548_22">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
1651       <span class="symbol"><A NAME="ref_1634_7" HREF="terminal_interface-curses__ads.htm#ref_1549_22">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
1652       <span class="symbol"><A NAME="ref_1635_7" HREF="terminal_interface-curses__ads.htm#ref_1550_22">Ch</A></span>     : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
1653    <b>is</b>
1654       <b>function</b> <span class="symbol"><A NAME="ref_1637_16">Mvwinsch</A></span> (<span class="symbol"><A NAME="ref_1637_26" HREF="terminal_interface-curses__adb.htm#ref_1637_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1655                          <span class="symbol"><A NAME="ref_1638_26" HREF="terminal_interface-curses__adb.htm#ref_1637_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1656                          <span class="symbol"><A NAME="ref_1639_26" HREF="terminal_interface-curses__adb.htm#ref_1637_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1657                          <span class="symbol"><A NAME="ref_1640_26" HREF="terminal_interface-curses__adb.htm#ref_1637_16">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1658       <b>pragma</b> Import (C, Mvwinsch, "mvwinsch");
1659    <b>begin</b>
1660       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1637_16">Mvwinsch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1547_22">Win</A>,
1661                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1548_22">Line</A>),
1662                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1549_22">Column</A>),
1663                    <A HREF="terminal_interface-curses__ads.htm#ref_1550_22">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
1664       <b>then</b>
1665          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1666       <b>end</b> <b>if</b>;
1667    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1547_14">Insert</A>;
1668 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
1669    <b>procedure</b> <span class="symbol"><A NAME="ref_1652_14" HREF="terminal_interface-curses__ads.htm#ref_1559_14">Insert</A></span> (<span class="symbol"><A NAME="ref_1652_22" HREF="terminal_interface-curses__ads.htm#ref_1559_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
1670                      <span class="symbol"><A NAME="ref_1653_22" HREF="terminal_interface-curses__ads.htm#ref_1560_22">Str</A></span> : String;
1671                      <span class="symbol"><A NAME="ref_1654_22" HREF="terminal_interface-curses__ads.htm#ref_1561_22">Len</A></span> : Integer := -1)
1672    <b>is</b>
1673       <b>function</b> <span class="symbol"><A NAME="ref_1656_16">Winsnstr</A></span> (<span class="symbol"><A NAME="ref_1656_26" HREF="terminal_interface-curses__adb.htm#ref_1656_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1674                          <span class="symbol"><A NAME="ref_1657_26" HREF="terminal_interface-curses__adb.htm#ref_1656_16">Str</A></span> : char_array;
1675                          <span class="symbol"><A NAME="ref_1658_26" HREF="terminal_interface-curses__adb.htm#ref_1656_16">Len</A></span> : Integer := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1676       <b>pragma</b> Import (C, Winsnstr, "winsnstr");
1677
1678       <span class="symbol"><A NAME="ref_1661_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1560_22">Str</A>'Length);
1679       <span class="symbol"><A NAME="ref_1662_7">Length</A></span> : size_t;
1680    <b>begin</b>
1681       To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1560_22">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1661_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1662_7">Length</A>);
1682       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1656_16">Winsnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1559_22">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1661_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1561_22">Len</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1683          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1684       <b>end</b> <b>if</b>;
1685    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1559_14">Insert</A>;
1686
1687    <b>procedure</b> <span class="symbol"><A NAME="ref_1670_14" HREF="terminal_interface-curses__ads.htm#ref_1568_14">Insert</A></span>
1688      (<span class="symbol"><A NAME="ref_1671_7" HREF="terminal_interface-curses__ads.htm#ref_1568_22">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
1689       <span class="symbol"><A NAME="ref_1672_7" HREF="terminal_interface-curses__ads.htm#ref_1569_22">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
1690       <span class="symbol"><A NAME="ref_1673_7" HREF="terminal_interface-curses__ads.htm#ref_1570_22">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
1691       <span class="symbol"><A NAME="ref_1674_7" HREF="terminal_interface-curses__ads.htm#ref_1571_22">Str</A></span>    : String;
1692       <span class="symbol"><A NAME="ref_1675_7" HREF="terminal_interface-curses__ads.htm#ref_1572_22">Len</A></span>    : Integer := -1)
1693    <b>is</b>
1694       <b>function</b> <span class="symbol"><A NAME="ref_1677_16">Mvwinsnstr</A></span> (<span class="symbol"><A NAME="ref_1677_28" HREF="terminal_interface-curses__adb.htm#ref_1677_16">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1695                            <span class="symbol"><A NAME="ref_1678_28" HREF="terminal_interface-curses__adb.htm#ref_1677_16">Line</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1696                            <span class="symbol"><A NAME="ref_1679_28" HREF="terminal_interface-curses__adb.htm#ref_1677_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1697                            <span class="symbol"><A NAME="ref_1680_28" HREF="terminal_interface-curses__adb.htm#ref_1677_16">Str</A></span>    : char_array;
1698                            <span class="symbol"><A NAME="ref_1681_28" HREF="terminal_interface-curses__adb.htm#ref_1677_16">Len</A></span>    : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1699       <b>pragma</b> Import (C, Mvwinsnstr, "mvwinsnstr");
1700
1701       <span class="symbol"><A NAME="ref_1684_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1571_22">Str</A>'Length);
1702       <span class="symbol"><A NAME="ref_1685_7">Length</A></span> : size_t;
1703    <b>begin</b>
1704       To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1571_22">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1684_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1685_7">Length</A>);
1705       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1677_16">Mvwinsnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1568_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1569_22">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1570_22">Column</A>), <A HREF="terminal_interface-curses__adb.htm#ref_1684_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1572_22">Len</A>))
1706         = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
1707       <b>then</b>
1708          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1709       <b>end</b> <b>if</b>;
1710    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1568_14">Insert</A>;
1711 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
1712    <b>procedure</b> <span class="symbol"><A NAME="ref_1695_14" HREF="terminal_interface-curses__ads.htm#ref_1584_14">Peek</A></span> (<span class="symbol"><A NAME="ref_1695_20" HREF="terminal_interface-curses__ads.htm#ref_1584_20">Win</A></span> :  <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
1713                    <span class="symbol"><A NAME="ref_1696_20" HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A></span> : <b>out</b> String;
1714                    <span class="symbol"><A NAME="ref_1697_20" HREF="terminal_interface-curses__ads.htm#ref_1586_20">Len</A></span> :  Integer := -1)
1715    <b>is</b>
1716       <b>function</b> <span class="symbol"><A NAME="ref_1699_16">Winnstr</A></span> (<span class="symbol"><A NAME="ref_1699_25" HREF="terminal_interface-curses__adb.htm#ref_1699_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1717                         <span class="symbol"><A NAME="ref_1700_25" HREF="terminal_interface-curses__adb.htm#ref_1699_16">Str</A></span> : char_array;
1718                         <span class="symbol"><A NAME="ref_1701_25" HREF="terminal_interface-curses__adb.htm#ref_1699_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1719       <b>pragma</b> Import (C, Winnstr, "winnstr");
1720
1721       <span class="symbol"><A NAME="ref_1704_7">N</A></span>   : Integer := <A HREF="terminal_interface-curses__ads.htm#ref_1586_20">Len</A>;
1722       <span class="symbol"><A NAME="ref_1705_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A>'Length);
1723       <span class="symbol"><A NAME="ref_1706_7">Cnt</A></span> : Natural;
1724    <b>begin</b>
1725       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1704_7">N</A> &lt; 0 <b>then</b>
1726          <A HREF="terminal_interface-curses__adb.htm#ref_1704_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A>'Length;
1727       <b>end</b> <b>if</b>;
1728       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1704_7">N</A> &gt; <A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A>'Length <b>then</b>
1729          <b>raise</b> Constraint_Error;
1730       <b>end</b> <b>if</b>;
1731       <A HREF="terminal_interface-curses__adb.htm#ref_1705_7">Txt</A> (0) := <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.char'First;
1732       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1699_16">Winnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1584_20">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1705_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1704_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1733          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1734       <b>end</b> <b>if</b>;
1735       To_Ada (<A HREF="terminal_interface-curses__adb.htm#ref_1705_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1706_7">Cnt</A>, True);
1736       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1706_7">Cnt</A> &lt; <A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A>'Length <b>then</b>
1737          <A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#ref_1706_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A>'Last) := (<b>others</b> =&gt; ' ');
1738       <b>end</b> <b>if</b>;
1739    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1584_14">Peek</A>;
1740
1741    <b>procedure</b> <span class="symbol"><A NAME="ref_1724_14" HREF="terminal_interface-curses__ads.htm#ref_1593_14">Peek</A></span>
1742      (<span class="symbol"><A NAME="ref_1725_7" HREF="terminal_interface-curses__ads.htm#ref_1593_20">Win</A></span>    :  <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
1743       <span class="symbol"><A NAME="ref_1726_7" HREF="terminal_interface-curses__ads.htm#ref_1594_20">Line</A></span>   :  <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
1744       <span class="symbol"><A NAME="ref_1727_7" HREF="terminal_interface-curses__ads.htm#ref_1595_20">Column</A></span> :  <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
1745       <span class="symbol"><A NAME="ref_1728_7" HREF="terminal_interface-curses__ads.htm#ref_1596_20">Str</A></span>    : <b>out</b> String;
1746       <span class="symbol"><A NAME="ref_1729_7" HREF="terminal_interface-curses__ads.htm#ref_1597_20">Len</A></span>    :  Integer := -1)
1747    <b>is</b>
1748    <b>begin</b>
1749       <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1593_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1594_20">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1595_20">Column</A>);
1750       <A HREF="terminal_interface-curses__ads.htm#ref_1584_14">Peek</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1593_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1596_20">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1597_20">Len</A>);
1751    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1593_14">Peek</A>;
1752 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
1753    <b>procedure</b> <span class="symbol"><A NAME="ref_1736_14" HREF="terminal_interface-curses__ads.htm#ref_1608_14">Peek</A></span>
1754      (<span class="symbol"><A NAME="ref_1737_7" HREF="terminal_interface-curses__ads.htm#ref_1608_20">Win</A></span> :  <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
1755       <span class="symbol"><A NAME="ref_1738_7" HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Attributed_String</A>;
1756       <span class="symbol"><A NAME="ref_1739_7" HREF="terminal_interface-curses__ads.htm#ref_1610_20">Len</A></span> :  Integer := -1)
1757    <b>is</b>
1758       <b>function</b> <span class="symbol"><A NAME="ref_1741_16">Winchnstr</A></span> (<span class="symbol"><A NAME="ref_1741_27" HREF="terminal_interface-curses__adb.htm#ref_1741_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1759                           <span class="symbol"><A NAME="ref_1742_27" HREF="terminal_interface-curses__adb.htm#ref_1741_16">Str</A></span> : chtype_array;             <span class="comment"><EM>-- out</EM></span>
1760                           <span class="symbol"><A NAME="ref_1743_27" HREF="terminal_interface-curses__adb.htm#ref_1741_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1761       <b>pragma</b> Import (C, Winchnstr, "winchnstr");
1762
1763       <span class="symbol"><A NAME="ref_1746_7">N</A></span>   : Integer := <A HREF="terminal_interface-curses__ads.htm#ref_1610_20">Len</A>;
1764       <span class="symbol"><A NAME="ref_1747_7">Txt</A></span> : <b>constant</b> chtype_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A>'Length)
1765           := (0 =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>);
1766       <span class="symbol"><A NAME="ref_1749_7">Cnt</A></span> : Natural := 0;
1767    <b>begin</b>
1768       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1746_7">N</A> &lt; 0 <b>then</b>
1769          <A HREF="terminal_interface-curses__adb.htm#ref_1746_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A>'Length;
1770       <b>end</b> <b>if</b>;
1771       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1746_7">N</A> &gt; <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A>'Length <b>then</b>
1772          <b>raise</b> Constraint_Error;
1773       <b>end</b> <b>if</b>;
1774       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1741_16">Winchnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1608_20">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1747_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1746_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1775          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1776       <b>end</b> <b>if</b>;
1777       <b>for</b> <span class="symbol"><A NAME="ref_1760_11">To</A></span> <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A>'<b>Range</b> <b>loop</b>
1778          <b>exit</b> <b>when</b> <A HREF="terminal_interface-curses__adb.htm#ref_1747_7">Txt</A> (size_t (<A HREF="terminal_interface-curses__adb.htm#ref_1749_7">Cnt</A>)) = <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
1779          <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1760_11">To</A>) := <A HREF="terminal_interface-curses__adb.htm#ref_1747_7">Txt</A> (size_t (<A HREF="terminal_interface-curses__adb.htm#ref_1749_7">Cnt</A>));
1780          <A HREF="terminal_interface-curses__adb.htm#ref_1749_7">Cnt</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1749_7">Cnt</A> + 1;
1781       <b>end</b> <b>loop</b>;
1782       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1749_7">Cnt</A> &lt; <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A>'Length <b>then</b>
1783          <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#ref_1749_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A>'Last) :=
1784            (<b>others</b> =&gt; (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> =&gt; ' ',
1785                        <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
1786                        <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>));
1787       <b>end</b> <b>if</b>;
1788    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1608_14">Peek</A>;
1789
1790    <b>procedure</b> <span class="symbol"><A NAME="ref_1773_14" HREF="terminal_interface-curses__ads.htm#ref_1617_14">Peek</A></span>
1791      (<span class="symbol"><A NAME="ref_1774_7" HREF="terminal_interface-curses__ads.htm#ref_1617_20">Win</A></span>    :  <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
1792       <span class="symbol"><A NAME="ref_1775_7" HREF="terminal_interface-curses__ads.htm#ref_1618_20">Line</A></span>   :  <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
1793       <span class="symbol"><A NAME="ref_1776_7" HREF="terminal_interface-curses__ads.htm#ref_1619_20">Column</A></span> :  <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
1794       <span class="symbol"><A NAME="ref_1777_7" HREF="terminal_interface-curses__ads.htm#ref_1620_20">Str</A></span>    : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Attributed_String</A>;
1795       <span class="symbol"><A NAME="ref_1778_7" HREF="terminal_interface-curses__ads.htm#ref_1621_20">Len</A></span>    : Integer := -1)
1796    <b>is</b>
1797    <b>begin</b>
1798       <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1617_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1618_20">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1619_20">Column</A>);
1799       <A HREF="terminal_interface-curses__ads.htm#ref_1608_14">Peek</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1617_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1620_20">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1621_20">Len</A>);
1800    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1617_14">Peek</A>;
1801 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
1802    <b>procedure</b> <span class="symbol"><A NAME="ref_1785_14" HREF="terminal_interface-curses__ads.htm#ref_1633_14">Get</A></span> (<span class="symbol"><A NAME="ref_1785_19" HREF="terminal_interface-curses__ads.htm#ref_1633_19">Win</A></span> :  <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
1803                   <span class="symbol"><A NAME="ref_1786_19" HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A></span> : <b>out</b> String;
1804                   <span class="symbol"><A NAME="ref_1787_19" HREF="terminal_interface-curses__ads.htm#ref_1635_19">Len</A></span> :  Integer := -1)
1805    <b>is</b>
1806       <b>function</b> <span class="symbol"><A NAME="ref_1789_16">Wgetnstr</A></span> (<span class="symbol"><A NAME="ref_1789_26" HREF="terminal_interface-curses__adb.htm#ref_1789_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
1807                          <span class="symbol"><A NAME="ref_1790_26" HREF="terminal_interface-curses__adb.htm#ref_1789_16">Str</A></span> : char_array;
1808                          <span class="symbol"><A NAME="ref_1791_26" HREF="terminal_interface-curses__adb.htm#ref_1789_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1809       <b>pragma</b> Import (C, Wgetnstr, "wgetnstr");
1810
1811       <span class="symbol"><A NAME="ref_1794_7">N</A></span>   : Integer := <A HREF="terminal_interface-curses__ads.htm#ref_1635_19">Len</A>;
1812       <span class="symbol"><A NAME="ref_1795_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A>'Length);
1813       <span class="symbol"><A NAME="ref_1796_7">Cnt</A></span> : Natural;
1814    <b>begin</b>
1815       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1794_7">N</A> &lt; 0 <b>then</b>
1816          <A HREF="terminal_interface-curses__adb.htm#ref_1794_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A>'Length;
1817       <b>end</b> <b>if</b>;
1818       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1794_7">N</A> &gt; <A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A>'Length <b>then</b>
1819          <b>raise</b> Constraint_Error;
1820       <b>end</b> <b>if</b>;
1821       <A HREF="terminal_interface-curses__adb.htm#ref_1795_7">Txt</A> (0) := <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.char'First;
1822       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1789_16">Wgetnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1633_19">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1795_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1794_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1823          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1824       <b>end</b> <b>if</b>;
1825       To_Ada (<A HREF="terminal_interface-curses__adb.htm#ref_1795_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1796_7">Cnt</A>, True);
1826       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1796_7">Cnt</A> &lt; <A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A>'Length <b>then</b>
1827          <A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#ref_1796_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A>'Last) := (<b>others</b> =&gt; ' ');
1828       <b>end</b> <b>if</b>;
1829    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1633_14">Get</A>;
1830
1831    <b>procedure</b> <span class="symbol"><A NAME="ref_1814_14" HREF="terminal_interface-curses__ads.htm#ref_1644_14">Get</A></span>
1832      (<span class="symbol"><A NAME="ref_1815_7" HREF="terminal_interface-curses__ads.htm#ref_1644_19">Win</A></span>    :  <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
1833       <span class="symbol"><A NAME="ref_1816_7" HREF="terminal_interface-curses__ads.htm#ref_1645_19">Line</A></span>   :  <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
1834       <span class="symbol"><A NAME="ref_1817_7" HREF="terminal_interface-curses__ads.htm#ref_1646_19">Column</A></span> :  <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
1835       <span class="symbol"><A NAME="ref_1818_7" HREF="terminal_interface-curses__ads.htm#ref_1647_19">Str</A></span>    : <b>out</b> String;
1836       <span class="symbol"><A NAME="ref_1819_7" HREF="terminal_interface-curses__ads.htm#ref_1648_19">Len</A></span>    :  Integer := -1)
1837    <b>is</b>
1838    <b>begin</b>
1839       <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1644_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1645_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1646_19">Column</A>);
1840       <A HREF="terminal_interface-curses__ads.htm#ref_1633_14">Get</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1644_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1647_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1648_19">Len</A>);
1841    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1644_14">Get</A>;
1842 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
1843    <b>procedure</b> <span class="symbol"><A NAME="ref_1826_14" HREF="terminal_interface-curses__ads.htm#ref_1669_14">Init_Soft_Label_Keys</A></span>
1844      (<span class="symbol"><A NAME="ref_1827_7" HREF="terminal_interface-curses__ads.htm#ref_1670_7">Format</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1661_9">Soft_Label_Key_Format</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1661_35">Three_Two_Three</A>)
1845    <b>is</b>
1846       <b>function</b> <span class="symbol"><A NAME="ref_1829_16">Slk_Init</A></span> (<span class="symbol"><A NAME="ref_1829_26" HREF="terminal_interface-curses__adb.htm#ref_1829_16">Fmt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1847       <b>pragma</b> Import (C, Slk_Init, "slk_init");
1848    <b>begin</b>
1849       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1829_16">Slk_Init</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1661_9">Soft_Label_Key_Format</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1670_7">Format</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1850          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1851       <b>end</b> <b>if</b>;
1852    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1669_14">Init_Soft_Label_Keys</A>;
1853
1854    <b>procedure</b> <span class="symbol"><A NAME="ref_1837_14" HREF="terminal_interface-curses__ads.htm#ref_1675_14">Set_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1837_34" HREF="terminal_interface-curses__ads.htm#ref_1675_34">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1665_9">Label_Number</A>;
1855                                  <span class="symbol"><A NAME="ref_1838_34" HREF="terminal_interface-curses__ads.htm#ref_1676_34">Text</A></span>  : String;
1856                                  <span class="symbol"><A NAME="ref_1839_34" HREF="terminal_interface-curses__ads.htm#ref_1677_34">Fmt</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_1666_9">Label_Justification</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1666_33">Left</A>)
1857    <b>is</b>
1858       <b>function</b> <span class="symbol"><A NAME="ref_1841_16">Slk_Set</A></span> (<span class="symbol"><A NAME="ref_1841_25" HREF="terminal_interface-curses__adb.htm#ref_1841_16">Label</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1859                         <span class="symbol"><A NAME="ref_1842_25" HREF="terminal_interface-curses__adb.htm#ref_1841_16">Txt</A></span>   : char_array;
1860                         <span class="symbol"><A NAME="ref_1843_25" HREF="terminal_interface-curses__adb.htm#ref_1841_16">Fmt</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1861       <b>pragma</b> Import (C, Slk_Set, "slk_set");
1862
1863       <span class="symbol"><A NAME="ref_1846_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1676_34">Text</A>'Length);
1864       <span class="symbol"><A NAME="ref_1847_7">Len</A></span> : size_t;
1865    <b>begin</b>
1866       To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1676_34">Text</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1846_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1847_7">Len</A>);
1867       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1841_16">Slk_Set</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1675_34">Label</A>), <A HREF="terminal_interface-curses__adb.htm#ref_1846_7">Txt</A>,
1868                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1666_9">Label_Justification</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1677_34">Fmt</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
1869       <b>then</b>
1870          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1871       <b>end</b> <b>if</b>;
1872    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1675_14">Set_Soft_Label_Key</A>;
1873
1874    <b>procedure</b> <span class="symbol"><A NAME="ref_1857_14" HREF="terminal_interface-curses__ads.htm#ref_1682_14">Refresh_Soft_Label_Keys</A></span>
1875    <b>is</b>
1876       <b>function</b> <span class="symbol"><A NAME="ref_1859_16">Slk_Refresh</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1877       <b>pragma</b> Import (C, Slk_Refresh, "slk_refresh");
1878    <b>begin</b>
1879       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1859_16">Slk_Refresh</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1880          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1881       <b>end</b> <b>if</b>;
1882    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1682_14">Refresh_Soft_Label_Keys</A>;
1883
1884    <b>procedure</b> <span class="symbol"><A NAME="ref_1867_14" HREF="terminal_interface-curses__ads.htm#ref_1687_14">Refresh_Soft_Label_Keys_Without_Update</A></span>
1885    <b>is</b>
1886       <b>function</b> <span class="symbol"><A NAME="ref_1869_16">Slk_Noutrefresh</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1887       <b>pragma</b> Import (C, Slk_Noutrefresh, "slk_noutrefresh");
1888    <b>begin</b>
1889       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1869_16">Slk_Noutrefresh</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1890          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1891       <b>end</b> <b>if</b>;
1892    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1687_14">Refresh_Soft_Label_Keys_Without_Update</A>;
1893
1894    <b>procedure</b> <span class="symbol"><A NAME="ref_1877_14" HREF="terminal_interface-curses__ads.htm#ref_1692_14">Get_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1877_34" HREF="terminal_interface-curses__ads.htm#ref_1692_34">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1665_9">Label_Number</A>;
1895                                  <span class="symbol"><A NAME="ref_1878_34" HREF="terminal_interface-curses__ads.htm#ref_1693_34">Text</A></span>  : <b>out</b> String)
1896    <b>is</b>
1897       <b>function</b> <span class="symbol"><A NAME="ref_1880_16">Slk_Label</A></span> (<span class="symbol"><A NAME="ref_1880_27" HREF="terminal_interface-curses__adb.htm#ref_1880_16">Label</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> chars_ptr;
1898       <b>pragma</b> Import (C, Slk_Label, "slk_label");
1899    <b>begin</b>
1900       <A HREF="terminal_interface-curses-aux__ads.htm#ref_90_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1880_16">Slk_Label</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1692_34">Label</A>)), <A HREF="terminal_interface-curses__ads.htm#ref_1693_34">Text</A>);
1901    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1692_14">Get_Soft_Label_Key</A>;
1902
1903    <b>function</b> <span class="symbol"><A NAME="ref_1886_13" HREF="terminal_interface-curses__ads.htm#ref_1697_13">Get_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1886_33" HREF="terminal_interface-curses__ads.htm#ref_1697_33">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1665_9">Label_Number</A>) <b>return</b> String
1904    <b>is</b>
1905       <b>function</b> <span class="symbol"><A NAME="ref_1888_16">Slk_Label</A></span> (<span class="symbol"><A NAME="ref_1888_27" HREF="terminal_interface-curses__adb.htm#ref_1888_16">Label</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> chars_ptr;
1906       <b>pragma</b> Import (C, Slk_Label, "slk_label");
1907    <b>begin</b>
1908       <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_95_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1888_16">Slk_Label</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1697_33">Label</A>)));
1909    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1697_13">Get_Soft_Label_Key</A>;
1910
1911    <b>procedure</b> <span class="symbol"><A NAME="ref_1894_14" HREF="terminal_interface-curses__ads.htm#ref_1703_14">Clear_Soft_Label_Keys</A></span>
1912    <b>is</b>
1913       <b>function</b> <span class="symbol"><A NAME="ref_1896_16">Slk_Clear</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1914       <b>pragma</b> Import (C, Slk_Clear, "slk_clear");
1915    <b>begin</b>
1916       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1896_16">Slk_Clear</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1917          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1918       <b>end</b> <b>if</b>;
1919    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1703_14">Clear_Soft_Label_Keys</A>;
1920
1921    <b>procedure</b> <span class="symbol"><A NAME="ref_1904_14" HREF="terminal_interface-curses__ads.htm#ref_1708_14">Restore_Soft_Label_Keys</A></span>
1922    <b>is</b>
1923       <b>function</b> <span class="symbol"><A NAME="ref_1906_16">Slk_Restore</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1924       <b>pragma</b> Import (C, Slk_Restore, "slk_restore");
1925    <b>begin</b>
1926       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1906_16">Slk_Restore</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1927          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1928       <b>end</b> <b>if</b>;
1929    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1708_14">Restore_Soft_Label_Keys</A>;
1930
1931    <b>procedure</b> <span class="symbol"><A NAME="ref_1914_14" HREF="terminal_interface-curses__ads.htm#ref_1713_14">Touch_Soft_Label_Keys</A></span>
1932    <b>is</b>
1933       <b>function</b> <span class="symbol"><A NAME="ref_1916_16">Slk_Touch</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1934       <b>pragma</b> Import (C, Slk_Touch, "slk_touch");
1935    <b>begin</b>
1936       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1916_16">Slk_Touch</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1937          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1938       <b>end</b> <b>if</b>;
1939    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1713_14">Touch_Soft_Label_Keys</A>;
1940
1941    <b>procedure</b> <span class="symbol"><A NAME="ref_1924_14" HREF="terminal_interface-curses__ads.htm#ref_1718_14">Switch_Soft_Label_Key_Attributes</A></span>
1942      (<span class="symbol"><A NAME="ref_1925_7" HREF="terminal_interface-curses__ads.htm#ref_1719_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
1943       <span class="symbol"><A NAME="ref_1926_7" HREF="terminal_interface-curses__ads.htm#ref_1720_7">On</A></span>   : Boolean := True)
1944    <b>is</b>
1945       <b>function</b> <span class="symbol"><A NAME="ref_1928_16">Slk_Attron</A></span> (<span class="symbol"><A NAME="ref_1928_28" HREF="terminal_interface-curses__adb.htm#ref_1928_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1946       <b>pragma</b> Import (C, Slk_Attron, "slk_attron");
1947       <b>function</b> <span class="symbol"><A NAME="ref_1930_16">Slk_Attroff</A></span> (<span class="symbol"><A NAME="ref_1930_29" HREF="terminal_interface-curses__adb.htm#ref_1930_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1948       <b>pragma</b> Import (C, Slk_Attroff, "slk_attroff");
1949
1950       <span class="symbol"><A NAME="ref_1933_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1951       <span class="symbol"><A NAME="ref_1934_7">Ch</A></span>  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    =&gt; Character'First,
1952                                               <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_1719_7">Attr</A>,
1953                                               <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First);
1954    <b>begin</b>
1955       <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1720_7">On</A> <b>then</b>
1956          <A HREF="terminal_interface-curses__adb.htm#ref_1933_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1928_16">Slk_Attron</A>  (<A HREF="terminal_interface-curses__adb.htm#ref_1934_7">Ch</A>);
1957       <b>else</b>
1958          <A HREF="terminal_interface-curses__adb.htm#ref_1933_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1930_16">Slk_Attroff</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1934_7">Ch</A>);
1959       <b>end</b> <b>if</b>;
1960       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1933_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1961          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1962       <b>end</b> <b>if</b>;
1963    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1718_14">Switch_Soft_Label_Key_Attributes</A>;
1964
1965    <b>procedure</b> <span class="symbol"><A NAME="ref_1948_14" HREF="terminal_interface-curses__ads.htm#ref_1726_14">Set_Soft_Label_Key_Attributes</A></span>
1966      (<span class="symbol"><A NAME="ref_1949_7" HREF="terminal_interface-curses__ads.htm#ref_1727_7">Attr</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
1967       <span class="symbol"><A NAME="ref_1950_7" HREF="terminal_interface-curses__ads.htm#ref_1728_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
1968    <b>is</b>
1969       <b>function</b> <span class="symbol"><A NAME="ref_1952_16">Slk_Attrset</A></span> (<span class="symbol"><A NAME="ref_1952_29" HREF="terminal_interface-curses__adb.htm#ref_1952_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
1970       <b>pragma</b> Import (C, Slk_Attrset, "slk_attrset");
1971
1972       <span class="symbol"><A NAME="ref_1955_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    =&gt; Character'First,
1973                                              <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_1727_7">Attr</A>,
1974                                              <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_1728_7">Color</A>);
1975    <b>begin</b>
1976       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1952_16">Slk_Attrset</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1955_7">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
1977          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
1978       <b>end</b> <b>if</b>;
1979    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1726_14">Set_Soft_Label_Key_Attributes</A>;
1980
1981    <b>function</b> <span class="symbol"><A NAME="ref_1964_13" HREF="terminal_interface-curses__ads.htm#ref_1733_13">Get_Soft_Label_Key_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>
1982    <b>is</b>
1983       <b>function</b> <span class="symbol"><A NAME="ref_1966_16">Slk_Attr</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
1984       <b>pragma</b> Import (C, Slk_Attr, "slk_attr");
1985
1986       <span class="symbol"><A NAME="ref_1969_7">Attr</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1966_16">Slk_Attr</A>;
1987    <b>begin</b>
1988       <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1969_7">Attr</A>.<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
1989    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1733_13">Get_Soft_Label_Key_Attributes</A>;
1990
1991    <b>function</b> <span class="symbol"><A NAME="ref_1974_13" HREF="terminal_interface-curses__ads.htm#ref_1737_13">Get_Soft_Label_Key_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>
1992    <b>is</b>
1993       <b>function</b> <span class="symbol"><A NAME="ref_1976_16">Slk_Attr</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
1994       <b>pragma</b> Import (C, Slk_Attr, "slk_attr");
1995
1996       <span class="symbol"><A NAME="ref_1979_7">Attr</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1976_16">Slk_Attr</A>;
1997    <b>begin</b>
1998       <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1979_7">Attr</A>.<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A>;
1999    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1737_13">Get_Soft_Label_Key_Attributes</A>;
2000
2001    <b>procedure</b> <span class="symbol"><A NAME="ref_1984_14" HREF="terminal_interface-curses__ads.htm#ref_1742_14">Set_Soft_Label_Key_Color</A></span> (<span class="symbol"><A NAME="ref_1984_40" HREF="terminal_interface-curses__ads.htm#ref_1742_40">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>)
2002    <b>is</b>
2003       <b>function</b> <span class="symbol"><A NAME="ref_1986_16">Slk_Color</A></span> (<span class="symbol"><A NAME="ref_1986_27" HREF="terminal_interface-curses__adb.htm#ref_1986_16">Color</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
2004       <b>pragma</b> Import (C, Slk_Color, "slk_color");
2005    <b>begin</b>
2006       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1986_16">Slk_Color</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1742_40">Pair</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
2007          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
2008       <b>end</b> <b>if</b>;
2009    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1742_14">Set_Soft_Label_Key_Color</A>;
2010
2011 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
2012    <b>procedure</b> <span class="symbol"><A NAME="ref_1995_14" HREF="terminal_interface-curses__ads.htm#ref_1756_14">Enable_Key</A></span> (<span class="symbol"><A NAME="ref_1995_26" HREF="terminal_interface-curses__ads.htm#ref_1756_26">Key</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>;
2013                          <span class="symbol"><A NAME="ref_1996_26" HREF="terminal_interface-curses__ads.htm#ref_1757_26">Enable</A></span> : Boolean := True)
2014    <b>is</b>
2015       <b>function</b> <span class="symbol"><A NAME="ref_1998_16">Keyok</A></span> (<span class="symbol"><A NAME="ref_1998_23" HREF="terminal_interface-curses__adb.htm#ref_1998_16">Keycode</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
2016                       <span class="symbol"><A NAME="ref_1999_23" HREF="terminal_interface-curses__adb.htm#ref_1998_16">On_Off</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
2017       <b>pragma</b> Import (C, Keyok, "keyok");
2018    <b>begin</b>
2019       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1998_16">Keyok</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1756_26">Key</A>), <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1757_26">Enable</A>)))
2020         = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
2021       <b>then</b>
2022          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
2023       <b>end</b> <b>if</b>;
2024    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1756_14">Enable_Key</A>;
2025 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
2026    <b>procedure</b> <span class="symbol"><A NAME="ref_2009_14" HREF="terminal_interface-curses__ads.htm#ref_1766_14">Define_Key</A></span> (<span class="symbol"><A NAME="ref_2009_26" HREF="terminal_interface-curses__ads.htm#ref_1766_26">Definition</A></span> : String;
2027                          <span class="symbol"><A NAME="ref_2010_26" HREF="terminal_interface-curses__ads.htm#ref_1767_26">Key</A></span>        : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>)
2028    <b>is</b>
2029       <b>function</b> <span class="symbol"><A NAME="ref_2012_16">Defkey</A></span> (<span class="symbol"><A NAME="ref_2012_24" HREF="terminal_interface-curses__adb.htm#ref_2012_16">Def</A></span> : char_array;
2030                        <span class="symbol"><A NAME="ref_2013_24" HREF="terminal_interface-curses__adb.htm#ref_2012_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
2031       <b>pragma</b> Import (C, Defkey, "define_key");
2032
2033       <span class="symbol"><A NAME="ref_2016_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1766_26">Definition</A>'Length);
2034       <span class="symbol"><A NAME="ref_2017_7">Length</A></span> : size_t;
2035    <b>begin</b>
2036       To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1766_26">Definition</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2016_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2017_7">Length</A>);
2037       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2012_16">Defkey</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2016_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1767_26">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
2038          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
2039       <b>end</b> <b>if</b>;
2040    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1766_14">Define_Key</A>;
2041 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
2042    <b>procedure</b> <span class="symbol"><A NAME="ref_2025_14" HREF="terminal_interface-curses__ads.htm#ref_1792_14">Un_Control</A></span> (<span class="symbol"><A NAME="ref_2025_26" HREF="terminal_interface-curses__ads.htm#ref_1792_26">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
2043                          <span class="symbol"><A NAME="ref_2026_26" HREF="terminal_interface-curses__ads.htm#ref_1793_26">Str</A></span> : <b>out</b> String)
2044    <b>is</b>
2045       <b>function</b> <span class="symbol"><A NAME="ref_2028_16">Unctrl</A></span> (<span class="symbol"><A NAME="ref_2028_24" HREF="terminal_interface-curses__adb.htm#ref_2028_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> chars_ptr;
2046       <b>pragma</b> Import (C, Unctrl, "unctrl");
2047    <b>begin</b>
2048       <A HREF="terminal_interface-curses-aux__ads.htm#ref_90_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2028_16">Unctrl</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1792_26">Ch</A>), <A HREF="terminal_interface-curses__ads.htm#ref_1793_26">Str</A>);
2049    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1792_14">Un_Control</A>;
2050
2051    <b>function</b> <span class="symbol"><A NAME="ref_2034_13" HREF="terminal_interface-curses__ads.htm#ref_1797_13">Un_Control</A></span> (<span class="symbol"><A NAME="ref_2034_25" HREF="terminal_interface-curses__ads.htm#ref_1797_25">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> String
2052    <b>is</b>
2053       <b>function</b> <span class="symbol"><A NAME="ref_2036_16">Unctrl</A></span> (<span class="symbol"><A NAME="ref_2036_24" HREF="terminal_interface-curses__adb.htm#ref_2036_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> chars_ptr;
2054       <b>pragma</b> Import (C, Unctrl, "unctrl");
2055    <b>begin</b>
2056       <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_95_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2036_16">Unctrl</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1797_25">Ch</A>));
2057    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1797_13">Un_Control</A>;
2058
2059    <b>procedure</b> <span class="symbol"><A NAME="ref_2042_14" HREF="terminal_interface-curses__ads.htm#ref_1803_14">Delay_Output</A></span> (<span class="symbol"><A NAME="ref_2042_28" HREF="terminal_interface-curses__ads.htm#ref_1803_28">Msecs</A></span> : Natural)
2060    <b>is</b>
2061       <b>function</b> <span class="symbol"><A NAME="ref_2044_16">Delayoutput</A></span> (<span class="symbol"><A NAME="ref_2044_29" HREF="terminal_interface-curses__adb.htm#ref_2044_16">Msecs</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
2062       <b>pragma</b> Import (C, Delayoutput, "delay_output");
2063    <b>begin</b>
2064       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2044_16">Delayoutput</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1803_28">Msecs</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
2065          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
2066       <b>end</b> <b>if</b>;
2067    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1803_14">Delay_Output</A>;
2068
2069    <b>procedure</b> <span class="symbol"><A NAME="ref_2052_14" HREF="terminal_interface-curses__ads.htm#ref_1808_14">Flush_Input</A></span>
2070    <b>is</b>
2071       <b>function</b> <span class="symbol"><A NAME="ref_2054_16">Flushinp</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
2072       <b>pragma</b> Import (C, Flushinp, "flushinp");
2073    <b>begin</b>
2074       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2054_16">Flushinp</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>  <span class="comment"><EM>-- docu says that never happens, but...</EM></span>
2075          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
2076       <b>end</b> <b>if</b>;
2077    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1808_14">Flush_Input</A>;
2078 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
2079    <b>function</b> <span class="symbol"><A NAME="ref_2062_13" HREF="terminal_interface-curses__ads.htm#ref_1817_13">Baudrate</A></span> <b>return</b> Natural
2080    <b>is</b>
2081       <b>function</b> <span class="symbol"><A NAME="ref_2064_16">Baud</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
2082       <b>pragma</b> Import (C, Baud, "baudrate");
2083    <b>begin</b>
2084       <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#ref_2064_16">Baud</A>);
2085    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1817_13">Baudrate</A>;
2086
2087    <b>function</b> <span class="symbol"><A NAME="ref_2070_13" HREF="terminal_interface-curses__ads.htm#ref_1822_13">Erase_Character</A></span> <b>return</b> Character
2088    <b>is</b>
2089       <b>function</b> <span class="symbol"><A NAME="ref_2072_16">Erasechar</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
2090       <b>pragma</b> Import (C, Erasechar, "erasechar");
2091    <b>begin</b>
2092       <b>return</b> Character'Val (<A HREF="terminal_interface-curses__adb.htm#ref_2072_16">Erasechar</A>);
2093    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1822_13">Erase_Character</A>;
2094
2095    <b>function</b> <span class="symbol"><A NAME="ref_2078_13" HREF="terminal_interface-curses__ads.htm#ref_1827_13">Kill_Character</A></span> <b>return</b> Character
2096    <b>is</b>
2097       <b>function</b> <span class="symbol"><A NAME="ref_2080_16">Killchar</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
2098       <b>pragma</b> Import (C, Killchar, "killchar");
2099    <b>begin</b>
2100       <b>return</b> Character'Val (<A HREF="terminal_interface-curses__adb.htm#ref_2080_16">Killchar</A>);
2101    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1827_13">Kill_Character</A>;
2102
2103    <b>function</b> <span class="symbol"><A NAME="ref_2086_13" HREF="terminal_interface-curses__ads.htm#ref_1832_13">Has_Insert_Character</A></span> <b>return</b> Boolean
2104    <b>is</b>
2105       <b>function</b> <span class="symbol"><A NAME="ref_2088_16">Has_Ic</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
2106       <b>pragma</b> Import (C, Has_Ic, "has_ic");
2107    <b>begin</b>
2108       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2088_16">Has_Ic</A> = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A> <b>then</b>
2109          <b>return</b> False;
2110       <b>else</b>
2111          <b>return</b> True;
2112       <b>end</b> <b>if</b>;
2113    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1832_13">Has_Insert_Character</A>;
2114
2115    <b>function</b> <span class="symbol"><A NAME="ref_2098_13" HREF="terminal_interface-curses__ads.htm#ref_1837_13">Has_Insert_Line</A></span> <b>return</b> Boolean
2116    <b>is</b>
2117       <b>function</b> <span class="symbol"><A NAME="ref_2100_16">Has_Il</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
2118       <b>pragma</b> Import (C, Has_Il, "has_il");
2119    <b>begin</b>
2120       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2100_16">Has_Il</A> = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A> <b>then</b>
2121          <b>return</b> False;
2122       <b>else</b>
2123          <b>return</b> True;
2124       <b>end</b> <b>if</b>;
2125    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1837_13">Has_Insert_Line</A>;
2126
2127    <b>function</b> <span class="symbol"><A NAME="ref_2110_13" HREF="terminal_interface-curses__ads.htm#ref_1842_13">Supported_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>
2128    <b>is</b>
2129       <b>function</b> <span class="symbol"><A NAME="ref_2112_16">Termattrs</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
2130       <b>pragma</b> Import (C, Termattrs, "termattrs");
2131
2132       <span class="symbol"><A NAME="ref_2115_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2112_16">Termattrs</A>;
2133    <b>begin</b>
2134       <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_2115_7">Ch</A>.<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
2135    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1842_13">Supported_Attributes</A>;
2136
2137    <b>procedure</b> <span class="symbol"><A NAME="ref_2120_14" HREF="terminal_interface-curses__ads.htm#ref_1847_14">Long_Name</A></span> (<span class="symbol"><A NAME="ref_2120_25" HREF="terminal_interface-curses__ads.htm#ref_1847_25">Name</A></span> : <b>out</b> String)
2138    <b>is</b>
2139       <b>function</b> <span class="symbol"><A NAME="ref_2122_16">Longname</A></span> <b>return</b> chars_ptr;
2140       <b>pragma</b> Import (C, Longname, "longname");
2141    <b>begin</b>
2142       <A HREF="terminal_interface-curses-aux__ads.htm#ref_90_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2122_16">Longname</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1847_25">Name</A>);
2143    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1847_14">Long_Name</A>;
2144
2145    <b>function</b> <span class="symbol"><A NAME="ref_2128_13" HREF="terminal_interface-curses__ads.htm#ref_1851_13">Long_Name</A></span> <b>return</b> String
2146    <b>is</b>
2147       <b>function</b> <span class="symbol"><A NAME="ref_2130_16">Longname</A></span> <b>return</b> chars_ptr;
2148       <b>pragma</b> Import (C, Longname, "longname");
2149    <b>begin</b>
2150       <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_95_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2130_16">Longname</A>);
2151    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1851_13">Long_Name</A>;
2152
2153    <b>procedure</b> <span class="symbol"><A NAME="ref_2136_14" HREF="terminal_interface-curses__ads.htm#ref_1857_14">Terminal_Name</A></span> (<span class="symbol"><A NAME="ref_2136_29" HREF="terminal_interface-curses__ads.htm#ref_1857_29">Name</A></span> : <b>out</b> String)
2154    <b>is</b>
2155       <b>function</b> <span class="symbol"><A NAME="ref_2138_16">Termname</A></span> <b>return</b> chars_ptr;
2156       <b>pragma</b> Import (C, Termname, "termname");
2157    <b>begin</b>
2158       <A HREF="terminal_interface-curses-aux__ads.htm#ref_90_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2138_16">Termname</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1857_29">Name</A>);
2159    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1857_14">Terminal_Name</A>;
2160
2161    <b>function</b> <span class="symbol"><A NAME="ref_2144_13" HREF="terminal_interface-curses__ads.htm#ref_1861_13">Terminal_Name</A></span> <b>return</b> String
2162    <b>is</b>
2163       <b>function</b> <span class="symbol"><A NAME="ref_2146_16">Termname</A></span> <b>return</b> chars_ptr;
2164       <b>pragma</b> Import (C, Termname, "termname");
2165    <b>begin</b>
2166       <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_95_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2146_16">Termname</A>);
2167    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1861_13">Terminal_Name</A>;
2168 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
2169    <b>procedure</b> <span class="symbol"><A NAME="ref_2152_14" HREF="terminal_interface-curses__ads.htm#ref_1882_14">Init_Pair</A></span> (<span class="symbol"><A NAME="ref_2152_25" HREF="terminal_interface-curses__ads.htm#ref_1882_25">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_411_12">Redefinable_Color_Pair</A>;
2170                         <span class="symbol"><A NAME="ref_2153_25" HREF="terminal_interface-curses__ads.htm#ref_1883_25">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>;
2171                         <span class="symbol"><A NAME="ref_2154_25" HREF="terminal_interface-curses__ads.htm#ref_1884_25">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>)
2172    <b>is</b>
2173       <b>function</b> <span class="symbol"><A NAME="ref_2156_16">Initpair</A></span> (<span class="symbol"><A NAME="ref_2156_26" HREF="terminal_interface-curses__adb.htm#ref_2156_16">Pair</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>;
2174                          <span class="symbol"><A NAME="ref_2157_26" HREF="terminal_interface-curses__adb.htm#ref_2156_16">Fore</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>;
2175                          <span class="symbol"><A NAME="ref_2158_26" HREF="terminal_interface-curses__adb.htm#ref_2156_16">Back</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
2176       <b>pragma</b> Import (C, Initpair, "init_pair");
2177    <b>begin</b>
2178       <b>if</b> Integer (<A HREF="terminal_interface-curses__ads.htm#ref_1882_25">Pair</A>) &gt;= <A HREF="terminal_interface-curses__ads.htm#ref_562_13">Number_Of_Color_Pairs</A> <b>then</b>
2179          <b>raise</b> Constraint_Error;
2180       <b>end</b> <b>if</b>;
2181       <b>if</b> Integer (<A HREF="terminal_interface-curses__ads.htm#ref_1883_25">Fore</A>) &gt;= <A HREF="terminal_interface-curses__ads.htm#ref_559_13">Number_Of_Colors</A> <b>or</b> <b>else</b>
2182          Integer (<A HREF="terminal_interface-curses__ads.htm#ref_1884_25">Back</A>) &gt;= <A HREF="terminal_interface-curses__ads.htm#ref_559_13">Number_Of_Colors</A>
2183       <b>then</b>
2184          <b>raise</b> Constraint_Error;
2185       <b>end</b> <b>if</b>;
2186       <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2156_16">Initpair</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1882_25">Pair</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1883_25">Fore</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1884_25">Back</A>))
2187         = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
2188       <b>then</b>
2189          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
2190       <b>end</b> <b>if</b>;
2191    <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1882_14">Init_Pair</A>;
2192
2193    <b>procedure</b> <span class="symbol"><A NAME="ref_2176_14" HREF="terminal_interface-curses__ads.htm#ref_1889_