blob: 62622d1d0f3c375a3c12180e8508bcefbe8fddb3 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<TITLE>terminal_interface-curses.adb</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
*.comment {
color: green;
}
*.symbol {
color: red;
}
</style>
</HEAD>
<BODY>
<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses.adb </H1></DIV><HR>
<PRE>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Terminal_Interface.Curses --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- B O D Y --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including --</EM></span>
<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></span>
<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></span>
<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></span>
<span class="comment"><EM>-- furnished to do so, subject to the following conditions: --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included --</EM></span>
<span class="comment"><EM>-- in all copies or substantial portions of the Software. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></span>
<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></span>
<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></span>
<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></span>
<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></span>
<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></span>
<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></span>
<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></span>
<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written --</EM></span>
<span class="comment"><EM>-- authorization. --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
<span class="comment"><EM>-- @Revision: 1.14 @</EM></span>
<span class="comment"><EM>-- @Date: 2014/05/24 21:31:05 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>with</b> System;
<b>with</b> <A HREF="terminal_interface__ads.htm#ref_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>;
<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings;
<b>with</b> Ada.Characters.Handling; <b>use</b> Ada.Characters.Handling;
<b>with</b> Ada.Strings.Fixed;
<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_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>
<b>use</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
<b>use</b> <b>type</b> System.Bit_Order;
<b>package</b> <span class="symbol"><A NAME="ref_55_12">ASF</A></span> <b>renames</b> Ada.Strings.Fixed;
<b>type</b> chtype_array <b>is</b> <b>array</b> (size_t <b>range</b> &lt;&gt;)
<b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<b>pragma</b> Convention (C, chtype_array);
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>function</b> <span class="symbol"><A NAME="ref_62_13" HREF="terminal_interface-curses__ads.htm#ref_1786_13">Key_Name</A></span> (<span class="symbol"><A NAME="ref_62_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
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_64_16">Keyname</A></span> (<span class="symbol"><A NAME="ref_64_25" HREF="terminal_interface-curses__adb.htm#ref_64_16">K</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> chars_ptr;
<b>pragma</b> Import (C, Keyname, "keyname");
<span class="symbol"><A NAME="ref_67_7">Ch</A></span> : Character;
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1786_23">Key</A> &lt;= Character'Pos (Character'Last) <b>then</b>
<A HREF="terminal_interface-curses__adb.htm#ref_67_7">Ch</A> := Character'Val (<A HREF="terminal_interface-curses__ads.htm#ref_1786_23">Key</A>);
<b>if</b> Is_Control (<A HREF="terminal_interface-curses__adb.htm#ref_67_7">Ch</A>) <b>then</b>
<b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_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_67_7">Ch</A>,
<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,
<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>));
<b>elsif</b> Is_Graphic (<A HREF="terminal_interface-curses__adb.htm#ref_67_7">Ch</A>) <b>then</b>
<b>declare</b>
<span class="symbol"><A NAME="ref_77_16">S</A></span> : String (1 .. 1);
<b>begin</b>
<A HREF="terminal_interface-curses__adb.htm#ref_77_16">S</A> (1) := <A HREF="terminal_interface-curses__adb.htm#ref_67_7">Ch</A>;
<b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_77_16">S</A>;
<b>end</b>;
<b>else</b>
<b>return</b> "";
<b>end</b> <b>if</b>;
<b>else</b>
<b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_97_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_64_16">Keyname</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1786_23">Key</A>)));
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1786_13">Key_Name</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_90_14" HREF="terminal_interface-curses__ads.htm#ref_1780_14">Key_Name</A></span> (<span class="symbol"><A NAME="ref_90_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>;
<span class="symbol"><A NAME="ref_91_24" HREF="terminal_interface-curses__ads.htm#ref_1781_24">Name</A></span> : <b>out</b> String)
<b>is</b>
<b>begin</b>
<A HREF="terminal_interface-curses__adb.htm#ref_55_12">ASF</A>.Move (<A HREF="terminal_interface-curses__ads.htm#ref_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>);
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1780_14">Key_Name</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>procedure</b> <span class="symbol"><A NAME="ref_98_14" HREF="terminal_interface-curses__ads.htm#ref_656_14">Init_Screen</A></span>
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_100_16">Initscr</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<b>pragma</b> Import (C, Initscr, "initscr");
<span class="symbol"><A NAME="ref_103_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<b>begin</b>
<A HREF="terminal_interface-curses__adb.htm#ref_103_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_100_16">Initscr</A>;
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_103_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_656_14">Init_Screen</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_111_14" HREF="terminal_interface-curses__ads.htm#ref_665_14">End_Windows</A></span>
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_113_16">Endwin</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Endwin, "endwin");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_113_16">Endwin</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_665_14">End_Windows</A>;
<b>function</b> <span class="symbol"><A NAME="ref_121_13" HREF="terminal_interface-curses__ads.htm#ref_672_13">Is_End_Window</A></span> <b>return</b> Boolean
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_123_16">Isendwin</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
<b>pragma</b> Import (C, Isendwin, "isendwin");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_123_16">Isendwin</A> = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A> <b>then</b>
<b>return</b> False;
<b>else</b>
<b>return</b> True;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_672_13">Is_End_Window</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>procedure</b> <span class="symbol"><A NAME="ref_133_14" HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A></span> (<span class="symbol"><A NAME="ref_133_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>;
<span class="symbol"><A NAME="ref_134_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>;
<span class="symbol"><A NAME="ref_135_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>)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_137_16">Wmove</A></span> (<span class="symbol"><A NAME="ref_137_23" HREF="terminal_interface-curses__adb.htm#ref_137_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_138_23" HREF="terminal_interface-curses__adb.htm#ref_137_16">Line</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<span class="symbol"><A NAME="ref_139_23" HREF="terminal_interface-curses__adb.htm#ref_137_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>
) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Wmove, "wmove");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_137_16">Wmove</A> (<A HREF="terminal_interface-curses__ads.htm#ref_681_27">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_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_50_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_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>procedure</b> <span class="symbol"><A NAME="ref_148_14" HREF="terminal_interface-curses__ads.htm#ref_693_14">Add</A></span> (<span class="symbol"><A NAME="ref_148_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>;
<span class="symbol"><A NAME="ref_149_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>)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_151_16">Waddch</A></span> (<span class="symbol"><A NAME="ref_151_24" HREF="terminal_interface-curses__adb.htm#ref_151_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_152_24" HREF="terminal_interface-curses__adb.htm#ref_151_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Waddch, "waddch");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_151_16">Waddch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_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_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_693_14">Add</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_160_14" HREF="terminal_interface-curses__ads.htm#ref_698_14">Add</A></span> (<span class="symbol"><A NAME="ref_160_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>;
<span class="symbol"><A NAME="ref_161_19" HREF="terminal_interface-curses__ads.htm#ref_699_19">Ch</A></span> : Character)
<b>is</b>
<b>begin</b>
<A HREF="terminal_interface-curses__ads.htm#ref_693_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_698_19">Win</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__ads.htm#ref_699_19">Ch</A>,
<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,
<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>));
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_698_14">Add</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_170_14" HREF="terminal_interface-curses__ads.htm#ref_704_14">Add</A></span>
(<span class="symbol"><A NAME="ref_171_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>;
<span class="symbol"><A NAME="ref_172_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>;
<span class="symbol"><A NAME="ref_173_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>;
<span class="symbol"><A NAME="ref_174_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>)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_176_16">mvwaddch</A></span> (<span class="symbol"><A NAME="ref_176_26" HREF="terminal_interface-curses__adb.htm#ref_176_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_177_26" HREF="terminal_interface-curses__adb.htm#ref_176_16">Y</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<span class="symbol"><A NAME="ref_178_26" HREF="terminal_interface-curses__adb.htm#ref_176_16">X</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<span class="symbol"><A NAME="ref_179_26" HREF="terminal_interface-curses__adb.htm#ref_176_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, mvwaddch, "mvwaddch");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_176_16">mvwaddch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_705_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_706_7">Line</A>),
<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_707_7">Column</A>),
<A HREF="terminal_interface-curses__ads.htm#ref_708_7">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
<b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_704_14">Add</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_190_14" HREF="terminal_interface-curses__ads.htm#ref_712_14">Add</A></span>
(<span class="symbol"><A NAME="ref_191_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>;
<span class="symbol"><A NAME="ref_192_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>;
<span class="symbol"><A NAME="ref_193_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>;
<span class="symbol"><A NAME="ref_194_7" HREF="terminal_interface-curses__ads.htm#ref_716_7">Ch</A></span> : Character)
<b>is</b>
<b>begin</b>
<A HREF="terminal_interface-curses__ads.htm#ref_704_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_713_7">Win</A>,
<A HREF="terminal_interface-curses__ads.htm#ref_714_7">Line</A>,
<A HREF="terminal_interface-curses__ads.htm#ref_715_7">Column</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__ads.htm#ref_716_7">Ch</A>,
<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,
<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>));
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_712_14">Add</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_205_14" HREF="terminal_interface-curses__ads.htm#ref_721_14">Add_With_Immediate_Echo</A></span>
(<span class="symbol"><A NAME="ref_206_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>;
<span class="symbol"><A NAME="ref_207_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>)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_209_16">Wechochar</A></span> (<span class="symbol"><A NAME="ref_209_27" HREF="terminal_interface-curses__adb.htm#ref_209_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_210_27" HREF="terminal_interface-curses__adb.htm#ref_209_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Wechochar, "wechochar");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_209_16">Wechochar</A> (<A HREF="terminal_interface-curses__ads.htm#ref_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_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_721_14">Add_With_Immediate_Echo</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_218_14" HREF="terminal_interface-curses__ads.htm#ref_727_14">Add_With_Immediate_Echo</A></span>
(<span class="symbol"><A NAME="ref_219_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>;
<span class="symbol"><A NAME="ref_220_7" HREF="terminal_interface-curses__ads.htm#ref_729_7">Ch</A></span> : Character)
<b>is</b>
<b>begin</b>
<A HREF="terminal_interface-curses__ads.htm#ref_721_14">Add_With_Immediate_Echo</A>
(<A HREF="terminal_interface-curses__ads.htm#ref_728_7">Win</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__ads.htm#ref_729_7">Ch</A>,
<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,
<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>));
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_727_14">Add_With_Immediate_Echo</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>function</b> <span class="symbol"><A NAME="ref_230_13" HREF="terminal_interface-curses__ads.htm#ref_739_13">Create</A></span> (<span class="symbol"><A NAME="ref_230_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>;
<span class="symbol"><A NAME="ref_231_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>;
<span class="symbol"><A NAME="ref_232_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>;
<span class="symbol"><A NAME="ref_233_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>
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_235_16">Newwin</A></span> (<span class="symbol"><A NAME="ref_235_24" HREF="terminal_interface-curses__adb.htm#ref_235_16">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<span class="symbol"><A NAME="ref_236_24" HREF="terminal_interface-curses__adb.htm#ref_235_16">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<span class="symbol"><A NAME="ref_237_24" HREF="terminal_interface-curses__adb.htm#ref_235_16">First_Line_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<span class="symbol"><A NAME="ref_238_24" HREF="terminal_interface-curses__adb.htm#ref_235_16">First_Column_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<b>pragma</b> Import (C, Newwin, "newwin");
<span class="symbol"><A NAME="ref_241_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<b>begin</b>
<A HREF="terminal_interface-curses__adb.htm#ref_241_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_235_16">Newwin</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_740_7">Number_Of_Lines</A>),
<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_741_7">Number_Of_Columns</A>),
<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_742_7">First_Line_Position</A>),
<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_743_7">First_Column_Position</A>));
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_241_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_241_7">W</A>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_739_13">Create</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_253_14" HREF="terminal_interface-curses__ads.htm#ref_758_14">Delete</A></span> (<span class="symbol"><A NAME="ref_253_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>)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_255_16">Wdelwin</A></span> (<span class="symbol"><A NAME="ref_255_25" HREF="terminal_interface-curses__adb.htm#ref_255_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Wdelwin, "delwin");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_255_16">Wdelwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_758_22">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<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>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_758_14">Delete</A>;
<b>function</b> <span class="symbol"><A NAME="ref_264_13" HREF="terminal_interface-curses__ads.htm#ref_764_13">Sub_Window</A></span>
(<span class="symbol"><A NAME="ref_265_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>;
<span class="symbol"><A NAME="ref_266_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>;
<span class="symbol"><A NAME="ref_267_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>;
<span class="symbol"><A NAME="ref_268_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>;
<span class="symbol"><A NAME="ref_269_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>
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_271_16">Subwin</A></span>
(<span class="symbol"><A NAME="ref_272_10" HREF="terminal_interface-curses__adb.htm#ref_271_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_273_10" HREF="terminal_interface-curses__adb.htm#ref_271_16">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<span class="symbol"><A NAME="ref_274_10" HREF="terminal_interface-curses__adb.htm#ref_271_16">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<span class="symbol"><A NAME="ref_275_10" HREF="terminal_interface-curses__adb.htm#ref_271_16">First_Line_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<span class="symbol"><A NAME="ref_276_10" HREF="terminal_interface-curses__adb.htm#ref_271_16">First_Column_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<b>pragma</b> Import (C, Subwin, "subwin");
<span class="symbol"><A NAME="ref_279_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<b>begin</b>
<A HREF="terminal_interface-curses__adb.htm#ref_279_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_271_16">Subwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_765_7">Win</A>,
<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_766_7">Number_Of_Lines</A>),
<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_767_7">Number_Of_Columns</A>),
<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_768_7">First_Line_Position</A>),
<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_769_7">First_Column_Position</A>));
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_279_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_279_7">W</A>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_764_13">Sub_Window</A>;
<b>function</b> <span class="symbol"><A NAME="ref_292_13" HREF="terminal_interface-curses__ads.htm#ref_774_13">Derived_Window</A></span>
(<span class="symbol"><A NAME="ref_293_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>;
<span class="symbol"><A NAME="ref_294_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>;
<span class="symbol"><A NAME="ref_295_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>;
<span class="symbol"><A NAME="ref_296_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>;
<span class="symbol"><A NAME="ref_297_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>
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_299_16">Derwin</A></span>
(<span class="symbol"><A NAME="ref_300_10" HREF="terminal_interface-curses__adb.htm#ref_299_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_301_10" HREF="terminal_interface-curses__adb.htm#ref_299_16">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<span class="symbol"><A NAME="ref_302_10" HREF="terminal_interface-curses__adb.htm#ref_299_16">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<span class="symbol"><A NAME="ref_303_10" HREF="terminal_interface-curses__adb.htm#ref_299_16">First_Line_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<span class="symbol"><A NAME="ref_304_10" HREF="terminal_interface-curses__adb.htm#ref_299_16">First_Column_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<b>pragma</b> Import (C, Derwin, "derwin");
<span class="symbol"><A NAME="ref_307_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<b>begin</b>
<A HREF="terminal_interface-curses__adb.htm#ref_307_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_299_16">Derwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_775_7">Win</A>,
<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_776_7">Number_Of_Lines</A>),
<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_777_7">Number_Of_Columns</A>),
<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_778_7">First_Line_Position</A>),
<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_779_7">First_Column_Position</A>));
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_307_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_307_7">W</A>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_774_13">Derived_Window</A>;
<b>function</b> <span class="symbol"><A NAME="ref_320_13" HREF="terminal_interface-curses__ads.htm#ref_784_13">Duplicate</A></span> (<span class="symbol"><A NAME="ref_320_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>
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_322_16">Dupwin</A></span> (<span class="symbol"><A NAME="ref_322_24" HREF="terminal_interface-curses__adb.htm#ref_322_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<b>pragma</b> Import (C, Dupwin, "dupwin");
<span class="symbol"><A NAME="ref_325_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__adb.htm#ref_322_16">Dupwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_784_24">Win</A>);
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_325_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_325_7">W</A>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_784_13">Duplicate</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_333_14" HREF="terminal_interface-curses__ads.htm#ref_789_14">Move_Window</A></span> (<span class="symbol"><A NAME="ref_333_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>;
<span class="symbol"><A NAME="ref_334_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>;
<span class="symbol"><A NAME="ref_335_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>)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_337_16">Mvwin</A></span> (<span class="symbol"><A NAME="ref_337_23" HREF="terminal_interface-curses__adb.htm#ref_337_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_338_23" HREF="terminal_interface-curses__adb.htm#ref_337_16">Line</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<span class="symbol"><A NAME="ref_339_23" HREF="terminal_interface-curses__adb.htm#ref_337_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Mvwin, "mvwin");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_337_16">Mvwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_789_27">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_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_50_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_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_789_14">Move_Window</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_347_14" HREF="terminal_interface-curses__ads.htm#ref_796_14">Move_Derived_Window</A></span> (<span class="symbol"><A NAME="ref_347_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>;
<span class="symbol"><A NAME="ref_348_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>;
<span class="symbol"><A NAME="ref_349_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>)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_351_16">Mvderwin</A></span> (<span class="symbol"><A NAME="ref_351_26" HREF="terminal_interface-curses__adb.htm#ref_351_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_352_26" HREF="terminal_interface-curses__adb.htm#ref_351_16">Line</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<span class="symbol"><A NAME="ref_353_26" HREF="terminal_interface-curses__adb.htm#ref_351_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Mvderwin, "mvderwin");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_351_16">Mvderwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_796_35">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_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_50_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_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_796_14">Move_Derived_Window</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_361_14" HREF="terminal_interface-curses__ads.htm#ref_813_14">Set_Synch_Mode</A></span> (<span class="symbol"><A NAME="ref_361_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>;
<span class="symbol"><A NAME="ref_362_30" HREF="terminal_interface-curses__ads.htm#ref_814_30">Mode</A></span> : Boolean := False)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_364_16">Syncok</A></span> (<span class="symbol"><A NAME="ref_364_24" HREF="terminal_interface-curses__adb.htm#ref_364_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_365_24" HREF="terminal_interface-curses__adb.htm#ref_364_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Syncok, "syncok");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_364_16">Syncok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_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_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_813_14">Set_Synch_Mode</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>procedure</b> <span class="symbol"><A NAME="ref_373_14" HREF="terminal_interface-curses__ads.htm#ref_823_14">Add</A></span> (<span class="symbol"><A NAME="ref_373_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>;
<span class="symbol"><A NAME="ref_374_19" HREF="terminal_interface-curses__ads.htm#ref_824_19">Str</A></span> : String;
<span class="symbol"><A NAME="ref_375_19" HREF="terminal_interface-curses__ads.htm#ref_825_19">Len</A></span> : Integer := -1)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_377_16">Waddnstr</A></span> (<span class="symbol"><A NAME="ref_377_26" HREF="terminal_interface-curses__adb.htm#ref_377_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_378_26" HREF="terminal_interface-curses__adb.htm#ref_377_16">Str</A></span> : char_array;
<span class="symbol"><A NAME="ref_379_26" HREF="terminal_interface-curses__adb.htm#ref_377_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Waddnstr, "waddnstr");
<span class="symbol"><A NAME="ref_382_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_824_19">Str</A>'Length);
<span class="symbol"><A NAME="ref_383_7">Length</A></span> : size_t;
<b>begin</b>
To_C (<A HREF="terminal_interface-curses__ads.htm#ref_824_19">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_382_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_383_7">Length</A>);
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_377_16">Waddnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_823_19">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_382_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_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_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_823_14">Add</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_391_14" HREF="terminal_interface-curses__ads.htm#ref_832_14">Add</A></span>
(<span class="symbol"><A NAME="ref_392_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>;
<span class="symbol"><A NAME="ref_393_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>;
<span class="symbol"><A NAME="ref_394_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>;
<span class="symbol"><A NAME="ref_395_7" HREF="terminal_interface-curses__ads.htm#ref_835_19">Str</A></span> : String;
<span class="symbol"><A NAME="ref_396_7" HREF="terminal_interface-curses__ads.htm#ref_836_19">Len</A></span> : Integer := -1)
<b>is</b>
<b>begin</b>
<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>);
<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>);
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_832_14">Add</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>procedure</b> <span class="symbol"><A NAME="ref_403_14" HREF="terminal_interface-curses__ads.htm#ref_847_14">Add</A></span>
(<span class="symbol"><A NAME="ref_404_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>;
<span class="symbol"><A NAME="ref_405_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>;
<span class="symbol"><A NAME="ref_406_7" HREF="terminal_interface-curses__ads.htm#ref_849_19">Len</A></span> : Integer := -1)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_408_16">Waddchnstr</A></span> (<span class="symbol"><A NAME="ref_408_28" HREF="terminal_interface-curses__adb.htm#ref_408_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_409_28" HREF="terminal_interface-curses__adb.htm#ref_408_16">Str</A></span> : chtype_array;
<span class="symbol"><A NAME="ref_410_28" HREF="terminal_interface-curses__adb.htm#ref_408_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Waddchnstr, "waddchnstr");
<span class="symbol"><A NAME="ref_413_7">Txt</A></span> : chtype_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_848_19">Str</A>'Length);
<b>begin</b>
<b>for</b> <span class="symbol"><A NAME="ref_415_11">Length</A></span> <b>in</b> 1 .. size_t (<A HREF="terminal_interface-curses__ads.htm#ref_848_19">Str</A>'Length) <b>loop</b>
<A HREF="terminal_interface-curses__adb.htm#ref_413_7">Txt</A> (<A HREF="terminal_interface-curses__adb.htm#ref_415_11">Length</A> - 1) := <A HREF="terminal_interface-curses__ads.htm#ref_848_19">Str</A> (Natural (<A HREF="terminal_interface-curses__adb.htm#ref_415_11">Length</A>));
<b>end</b> <b>loop</b>;
<A HREF="terminal_interface-curses__adb.htm#ref_413_7">Txt</A> (<A HREF="terminal_interface-curses__ads.htm#ref_848_19">Str</A>'Length) := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_408_16">Waddchnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_847_19">Win</A>,
<A HREF="terminal_interface-curses__adb.htm#ref_413_7">Txt</A>,
<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_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_65_4">Curses_Err</A>
<b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_847_14">Add</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_427_14" HREF="terminal_interface-curses__ads.htm#ref_856_14">Add</A></span>
(<span class="symbol"><A NAME="ref_428_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>;
<span class="symbol"><A NAME="ref_429_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>;
<span class="symbol"><A NAME="ref_430_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>;
<span class="symbol"><A NAME="ref_431_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>;
<span class="symbol"><A NAME="ref_432_7" HREF="terminal_interface-curses__ads.htm#ref_860_19">Len</A></span> : Integer := -1)
<b>is</b>
<b>begin</b>
<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>);
<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>);
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_856_14">Add</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>procedure</b> <span class="symbol"><A NAME="ref_439_14" HREF="terminal_interface-curses__ads.htm#ref_874_14">Border</A></span>
(<span class="symbol"><A NAME="ref_440_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>;
<span class="symbol"><A NAME="ref_441_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>;
<span class="symbol"><A NAME="ref_442_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>;
<span class="symbol"><A NAME="ref_443_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>;
<span class="symbol"><A NAME="ref_444_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>;
<span class="symbol"><A NAME="ref_445_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>;
<span class="symbol"><A NAME="ref_446_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>;
<span class="symbol"><A NAME="ref_447_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>;
<span class="symbol"><A NAME="ref_448_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>)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_450_16">Wborder</A></span> (<span class="symbol"><A NAME="ref_450_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_451_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">LS</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<span class="symbol"><A NAME="ref_452_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">RS</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<span class="symbol"><A NAME="ref_453_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">TS</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<span class="symbol"><A NAME="ref_454_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">BS</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<span class="symbol"><A NAME="ref_455_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">ULC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<span class="symbol"><A NAME="ref_456_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">URC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<span class="symbol"><A NAME="ref_457_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">LLC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<span class="symbol"><A NAME="ref_458_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">LRC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Wborder, "wborder");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_450_16">Wborder</A> (<A HREF="terminal_interface-curses__ads.htm#ref_875_7">Win</A>,
<A HREF="terminal_interface-curses__ads.htm#ref_876_7">Left_Side_Symbol</A>,
<A HREF="terminal_interface-curses__ads.htm#ref_877_7">Right_Side_Symbol</A>,
<A HREF="terminal_interface-curses__ads.htm#ref_878_7">Top_Side_Symbol</A>,
<A HREF="terminal_interface-curses__ads.htm#ref_879_7">Bottom_Side_Symbol</A>,
<A HREF="terminal_interface-curses__ads.htm#ref_880_7">Upper_Left_Corner_Symbol</A>,
<A HREF="terminal_interface-curses__ads.htm#ref_881_7">Upper_Right_Corner_Symbol</A>,
<A HREF="terminal_interface-curses__ads.htm#ref_882_7">Lower_Left_Corner_Symbol</A>,
<A HREF="terminal_interface-curses__ads.htm#ref_883_7">Lower_Right_Corner_Symbol</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
<b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_874_14">Border</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_475_14" HREF="terminal_interface-curses__ads.htm#ref_890_14">Box</A></span>
(<span class="symbol"><A NAME="ref_476_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>;
<span class="symbol"><A NAME="ref_477_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>;
<span class="symbol"><A NAME="ref_478_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>)
<b>is</b>
<b>begin</b>
<A HREF="terminal_interface-curses__ads.htm#ref_874_14">Border</A> (<A HREF="terminal_interface-curses__ads.htm#ref_891_7">Win</A>,
<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>,
<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>);
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_890_14">Box</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_486_14" HREF="terminal_interface-curses__ads.htm#ref_898_14">Horizontal_Line</A></span>
(<span class="symbol"><A NAME="ref_487_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>;
<span class="symbol"><A NAME="ref_488_7" HREF="terminal_interface-curses__ads.htm#ref_900_7">Line_Size</A></span> : Natural;
<span class="symbol"><A NAME="ref_489_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>)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_491_16">Whline</A></span> (<span class="symbol"><A NAME="ref_491_24" HREF="terminal_interface-curses__adb.htm#ref_491_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_492_24" HREF="terminal_interface-curses__adb.htm#ref_491_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<span class="symbol"><A NAME="ref_493_24" HREF="terminal_interface-curses__adb.htm#ref_491_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Whline, "whline");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_491_16">Whline</A> (<A HREF="terminal_interface-curses__ads.htm#ref_899_7">Win</A>,
<A HREF="terminal_interface-curses__ads.htm#ref_901_7">Line_Symbol</A>,
<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_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_65_4">Curses_Err</A>
<b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_898_14">Horizontal_Line</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_504_14" HREF="terminal_interface-curses__ads.htm#ref_907_14">Vertical_Line</A></span>
(<span class="symbol"><A NAME="ref_505_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>;
<span class="symbol"><A NAME="ref_506_7" HREF="terminal_interface-curses__ads.htm#ref_909_7">Line_Size</A></span> : Natural;
<span class="symbol"><A NAME="ref_507_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>)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_509_16">Wvline</A></span> (<span class="symbol"><A NAME="ref_509_24" HREF="terminal_interface-curses__adb.htm#ref_509_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_510_24" HREF="terminal_interface-curses__adb.htm#ref_509_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<span class="symbol"><A NAME="ref_511_24" HREF="terminal_interface-curses__adb.htm#ref_509_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Wvline, "wvline");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_509_16">Wvline</A> (<A HREF="terminal_interface-curses__ads.htm#ref_908_7">Win</A>,
<A HREF="terminal_interface-curses__ads.htm#ref_910_7">Line_Symbol</A>,
<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_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_65_4">Curses_Err</A>
<b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_907_14">Vertical_Line</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>function</b> <span class="symbol"><A NAME="ref_523_13" HREF="terminal_interface-curses__ads.htm#ref_921_13">Get_Keystroke</A></span> (<span class="symbol"><A NAME="ref_523_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>)
<b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_526_16">Wgetch</A></span> (<span class="symbol"><A NAME="ref_526_24" HREF="terminal_interface-curses__adb.htm#ref_526_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Wgetch, "wgetch");
<span class="symbol"><A NAME="ref_529_7">C</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_526_16">Wgetch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_921_28">Win</A>);
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_529_7">C</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
<b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_88_4">Key_None</A>;
<b>else</b>
<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_529_7">C</A>);
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_921_13">Get_Keystroke</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_538_14" HREF="terminal_interface-curses__ads.htm#ref_932_14">Undo_Keystroke</A></span> (<span class="symbol"><A NAME="ref_538_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>)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_540_16">Ungetch</A></span> (<span class="symbol"><A NAME="ref_540_25" HREF="terminal_interface-curses__adb.htm#ref_540_16">Ch</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Ungetch, "ungetch");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_540_16">Ungetch</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_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_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_932_14">Undo_Keystroke</A>;
<b>function</b> <span class="symbol"><A NAME="ref_548_13" HREF="terminal_interface-curses__ads.htm#ref_937_13">Has_Key</A></span> (<span class="symbol"><A NAME="ref_548_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
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_550_16">Haskey</A></span> (<span class="symbol"><A NAME="ref_550_24" HREF="terminal_interface-curses__adb.htm#ref_550_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Haskey, "has_key");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_550_16">Haskey</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_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_68_4">Curses_False</A> <b>then</b>
<b>return</b> False;
<b>else</b>
<b>return</b> True;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_937_13">Has_Key</A>;
<b>function</b> <span class="symbol"><A NAME="ref_560_13" HREF="terminal_interface-curses__ads.htm#ref_944_13">Is_Function_Key</A></span> (<span class="symbol"><A NAME="ref_560_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
<b>is</b>
<span class="symbol"><A NAME="ref_562_7">L</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_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>) +
Natural (<A HREF="terminal_interface-curses__ads.htm#ref_948_12">Function_Key_Number</A>'Last));
<b>begin</b>
<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_562_7">L</A>) <b>then</b>
<b>return</b> True;
<b>else</b>
<b>return</b> False;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_944_13">Is_Function_Key</A>;
<b>function</b> <span class="symbol"><A NAME="ref_572_13" HREF="terminal_interface-curses__ads.htm#ref_951_13">Function_Key</A></span> (<span class="symbol"><A NAME="ref_572_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>)
<b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_948_12">Function_Key_Number</A>
<b>is</b>
<b>begin</b>
<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>
<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>);
<b>else</b>
<b>raise</b> Constraint_Error;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_951_13">Function_Key</A>;
<b>function</b> <span class="symbol"><A NAME="ref_583_13" HREF="terminal_interface-curses__ads.htm#ref_956_13">Function_Key_Code</A></span> (<span class="symbol"><A NAME="ref_583_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>
<b>is</b>
<b>begin</b>
<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>));
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_956_13">Function_Key_Code</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>procedure</b> <span class="symbol"><A NAME="ref_589_14" HREF="terminal_interface-curses__ads.htm#ref_970_14">Standout</A></span> (<span class="symbol"><A NAME="ref_589_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>;
<span class="symbol"><A NAME="ref_590_24" HREF="terminal_interface-curses__ads.htm#ref_971_24">On</A></span> : Boolean := True)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_592_16">wstandout</A></span> (<span class="symbol"><A NAME="ref_592_27" HREF="terminal_interface-curses__adb.htm#ref_592_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, wstandout, "wstandout");
<b>function</b> <span class="symbol"><A NAME="ref_594_16">wstandend</A></span> (<span class="symbol"><A NAME="ref_594_27" HREF="terminal_interface-curses__adb.htm#ref_594_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, wstandend, "wstandend");
<span class="symbol"><A NAME="ref_597_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_971_24">On</A> <b>then</b>
<A HREF="terminal_interface-curses__adb.htm#ref_597_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_592_16">wstandout</A> (<A HREF="terminal_interface-curses__ads.htm#ref_970_24">Win</A>);
<b>else</b>
<A HREF="terminal_interface-curses__adb.htm#ref_597_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_594_16">wstandend</A> (<A HREF="terminal_interface-curses__ads.htm#ref_970_24">Win</A>);
<b>end</b> <b>if</b>;
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_597_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_970_14">Standout</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_609_14" HREF="terminal_interface-curses__ads.htm#ref_976_14">Switch_Character_Attribute</A></span>
(<span class="symbol"><A NAME="ref_610_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>;
<span class="symbol"><A NAME="ref_611_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>;
<span class="symbol"><A NAME="ref_612_7" HREF="terminal_interface-curses__ads.htm#ref_979_7">On</A></span> : Boolean := True)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_614_16">Wattron</A></span> (<span class="symbol"><A NAME="ref_614_25" HREF="terminal_interface-curses__adb.htm#ref_614_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_615_25" HREF="terminal_interface-curses__adb.htm#ref_614_16">C_Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Wattron, "wattr_on");
<b>function</b> <span class="symbol"><A NAME="ref_617_16">Wattroff</A></span> (<span class="symbol"><A NAME="ref_617_26" HREF="terminal_interface-curses__adb.htm#ref_617_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_618_26" HREF="terminal_interface-curses__adb.htm#ref_617_16">C_Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Wattroff, "wattr_off");
<span class="comment"><EM>-- In Ada we use the On Boolean to control whether or not we want to</EM></span>
<span class="comment"><EM>-- switch on or off the attributes in the set.</EM></span>
<span class="symbol"><A NAME="ref_622_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<span class="symbol"><A NAME="ref_623_7">AC</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> =&gt; Character'First,
<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,
<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>);
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_979_7">On</A> <b>then</b>
<A HREF="terminal_interface-curses__adb.htm#ref_622_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_614_16">Wattron</A> (<A HREF="terminal_interface-curses__ads.htm#ref_977_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_623_7">AC</A>);
<b>else</b>
<A HREF="terminal_interface-curses__adb.htm#ref_622_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_617_16">Wattroff</A> (<A HREF="terminal_interface-curses__ads.htm#ref_977_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_623_7">AC</A>);
<b>end</b> <b>if</b>;
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_622_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_976_14">Switch_Character_Attribute</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_637_14" HREF="terminal_interface-curses__ads.htm#ref_987_14">Set_Character_Attributes</A></span>
(<span class="symbol"><A NAME="ref_638_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>;
<span class="symbol"><A NAME="ref_639_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>;
<span class="symbol"><A NAME="ref_640_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)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_642_16">Wattrset</A></span> (<span class="symbol"><A NAME="ref_642_26" HREF="terminal_interface-curses__adb.htm#ref_642_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_643_26" HREF="terminal_interface-curses__adb.htm#ref_642_16">C_Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Wattrset, "wattrset"); <span class="comment"><EM>-- ??? wattr_set</EM></span>
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_642_16">Wattrset</A> (<A HREF="terminal_interface-curses__ads.htm#ref_988_7">Win</A>, (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> =&gt; Character'First,
<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>,
<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_65_4">Curses_Err</A>
<b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_987_14">Set_Character_Attributes</A>;
<b>function</b> <span class="symbol"><A NAME="ref_654_13" HREF="terminal_interface-curses__ads.htm#ref_996_13">Get_Character_Attribute</A></span> (<span class="symbol"><A NAME="ref_654_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>)
<b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_657_16">Wattrget</A></span> (<span class="symbol"><A NAME="ref_657_26" HREF="terminal_interface-curses__adb.htm#ref_657_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_658_26" HREF="terminal_interface-curses__adb.htm#ref_657_16">Atr</A></span> : <b>access</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<span class="symbol"><A NAME="ref_659_26" HREF="terminal_interface-curses__adb.htm#ref_657_16">Col</A></span> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
<span class="symbol"><A NAME="ref_660_26" HREF="terminal_interface-curses__adb.htm#ref_657_16">Opt</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Wattrget, "wattr_get");
<span class="symbol"><A NAME="ref_663_7">Attr</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<span class="symbol"><A NAME="ref_664_7">Col</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
<span class="symbol"><A NAME="ref_665_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_657_16">Wattrget</A> (<A HREF="terminal_interface-curses__ads.htm#ref_997_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_663_7">Attr</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_664_7">Col</A>'<b>Access</b>,
System.Null_Address);
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_665_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Ok</A> <b>then</b>
<b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_663_7">Attr</A>.<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
<b>else</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_996_13">Get_Character_Attribute</A>;
<b>function</b> <span class="symbol"><A NAME="ref_675_13" HREF="terminal_interface-curses__ads.htm#ref_1002_13">Get_Character_Attribute</A></span> (<span class="symbol"><A NAME="ref_675_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>)
<b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_678_16">Wattrget</A></span> (<span class="symbol"><A NAME="ref_678_26" HREF="terminal_interface-curses__adb.htm#ref_678_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_679_26" HREF="terminal_interface-curses__adb.htm#ref_678_16">Atr</A></span> : <b>access</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<span class="symbol"><A NAME="ref_680_26" HREF="terminal_interface-curses__adb.htm#ref_678_16">Col</A></span> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
<span class="symbol"><A NAME="ref_681_26" HREF="terminal_interface-curses__adb.htm#ref_678_16">Opt</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Wattrget, "wattr_get");
<span class="symbol"><A NAME="ref_684_7">Attr</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<span class="symbol"><A NAME="ref_685_7">Col</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
<span class="symbol"><A NAME="ref_686_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_678_16">Wattrget</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1003_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_684_7">Attr</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_685_7">Col</A>'<b>Access</b>,
System.Null_Address);
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_686_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Ok</A> <b>then</b>
<b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_684_7">Attr</A>.<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A>;
<b>else</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1002_13">Get_Character_Attribute</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_696_14" HREF="terminal_interface-curses__ads.htm#ref_1008_14">Set_Color</A></span> (<span class="symbol"><A NAME="ref_696_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>;
<span class="symbol"><A NAME="ref_697_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>)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_699_16">Wset_Color</A></span> (<span class="symbol"><A NAME="ref_699_28" HREF="terminal_interface-curses__adb.htm#ref_699_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_700_28" HREF="terminal_interface-curses__adb.htm#ref_699_16">Color</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
<span class="symbol"><A NAME="ref_701_28" HREF="terminal_interface-curses__adb.htm#ref_699_16">Opts</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_57_12">C_Void_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Wset_Color, "wcolor_set");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_699_16">Wset_Color</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1008_25">Win</A>,
<A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1009_25">Pair</A>),
<A HREF="terminal_interface-curses-aux__ads.htm#ref_57_12">C_Void_Ptr</A> (System.Null_Address)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
<b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1008_14">Set_Color</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_712_14" HREF="terminal_interface-curses__ads.htm#ref_1015_14">Change_Attributes</A></span>
(<span class="symbol"><A NAME="ref_713_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>;
<span class="symbol"><A NAME="ref_714_7" HREF="terminal_interface-curses__ads.htm#ref_1017_7">Count</A></span> : Integer := -1;
<span class="symbol"><A NAME="ref_715_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>;
<span class="symbol"><A NAME="ref_716_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)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_718_16">Wchgat</A></span> (<span class="symbol"><A NAME="ref_718_24" HREF="terminal_interface-curses__adb.htm#ref_718_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_719_24" HREF="terminal_interface-curses__adb.htm#ref_718_16">Cnt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<span class="symbol"><A NAME="ref_720_24" HREF="terminal_interface-curses__adb.htm#ref_718_16">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<span class="symbol"><A NAME="ref_721_24" HREF="terminal_interface-curses__adb.htm#ref_718_16">Color</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
<span class="symbol"><A NAME="ref_722_24" HREF="terminal_interface-curses__adb.htm#ref_718_16">Opts</A></span> : System.Address := System.Null_Address)
<b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Wchgat, "wchgat");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_718_16">Wchgat</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1016_7">Win</A>,
<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1017_7">Count</A>),
(<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> =&gt; Character'First,
<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,
<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>),
<A HREF="terminal_interface-curses-aux__ads.htm#ref_51_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_65_4">Curses_Err</A>
<b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1015_14">Change_Attributes</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_737_14" HREF="terminal_interface-curses__ads.htm#ref_1024_14">Change_Attributes</A></span>
(<span class="symbol"><A NAME="ref_738_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>;
<span class="symbol"><A NAME="ref_739_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;
<span class="symbol"><A NAME="ref_740_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;
<span class="symbol"><A NAME="ref_741_7" HREF="terminal_interface-curses__ads.htm#ref_1028_7">Count</A></span> : Integer := -1;
<span class="symbol"><A NAME="ref_742_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>;
<span class="symbol"><A NAME="ref_743_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)
<b>is</b>
<b>begin</b>
<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>);
<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>);
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1024_14">Change_Attributes</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>procedure</b> <span class="symbol"><A NAME="ref_750_14" HREF="terminal_interface-curses__ads.htm#ref_1040_14">Beep</A></span>
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_752_16">Beeper</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Beeper, "beep");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_752_16">Beeper</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1040_14">Beep</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_760_14" HREF="terminal_interface-curses__ads.htm#ref_1045_14">Flash_Screen</A></span>
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_762_16">Flash</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Flash, "flash");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_762_16">Flash</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1045_14">Flash_Screen</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>procedure</b> <span class="symbol"><A NAME="ref_770_14" HREF="terminal_interface-curses__ads.htm#ref_1056_14">Set_Cbreak_Mode</A></span> (<span class="symbol"><A NAME="ref_770_31" HREF="terminal_interface-curses__ads.htm#ref_1056_31">SwitchOn</A></span> : Boolean := True)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_772_16">Cbreak</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Cbreak, "cbreak");
<b>function</b> <span class="symbol"><A NAME="ref_774_16">NoCbreak</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, NoCbreak, "nocbreak");
<span class="symbol"><A NAME="ref_777_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1056_31">SwitchOn</A> <b>then</b>
<A HREF="terminal_interface-curses__adb.htm#ref_777_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_772_16">Cbreak</A>;
<b>else</b>
<A HREF="terminal_interface-curses__adb.htm#ref_777_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_774_16">NoCbreak</A>;
<b>end</b> <b>if</b>;
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_777_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1056_14">Set_Cbreak_Mode</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_789_14" HREF="terminal_interface-curses__ads.htm#ref_1062_14">Set_Raw_Mode</A></span> (<span class="symbol"><A NAME="ref_789_28" HREF="terminal_interface-curses__ads.htm#ref_1062_28">SwitchOn</A></span> : Boolean := True)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_791_16">Raw</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Raw, "raw");
<b>function</b> <span class="symbol"><A NAME="ref_793_16">NoRaw</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, NoRaw, "noraw");
<span class="symbol"><A NAME="ref_796_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1062_28">SwitchOn</A> <b>then</b>
<A HREF="terminal_interface-curses__adb.htm#ref_796_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_791_16">Raw</A>;
<b>else</b>
<A HREF="terminal_interface-curses__adb.htm#ref_796_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_793_16">NoRaw</A>;
<b>end</b> <b>if</b>;
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_796_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1062_14">Set_Raw_Mode</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_808_14" HREF="terminal_interface-curses__ads.htm#ref_1068_14">Set_Echo_Mode</A></span> (<span class="symbol"><A NAME="ref_808_29" HREF="terminal_interface-curses__ads.htm#ref_1068_29">SwitchOn</A></span> : Boolean := True)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_810_16">Echo</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Echo, "echo");
<b>function</b> <span class="symbol"><A NAME="ref_812_16">NoEcho</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, NoEcho, "noecho");
<span class="symbol"><A NAME="ref_815_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1068_29">SwitchOn</A> <b>then</b>
<A HREF="terminal_interface-curses__adb.htm#ref_815_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_810_16">Echo</A>;
<b>else</b>
<A HREF="terminal_interface-curses__adb.htm#ref_815_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_812_16">NoEcho</A>;
<b>end</b> <b>if</b>;
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_815_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1068_14">Set_Echo_Mode</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_827_14" HREF="terminal_interface-curses__ads.htm#ref_1074_14">Set_Meta_Mode</A></span> (<span class="symbol"><A NAME="ref_827_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>;
<span class="symbol"><A NAME="ref_828_29" HREF="terminal_interface-curses__ads.htm#ref_1075_29">SwitchOn</A></span> : Boolean := True)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_830_16">Meta</A></span> (<span class="symbol"><A NAME="ref_830_22" HREF="terminal_interface-curses__adb.htm#ref_830_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_830_34" HREF="terminal_interface-curses__adb.htm#ref_830_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Meta, "meta");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_830_16">Meta</A> (<A HREF="terminal_interface-curses__ads.htm#ref_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_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1074_14">Set_Meta_Mode</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_838_14" HREF="terminal_interface-curses__ads.htm#ref_1080_14">Set_KeyPad_Mode</A></span> (<span class="symbol"><A NAME="ref_838_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>;
<span class="symbol"><A NAME="ref_839_31" HREF="terminal_interface-curses__ads.htm#ref_1081_31">SwitchOn</A></span> : Boolean := True)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_841_16">Keypad</A></span> (<span class="symbol"><A NAME="ref_841_24" HREF="terminal_interface-curses__adb.htm#ref_841_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_841_36" HREF="terminal_interface-curses__adb.htm#ref_841_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Keypad, "keypad");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_841_16">Keypad</A> (<A HREF="terminal_interface-curses__ads.htm#ref_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_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1080_14">Set_KeyPad_Mode</A>;
<b>function</b> <span class="symbol"><A NAME="ref_849_13" HREF="terminal_interface-curses__ads.htm#ref_1085_13">Get_KeyPad_Mode</A></span> (<span class="symbol"><A NAME="ref_849_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>)
<b>return</b> Boolean
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_852_16">Is_Keypad</A></span> (<span class="symbol"><A NAME="ref_852_27" HREF="terminal_interface-curses__adb.htm#ref_852_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
<b>pragma</b> Import (C, Is_Keypad, "is_keypad");
<b>begin</b>
<b>return</b> (<A HREF="terminal_interface-curses__adb.htm#ref_852_16">Is_Keypad</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1085_30">Win</A>) /= <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A>);
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1085_13">Get_KeyPad_Mode</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_858_14" HREF="terminal_interface-curses__ads.htm#ref_1093_14">Half_Delay</A></span> (<span class="symbol"><A NAME="ref_858_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>)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_860_16">Halfdelay</A></span> (<span class="symbol"><A NAME="ref_860_27" HREF="terminal_interface-curses__adb.htm#ref_860_16">Amount</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Halfdelay, "halfdelay");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_860_16">Halfdelay</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_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_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1093_14">Half_Delay</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_868_14" HREF="terminal_interface-curses__ads.htm#ref_1098_14">Set_Flush_On_Interrupt_Mode</A></span>
(<span class="symbol"><A NAME="ref_869_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>;
<span class="symbol"><A NAME="ref_870_7" HREF="terminal_interface-curses__ads.htm#ref_1100_7">Mode</A></span> : Boolean := True)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_872_16">Intrflush</A></span> (<span class="symbol"><A NAME="ref_872_27" HREF="terminal_interface-curses__adb.htm#ref_872_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_872_41" HREF="terminal_interface-curses__adb.htm#ref_872_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Intrflush, "intrflush");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_872_16">Intrflush</A> (<A HREF="terminal_interface-curses__ads.htm#ref_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_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1098_14">Set_Flush_On_Interrupt_Mode</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_880_14" HREF="terminal_interface-curses__ads.htm#ref_1105_14">Set_Queue_Interrupt_Mode</A></span>
(<span class="symbol"><A NAME="ref_881_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>;
<span class="symbol"><A NAME="ref_882_7" HREF="terminal_interface-curses__ads.htm#ref_1107_7">Flush</A></span> : Boolean := True)
<b>is</b>
<b>procedure</b> <span class="symbol"><A NAME="ref_884_17">Qiflush</A></span>;
<b>pragma</b> Import (C, Qiflush, "qiflush");
<b>procedure</b> <span class="symbol"><A NAME="ref_886_17">No_Qiflush</A></span>;
<b>pragma</b> Import (C, No_Qiflush, "noqiflush");
<b>begin</b>
<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>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1107_7">Flush</A> <b>then</b>
<A HREF="terminal_interface-curses__adb.htm#ref_884_17">Qiflush</A>;
<b>else</b>
<A HREF="terminal_interface-curses__adb.htm#ref_886_17">No_Qiflush</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1105_14">Set_Queue_Interrupt_Mode</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_899_14" HREF="terminal_interface-curses__ads.htm#ref_1113_14">Set_NoDelay_Mode</A></span>
(<span class="symbol"><A NAME="ref_900_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>;
<span class="symbol"><A NAME="ref_901_7" HREF="terminal_interface-curses__ads.htm#ref_1115_7">Mode</A></span> : Boolean := False)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_903_16">Nodelay</A></span> (<span class="symbol"><A NAME="ref_903_25" HREF="terminal_interface-curses__adb.htm#ref_903_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_903_39" HREF="terminal_interface-curses__adb.htm#ref_903_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Nodelay, "nodelay");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_903_16">Nodelay</A> (<A HREF="terminal_interface-curses__ads.htm#ref_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_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1113_14">Set_NoDelay_Mode</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_911_14" HREF="terminal_interface-curses__ads.htm#ref_1122_14">Set_Timeout_Mode</A></span> (<span class="symbol"><A NAME="ref_911_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>;
<span class="symbol"><A NAME="ref_912_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>;
<span class="symbol"><A NAME="ref_913_32" HREF="terminal_interface-curses__ads.htm#ref_1124_32">Amount</A></span> : Natural)
<b>is</b>
<b>procedure</b> <span class="symbol"><A NAME="ref_915_17">Wtimeout</A></span> (<span class="symbol"><A NAME="ref_915_27" HREF="terminal_interface-curses__adb.htm#ref_915_17">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_915_41" HREF="terminal_interface-curses__adb.htm#ref_915_17">Amount</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>);
<b>pragma</b> Import (C, Wtimeout, "wtimeout");
<span class="symbol"><A NAME="ref_918_7">Time</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>begin</b>
<b>case</b> <A HREF="terminal_interface-curses__ads.htm#ref_1123_32">Mode</A> <b>is</b>
<b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1119_26">Blocking</A> =&gt; <A HREF="terminal_interface-curses__adb.htm#ref_918_7">Time</A> := -1;
<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_918_7">Time</A> := 0;
<b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1119_50">Delayed</A> =&gt;
<b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1124_32">Amount</A> = 0 <b>then</b>
<b>raise</b> Constraint_Error;
<b>end</b> <b>if</b>;
<A HREF="terminal_interface-curses__adb.htm#ref_918_7">Time</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1124_32">Amount</A>);
<b>end</b> <b>case</b>;
<A HREF="terminal_interface-curses__adb.htm#ref_915_17">Wtimeout</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1122_32">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_918_7">Time</A>);
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1122_14">Set_Timeout_Mode</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_932_14" HREF="terminal_interface-curses__ads.htm#ref_1134_14">Set_Escape_Timer_Mode</A></span>
(<span class="symbol"><A NAME="ref_933_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>;
<span class="symbol"><A NAME="ref_934_7" HREF="terminal_interface-curses__ads.htm#ref_1136_7">Timer_Off</A></span> : Boolean := False)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_936_16">Notimeout</A></span> (<span class="symbol"><A NAME="ref_936_27" HREF="terminal_interface-curses__adb.htm#ref_936_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_936_41" HREF="terminal_interface-curses__adb.htm#ref_936_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Notimeout, "notimeout");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_936_16">Notimeout</A> (<A HREF="terminal_interface-curses__ads.htm#ref_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>)))
= <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
<b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1134_14">Set_Escape_Timer_Mode</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>procedure</b> <span class="symbol"><A NAME="ref_947_14" HREF="terminal_interface-curses__ads.htm#ref_1145_14">Set_NL_Mode</A></span> (<span class="symbol"><A NAME="ref_947_27" HREF="terminal_interface-curses__ads.htm#ref_1145_27">SwitchOn</A></span> : Boolean := True)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_949_16">NL</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, NL, "nl");
<b>function</b> <span class="symbol"><A NAME="ref_951_16">NoNL</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, NoNL, "nonl");
<span class="symbol"><A NAME="ref_954_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1145_27">SwitchOn</A> <b>then</b>
<A HREF="terminal_interface-curses__adb.htm#ref_954_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_949_16">NL</A>;
<b>else</b>
<A HREF="terminal_interface-curses__adb.htm#ref_954_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_951_16">NoNL</A>;
<b>end</b> <b>if</b>;
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_954_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1145_14">Set_NL_Mode</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_966_14" HREF="terminal_interface-curses__ads.htm#ref_1151_14">Clear_On_Next_Update</A></span>
(<span class="symbol"><A NAME="ref_967_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>;
<span class="symbol"><A NAME="ref_968_7" HREF="terminal_interface-curses__ads.htm#ref_1153_7">Do_Clear</A></span> : Boolean := True)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_970_16">Clear_Ok</A></span> (<span class="symbol"><A NAME="ref_970_26" HREF="terminal_interface-curses__adb.htm#ref_970_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_970_38" HREF="terminal_interface-curses__adb.htm#ref_970_16">Flag</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Clear_Ok, "clearok");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_970_16">Clear_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_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_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1151_14">Clear_On_Next_Update</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_978_14" HREF="terminal_interface-curses__ads.htm#ref_1158_14">Use_Insert_Delete_Line</A></span>
(<span class="symbol"><A NAME="ref_979_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>;
<span class="symbol"><A NAME="ref_980_7" HREF="terminal_interface-curses__ads.htm#ref_1160_7">Do_Idl</A></span> : Boolean := True)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_982_16">IDL_Ok</A></span> (<span class="symbol"><A NAME="ref_982_24" HREF="terminal_interface-curses__adb.htm#ref_982_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_982_36" HREF="terminal_interface-curses__adb.htm#ref_982_16">Flag</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, IDL_Ok, "idlok");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_982_16">IDL_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_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_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1158_14">Use_Insert_Delete_Line</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_990_14" HREF="terminal_interface-curses__ads.htm#ref_1165_14">Use_Insert_Delete_Character</A></span>
(<span class="symbol"><A NAME="ref_991_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>;
<span class="symbol"><A NAME="ref_992_7" HREF="terminal_interface-curses__ads.htm#ref_1167_7">Do_Idc</A></span> : Boolean := True)
<b>is</b>
<b>procedure</b> <span class="symbol"><A NAME="ref_994_17">IDC_Ok</A></span> (<span class="symbol"><A NAME="ref_994_25" HREF="terminal_interface-curses__adb.htm#ref_994_17">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_994_37" HREF="terminal_interface-curses__adb.htm#ref_994_17">Flag</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>);
<b>pragma</b> Import (C, IDC_Ok, "idcok");
<b>begin</b>
<A HREF="terminal_interface-curses__adb.htm#ref_994_17">IDC_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_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>)));
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1165_14">Use_Insert_Delete_Character</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_1000_14" HREF="terminal_interface-curses__ads.htm#ref_1172_14">Leave_Cursor_After_Update</A></span>
(<span class="symbol"><A NAME="ref_1001_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>;
<span class="symbol"><A NAME="ref_1002_7" HREF="terminal_interface-curses__ads.htm#ref_1174_7">Do_Leave</A></span> : Boolean := True)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_1004_16">Leave_Ok</A></span> (<span class="symbol"><A NAME="ref_1004_26" HREF="terminal_interface-curses__adb.htm#ref_1004_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1004_38" HREF="terminal_interface-curses__adb.htm#ref_1004_16">Flag</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Leave_Ok, "leaveok");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1004_16">Leave_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_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_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1172_14">Leave_Cursor_After_Update</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_1012_14" HREF="terminal_interface-curses__ads.htm#ref_1179_14">Immediate_Update_Mode</A></span>
(<span class="symbol"><A NAME="ref_1013_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>;
<span class="symbol"><A NAME="ref_1014_7" HREF="terminal_interface-curses__ads.htm#ref_1181_7">Mode</A></span> : Boolean := False)
<b>is</b>
<b>procedure</b> <span class="symbol"><A NAME="ref_1016_17">Immedok</A></span> (<span class="symbol"><A NAME="ref_1016_26" HREF="terminal_interface-curses__adb.htm#ref_1016_17">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1016_40" HREF="terminal_interface-curses__adb.htm#ref_1016_17">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>);
<b>pragma</b> Import (C, Immedok, "immedok");
<b>begin</b>
<A HREF="terminal_interface-curses__adb.htm#ref_1016_17">Immedok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_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>)));
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1179_14">Immediate_Update_Mode</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_1022_14" HREF="terminal_interface-curses__ads.htm#ref_1186_14">Allow_Scrolling</A></span>
(<span class="symbol"><A NAME="ref_1023_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>;
<span class="symbol"><A NAME="ref_1024_7" HREF="terminal_interface-curses__ads.htm#ref_1188_7">Mode</A></span> : Boolean := False)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_1026_16">Scrollok</A></span> (<span class="symbol"><A NAME="ref_1026_26" HREF="terminal_interface-curses__adb.htm#ref_1026_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1026_40" HREF="terminal_interface-curses__adb.htm#ref_1026_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Scrollok, "scrollok");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1026_16">Scrollok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_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_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1186_14">Allow_Scrolling</A>;
<b>function</b> <span class="symbol"><A NAME="ref_1034_13" HREF="terminal_interface-curses__ads.htm#ref_1192_13">Scrolling_Allowed</A></span> (<span class="symbol"><A NAME="ref_1034_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>)
<b>return</b> Boolean
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_1037_16">Is_Scroll_Ok</A></span> (<span class="symbol"><A NAME="ref_1037_30" HREF="terminal_interface-curses__adb.htm#ref_1037_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
<b>pragma</b> Import (C, Is_Scroll_Ok, "is_scrollok");
<b>begin</b>
<b>return</b> (<A HREF="terminal_interface-curses__adb.htm#ref_1037_16">Is_Scroll_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1192_32">Win</A>) /= <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A>);
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1192_13">Scrolling_Allowed</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_1043_14" HREF="terminal_interface-curses__ads.htm#ref_1197_14">Set_Scroll_Region</A></span>
(<span class="symbol"><A NAME="ref_1044_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>;
<span class="symbol"><A NAME="ref_1045_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>;
<span class="symbol"><A NAME="ref_1046_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>)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_1048_16">Wsetscrreg</A></span> (<span class="symbol"><A NAME="ref_1048_28" HREF="terminal_interface-curses__adb.htm#ref_1048_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_1049_28" HREF="terminal_interface-curses__adb.htm#ref_1048_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<span class="symbol"><A NAME="ref_1050_28" HREF="terminal_interface-curses__adb.htm#ref_1048_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Wsetscrreg, "wsetscrreg");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1048_16">Wsetscrreg</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1198_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_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_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1200_7">Bottom_Line</A>))
= <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
<b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1197_14">Set_Scroll_Region</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>procedure</b> <span class="symbol"><A NAME="ref_1060_14" HREF="terminal_interface-curses__ads.htm#ref_1210_14">Update_Screen</A></span>
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_1062_16">Do_Update</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Do_Update, "doupdate");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1062_16">Do_Update</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1210_14">Update_Screen</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_1070_14" HREF="terminal_interface-curses__ads.htm#ref_1215_14">Refresh</A></span> (<span class="symbol"><A NAME="ref_1070_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>)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_1072_16">Wrefresh</A></span> (<span class="symbol"><A NAME="ref_1072_26" HREF="terminal_interface-curses__adb.htm#ref_1072_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Wrefresh, "wrefresh");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1072_16">Wrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1215_23">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1215_14">Refresh</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_1080_14" HREF="terminal_interface-curses__ads.htm#ref_1222_14">Refresh_Without_Update</A></span>
(<span class="symbol"><A NAME="ref_1081_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>)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_1083_16">Wnoutrefresh</A></span> (<span class="symbol"><A NAME="ref_1083_30" HREF="terminal_interface-curses__adb.htm#ref_1083_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Wnoutrefresh, "wnoutrefresh");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1083_16">Wnoutrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1223_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1222_14">Refresh_Without_Update</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_1091_14" HREF="terminal_interface-curses__ads.htm#ref_1229_14">Redraw</A></span> (<span class="symbol"><A NAME="ref_1091_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>)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_1093_16">Redrawwin</A></span> (<span class="symbol"><A NAME="ref_1093_27" HREF="terminal_interface-curses__adb.htm#ref_1093_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Redrawwin, "redrawwin");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1093_16">Redrawwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1229_22">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1229_14">Redraw</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_1101_14" HREF="terminal_interface-curses__ads.htm#ref_1233_14">Redraw</A></span>
(<span class="symbol"><A NAME="ref_1102_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>;
<span class="symbol"><A NAME="ref_1103_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>;
<span class="symbol"><A NAME="ref_1104_7" HREF="terminal_interface-curses__ads.htm#ref_1235_22">Line_Count</A></span> : Positive)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_1106_16">Wredrawln</A></span> (<span class="symbol"><A NAME="ref_1106_27" HREF="terminal_interface-curses__adb.htm#ref_1106_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1106_41" HREF="terminal_interface-curses__adb.htm#ref_1106_16">First</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>; <span class="symbol"><A NAME="ref_1106_56" HREF="terminal_interface-curses__adb.htm#ref_1106_16">Cnt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>)
<b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Wredrawln, "wredrawln");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1106_16">Wredrawln</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1233_22">Win</A>,
<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1234_22">Begin_Line</A>),
<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_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_65_4">Curses_Err</A>
<b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1233_14">Redraw</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>procedure</b> <span class="symbol"><A NAME="ref_1119_14" HREF="terminal_interface-curses__ads.htm#ref_1244_14">Erase</A></span> (<span class="symbol"><A NAME="ref_1119_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>)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_1121_16">Werase</A></span> (<span class="symbol"><A NAME="ref_1121_24" HREF="terminal_interface-curses__adb.htm#ref_1121_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Werase, "werase");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1121_16">Werase</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1244_21">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1244_14">Erase</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_1129_14" HREF="terminal_interface-curses__ads.htm#ref_1250_14">Clear</A></span> (<span class="symbol"><A NAME="ref_1129_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>)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_1131_16">Wclear</A></span> (<span class="symbol"><A NAME="ref_1131_24" HREF="terminal_interface-curses__adb.htm#ref_1131_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Wclear, "wclear");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1131_16">Wclear</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1251_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1250_14">Clear</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_1139_14" HREF="terminal_interface-curses__ads.htm#ref_1257_14">Clear_To_End_Of_Screen</A></span> (<span class="symbol"><A NAME="ref_1139_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>)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_1141_16">Wclearbot</A></span> (<span class="symbol"><A NAME="ref_1141_27" HREF="terminal_interface-curses__adb.htm#ref_1141_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Wclearbot, "wclrtobot");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1141_16">Wclearbot</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1258_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1257_14">Clear_To_End_Of_Screen</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_1149_14" HREF="terminal_interface-curses__ads.htm#ref_1264_14">Clear_To_End_Of_Line</A></span> (<span class="symbol"><A NAME="ref_1149_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>)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_1151_16">Wcleareol</A></span> (<span class="symbol"><A NAME="ref_1151_27" HREF="terminal_interface-curses__adb.htm#ref_1151_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, Wcleareol, "wclrtoeol");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1151_16">Wcleareol</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1265_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1264_14">Clear_To_End_Of_Line</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>procedure</b> <span class="symbol"><A NAME="ref_1159_14" HREF="terminal_interface-curses__ads.htm#ref_1278_14">Set_Background</A></span>
(<span class="symbol"><A NAME="ref_1160_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>;
<span class="symbol"><A NAME="ref_1161_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>)
<b>is</b>
<b>procedure</b> <span class="symbol"><A NAME="ref_1163_17">WBackground</A></span> (<span class="symbol"><A NAME="ref_1163_30" HREF="terminal_interface-curses__adb.htm#ref_1163_17">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1163_42" HREF="terminal_interface-curses__adb.htm#ref_1163_17">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>);
<b>pragma</b> Import (C, WBackground, "wbkgdset");
<b>begin</b>
<A HREF="terminal_interface-curses__adb.htm#ref_1163_17">WBackground</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1279_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1280_7">Ch</A>);
<b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1278_14">Set_Background</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_1169_14" HREF="terminal_interface-curses__ads.htm#ref_1286_14">Change_Background</A></span>
(<span class="symbol"><A NAME="ref_1170_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>;
<span class="symbol"><A NAME="ref_1171_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>)
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_1173_16">WChangeBkgd</A></span> (<span class="symbol"><A NAME="ref_1173_29" HREF="terminal_interface-curses__adb.htm#ref_1173_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1173_41" HREF="terminal_interface-curses__adb.htm#ref_1173_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
<b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
<b>pragma</b> Import (C, WChangeBkgd, "wbkgd");
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1173_16">WChangeBkgd</A> (<A HREF="terminal_interface-curses__ads.htm#ref_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_65_4">Curses_Err</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;