<HTML><HEAD><TITLE>terminal_interface-curses.adb</TITLE></HEAD> <BODY> <HR><DIV ALIGN="center"><H1> File : terminal_interface-curses.adb </H1></DIV><HR> <PRE> <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <FONT COLOR=green><EM>-- --</EM></FONT> <FONT COLOR=green><EM>-- <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding --</EM></FONT> <FONT COLOR=green><EM>-- --</EM></FONT> <FONT COLOR=green><EM>-- Terminal_Interface.Curses --</EM></FONT> <FONT COLOR=green><EM>-- --</EM></FONT> <FONT COLOR=green><EM>-- B O D Y --</EM></FONT> <FONT COLOR=green><EM>-- --</EM></FONT> <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc. --</EM></FONT> <FONT COLOR=green><EM>-- --</EM></FONT> <FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></FONT> <FONT COLOR=green><EM>-- copy of this software and associated documentation files (the --</EM></FONT> <FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including --</EM></FONT> <FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish, --</EM></FONT> <FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell --</EM></FONT> <FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is --</EM></FONT> <FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions: --</EM></FONT> <FONT COLOR=green><EM>-- --</EM></FONT> <FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included --</EM></FONT> <FONT COLOR=green><EM>-- in all copies or substantial portions of the Software. --</EM></FONT> <FONT COLOR=green><EM>-- --</EM></FONT> <FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --</EM></FONT> <FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --</EM></FONT> <FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. --</EM></FONT> <FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, --</EM></FONT> <FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR --</EM></FONT> <FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR --</EM></FONT> <FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE. --</EM></FONT> <FONT COLOR=green><EM>-- --</EM></FONT> <FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright --</EM></FONT> <FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the --</EM></FONT> <FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written --</EM></FONT> <FONT COLOR=green><EM>-- authorization. --</EM></FONT> <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <FONT COLOR=green><EM>-- Author: <A HREF="http://home.t-online.de/home/Juergen.Pfeifer">Jürgen Pfeifer</A> <<A HREF="mailto:juergen.pfeifer@gmx.net"><juergen.pfeifer@gmx.net></A>> 1996</EM></FONT> <FONT COLOR=green><EM>-- Version Control:</EM></FONT> <FONT COLOR=green><EM>-- @Revision: 1.27 @</EM></FONT> <FONT COLOR=green><EM>-- Binding Version 01.00</EM></FONT> <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>with</b> System; <b>with</b> <A HREF="terminal_interface__ads.htm#41_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#50_35">Aux</A>; <b>with</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C; <b>with</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.Strings; <b>with</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.Pointers; <b>with</b> Ada.Characters.Handling; <b>use</b> Ada.Characters.Handling; <b>with</b> Ada.Strings.Fixed; <b>with</b> Ada.Unchecked_Conversion; <b>package</b> <b>body</b> Terminal_Interface.<A HREF="terminal_interface-curses__ads.htm#48_28">Curses</A><FONT COLOR=red><A NAME="51_33"></A></FONT> <b>is</b> <b>use</b> <A HREF="terminal_interface-curses-aux__ads.htm#50_35">Aux</A>; <b>use</b> <b>type</b> System.Bit_Order; <b>package</b> <FONT COLOR=red><A NAME="56_12">ASF</A></FONT> <b>renames</b> Ada.Strings.Fixed; <b>type</b> <FONT COLOR=red><A NAME="58_9">chtype_array</A></FONT> <b>is</b> <b>array</b> (size_t <b>range</b> <>) <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>; <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses__adb.htm#58_9">chtype_array</A>); <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>generic</b> <b>type</b> <FONT COLOR=red><A NAME="64_12">Element</A></FONT> <b>is</b> (<>); <b>function</b> <FONT COLOR=red><A NAME="65_13">W_Get_Element</A></FONT> (<FONT COLOR=red><A NAME="65_28">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="66_28">Offset</A></FONT> : <b>in</b> Natural) <b>return</b> <A HREF="terminal_interface-curses__adb.htm#64_12">Element</A>; <b>function</b> <A HREF="terminal_interface-curses__adb.htm#65_13">W_Get_Element</A> (<FONT COLOR=red><A NAME="68_28">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="69_28">Offset</A></FONT> : <b>in</b> Natural) <b>return</b> <A HREF="terminal_interface-curses__adb.htm#64_12">Element</A> <b>is</b> <b>type</b> <FONT COLOR=red><A NAME="70_12">E_Array</A></FONT> <b>is</b> <b>array</b> (Natural <b>range</b> <>) <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses__adb.htm#64_12">Element</A>; <b>package</b> <FONT COLOR=red><A NAME="71_15">C_E_Array</A></FONT> <b>is</b> <b>new</b> <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.Pointers (Natural, <A HREF="terminal_interface-curses__adb.htm#64_12">Element</A>, <A HREF="terminal_interface-curses__adb.htm#70_12">E_Array</A>, <A HREF="terminal_interface-curses__adb.htm#64_12">Element</A>'Val (0)); <b>use</b> <A HREF="terminal_interface-curses__adb.htm#71_15">C_E_Array</A>; <b>function</b> <FONT COLOR=red><A NAME="75_16">To_Pointer</A></FONT> <b>is</b> <b>new</b> Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>, Pointer); P : Pointer := <A HREF="terminal_interface-curses__adb.htm#75_16">To_Pointer</A> (<A HREF="terminal_interface-curses__adb.htm#65_28">Win</A>); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#65_28">Win</A> = <A HREF="terminal_interface-curses__ads.htm#57_4">Null_Window</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>else</b> P := P + ptrdiff_t (<A HREF="terminal_interface-curses__adb.htm#66_28">Offset</A>); <b>return</b> P.<b>all</b>; <b>end</b> <b>if</b>; <b>end</b> W_Get_Element; <b>function</b> <FONT COLOR=red><A NAME="88_13">W_Get_Int</A></FONT> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses__adb.htm#65_13">W_Get_Element</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>); <b>function</b> <FONT COLOR=red><A NAME="89_13">W_Get_Short</A></FONT> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses__adb.htm#65_13">W_Get_Element</A> (<A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>); <b>function</b> <FONT COLOR=red><A NAME="90_13">W_Get_Byte</A></FONT> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses__adb.htm#65_13">W_Get_Element</A> (<A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.unsigned_char); <b>function</b> <A HREF="terminal_interface-curses__adb.htm#95_13">Get_Flag</A><FONT COLOR=red><A NAME="92_13"></A></FONT> (<FONT COLOR=red><A NAME="92_23">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="93_23">Offset</A></FONT> : Natural) <b>return</b> Boolean; <b>function</b> <A HREF="terminal_interface-curses__adb.htm#92_13">Get_Flag</A><FONT COLOR=red><A NAME="95_13"></A></FONT> (<A HREF="terminal_interface-curses__adb.htm#92_23">Win</A> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <A HREF="terminal_interface-curses__adb.htm#93_23">Offset</A> : Natural) <b>return</b> Boolean <b>is</b> <FONT COLOR=red><A NAME="98_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>begin</b> <b>case</b> <A HREF="terminal_interface-curses__ads.htm#1927_4">Sizeof_bool</A> <b>is</b> <b>when</b> 1 => <A HREF="terminal_interface-curses__adb.htm#98_7">Res</A> := <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#90_13">W_Get_Byte</A> (<A HREF="terminal_interface-curses__adb.htm#92_23">Win</A>, <A HREF="terminal_interface-curses__adb.htm#93_23">Offset</A>)); <b>when</b> 2 => <A HREF="terminal_interface-curses__adb.htm#98_7">Res</A> := <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#89_13">W_Get_Short</A> (<A HREF="terminal_interface-curses__adb.htm#92_23">Win</A>, <A HREF="terminal_interface-curses__adb.htm#93_23">Offset</A>)); <b>when</b> 4 => <A HREF="terminal_interface-curses__adb.htm#98_7">Res</A> := <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#88_13">W_Get_Int</A> (<A HREF="terminal_interface-curses__adb.htm#92_23">Win</A>, <A HREF="terminal_interface-curses__adb.htm#93_23">Offset</A>)); <b>when</b> <b>others</b> => <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>case</b>; <b>case</b> <A HREF="terminal_interface-curses__adb.htm#98_7">Res</A> <b>is</b> <b>when</b> 0 => <b>return</b> False; <b>when</b> <b>others</b> => <b>return</b> True; <b>end</b> <b>case</b>; <b>end</b> Get_Flag; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1609_13">Key_Name</A><FONT COLOR=red><A NAME="114_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1609_23">Key</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#71_12">Real_Key_Code</A>) <b>return</b> String <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="116_16">Keyname</A></FONT> (<FONT COLOR=red><A NAME="116_25">K</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> chars_ptr; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#116_16">Keyname</A>, "keyname"); <FONT COLOR=red><A NAME="119_7">Ch</A></FONT> : Character; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__ads.htm#1609_23">Key</A> <= Character'Pos (Character'Last) <b>then</b> <A HREF="terminal_interface-curses__adb.htm#119_7">Ch</A> := Character'Val (<A HREF="terminal_interface-curses__ads.htm#1609_23">Key</A>); <b>if</b> Is_Control (<A HREF="terminal_interface-curses__adb.htm#119_7">Ch</A>) <b>then</b> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#1620_13">Un_Control</A> (<A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>'(Ch => <A HREF="terminal_interface-curses__adb.htm#119_7">Ch</A>, Color => <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>'First, Attr => <A HREF="terminal_interface-curses__ads.htm#349_4">Normal_Video</A>)); <b>elsif</b> Is_Graphic (<A HREF="terminal_interface-curses__adb.htm#119_7">Ch</A>) <b>then</b> <b>declare</b> <FONT COLOR=red><A NAME="129_16">S</A></FONT> : String (1 .. 1); <b>begin</b> <A HREF="terminal_interface-curses__adb.htm#129_16">S</A> (1) := <A HREF="terminal_interface-curses__adb.htm#119_7">Ch</A>; <b>return</b> <A HREF="terminal_interface-curses__adb.htm#129_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#121_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#116_16">Keyname</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1609_23">Key</A>))); <b>end</b> <b>if</b>; <b>end</b> Key_Name; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1603_14">Key_Name</A><FONT COLOR=red><A NAME="142_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1603_24">Key</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#71_12">Real_Key_Code</A>; <A HREF="terminal_interface-curses__ads.htm#1604_24">Name</A> : <b>out</b> String) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__adb.htm#56_12">ASF</A>.Move (<A HREF="terminal_interface-curses__ads.htm#1609_13">Key_Name</A> (<A HREF="terminal_interface-curses__ads.htm#1603_24">Key</A>), <A HREF="terminal_interface-curses__ads.htm#1604_24">Name</A>); <b>end</b> Key_Name; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#479_14">Init_Screen</A><FONT COLOR=red><A NAME="150_14"></A></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="152_16">Initscr</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#152_16">Initscr</A>, "initscr"); <FONT COLOR=red><A NAME="155_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <b>begin</b> <A HREF="terminal_interface-curses__adb.htm#155_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#152_16">Initscr</A>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#155_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#57_4">Null_Window</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Init_Screen; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#488_14">End_Windows</A><FONT COLOR=red><A NAME="163_14"></A></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="165_16">Endwin</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#165_16">Endwin</A>, "endwin"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#165_16">Endwin</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> End_Windows; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#495_13">Is_End_Window</A><FONT COLOR=red><A NAME="173_13"></A></FONT> <b>return</b> Boolean <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="175_16">Isendwin</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#175_16">Isendwin</A>, "isendwin"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#175_16">Isendwin</A> = <A HREF="terminal_interface-curses__ads.htm#1931_4">Curses_Bool_False</A> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; <b>end</b> Is_End_Window; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#504_14">Move_Cursor</A><FONT COLOR=red><A NAME="185_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#504_27">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#505_27">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#506_27">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="189_16">Wmove</A></FONT> (<FONT COLOR=red><A NAME="189_23">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="190_23">Line</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="191_23">Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> ) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#189_16">Wmove</A>, "wmove"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#189_16">Wmove</A> (<A HREF="terminal_interface-curses__ads.htm#504_27">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#505_27">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#506_27">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Move_Cursor; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#516_14">Add</A><FONT COLOR=red><A NAME="200_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#516_19">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#517_19">Ch</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="203_16">Waddch</A></FONT> (<FONT COLOR=red><A NAME="203_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="204_24">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#203_16">Waddch</A>, "waddch"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#203_16">Waddch</A> (<A HREF="terminal_interface-curses__ads.htm#516_19">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#517_19">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Add; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#521_14">Add</A><FONT COLOR=red><A NAME="212_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#521_19">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#522_19">Ch</A> : <b>in</b> Character) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#521_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#521_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>'(Ch => <A HREF="terminal_interface-curses__ads.htm#522_19">Ch</A>, Color => <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>'First, Attr => <A HREF="terminal_interface-curses__ads.htm#349_4">Normal_Video</A>)); <b>end</b> Add; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#527_14">Add</A><FONT COLOR=red><A NAME="222_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#528_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#529_7">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#530_7">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>; <A HREF="terminal_interface-curses__ads.htm#531_7">Ch</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="228_16">mvwaddch</A></FONT> (<FONT COLOR=red><A NAME="228_26">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="229_26">Y</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="230_26">X</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="231_26">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#228_16">mvwaddch</A>, "mvwaddch"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#228_16">mvwaddch</A> (<A HREF="terminal_interface-curses__ads.htm#528_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#529_7">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#530_7">Column</A>), <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#531_7">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Add; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#535_14">Add</A><FONT COLOR=red><A NAME="241_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#536_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#537_7">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#538_7">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>; <A HREF="terminal_interface-curses__ads.htm#539_7">Ch</A> : <b>in</b> Character) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#535_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#536_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#537_7">Line</A>, <A HREF="terminal_interface-curses__ads.htm#538_7">Column</A>, <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>'(Ch => <A HREF="terminal_interface-curses__ads.htm#539_7">Ch</A>, Color => <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>'First, Attr => <A HREF="terminal_interface-curses__ads.htm#349_4">Normal_Video</A>)); <b>end</b> Add; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#544_14">Add_With_Immediate_Echo</A><FONT COLOR=red><A NAME="256_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#545_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#546_7">Ch</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="260_16">Wechochar</A></FONT> (<FONT COLOR=red><A NAME="260_27">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="261_27">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#260_16">Wechochar</A>, "wechochar"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#260_16">Wechochar</A> (<A HREF="terminal_interface-curses__ads.htm#545_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#546_7">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Add_With_Immediate_Echo; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#550_14">Add_With_Immediate_Echo</A><FONT COLOR=red><A NAME="269_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#551_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#552_7">Ch</A> : <b>in</b> Character) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#550_14">Add_With_Immediate_Echo</A> (<A HREF="terminal_interface-curses__ads.htm#551_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>'(Ch => <A HREF="terminal_interface-curses__ads.htm#552_7">Ch</A>, Color => <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>'First, Attr => <A HREF="terminal_interface-curses__ads.htm#349_4">Normal_Video</A>)); <b>end</b> Add_With_Immediate_Echo; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>function</b> <A HREF="terminal_interface-curses__ads.htm#562_13">Create</A><FONT COLOR=red><A NAME="281_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#563_7">Number_Of_Lines</A> : <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A>; <A HREF="terminal_interface-curses__ads.htm#564_7">Number_Of_Columns</A> : <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A>; <A HREF="terminal_interface-curses__ads.htm#565_7">First_Line_Position</A> : <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#566_7">First_Column_Position</A> : <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="286_16">Newwin</A></FONT> (<FONT COLOR=red><A NAME="286_24">Number_Of_Lines</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="287_24">Number_Of_Columns</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="288_24">First_Line_Position</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="289_24">First_Column_Position</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#286_16">Newwin</A>, "newwin"); <FONT COLOR=red><A NAME="292_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <b>begin</b> <A HREF="terminal_interface-curses__adb.htm#292_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#286_16">Newwin</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#563_7">Number_Of_Lines</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#564_7">Number_Of_Columns</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#565_7">First_Line_Position</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#566_7">First_Column_Position</A>)); <b>if</b> <A HREF="terminal_interface-curses__adb.htm#292_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#57_4">Null_Window</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>return</b> <A HREF="terminal_interface-curses__adb.htm#292_7">W</A>; <b>end</b> Create; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#581_14">Delete</A><FONT COLOR=red><A NAME="304_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#581_22">Win</A> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="306_16">Wdelwin</A></FONT> (<FONT COLOR=red><A NAME="306_25">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#306_16">Wdelwin</A>, "delwin"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#306_16">Wdelwin</A> (<A HREF="terminal_interface-curses__ads.htm#581_22">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <A HREF="terminal_interface-curses__ads.htm#581_22">Win</A> := <A HREF="terminal_interface-curses__ads.htm#57_4">Null_Window</A>; <b>end</b> Delete; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#587_13">Sub_Window</A><FONT COLOR=red><A NAME="315_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#588_7">Win</A> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#589_7">Number_Of_Lines</A> : <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A>; <A HREF="terminal_interface-curses__ads.htm#590_7">Number_Of_Columns</A> : <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A>; <A HREF="terminal_interface-curses__ads.htm#591_7">First_Line_Position</A> : <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#592_7">First_Column_Position</A> : <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="322_16">Subwin</A></FONT> (<FONT COLOR=red><A NAME="323_10">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="324_10">Number_Of_Lines</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="325_10">Number_Of_Columns</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="326_10">First_Line_Position</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="327_10">First_Column_Position</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#322_16">Subwin</A>, "subwin"); <FONT COLOR=red><A NAME="330_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <b>begin</b> <A HREF="terminal_interface-curses__adb.htm#330_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#322_16">Subwin</A> (<A HREF="terminal_interface-curses__ads.htm#588_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#589_7">Number_Of_Lines</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#590_7">Number_Of_Columns</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#591_7">First_Line_Position</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#592_7">First_Column_Position</A>)); <b>if</b> <A HREF="terminal_interface-curses__adb.htm#330_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#57_4">Null_Window</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>return</b> <A HREF="terminal_interface-curses__adb.htm#330_7">W</A>; <b>end</b> Sub_Window; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#597_13">Derived_Window</A><FONT COLOR=red><A NAME="343_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#598_7">Win</A> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#599_7">Number_Of_Lines</A> : <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A>; <A HREF="terminal_interface-curses__ads.htm#600_7">Number_Of_Columns</A> : <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A>; <A HREF="terminal_interface-curses__ads.htm#601_7">First_Line_Position</A> : <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#602_7">First_Column_Position</A> : <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="350_16">Derwin</A></FONT> (<FONT COLOR=red><A NAME="351_10">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="352_10">Number_Of_Lines</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="353_10">Number_Of_Columns</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="354_10">First_Line_Position</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="355_10">First_Column_Position</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#350_16">Derwin</A>, "derwin"); <FONT COLOR=red><A NAME="358_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <b>begin</b> <A HREF="terminal_interface-curses__adb.htm#358_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#350_16">Derwin</A> (<A HREF="terminal_interface-curses__ads.htm#598_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#599_7">Number_Of_Lines</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#600_7">Number_Of_Columns</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#601_7">First_Line_Position</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#602_7">First_Column_Position</A>)); <b>if</b> <A HREF="terminal_interface-curses__adb.htm#358_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#57_4">Null_Window</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>return</b> <A HREF="terminal_interface-curses__adb.htm#358_7">W</A>; <b>end</b> Derived_Window; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#607_13">Duplicate</A><FONT COLOR=red><A NAME="371_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#607_24">Win</A> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="373_16">Dupwin</A></FONT> (<FONT COLOR=red><A NAME="373_24">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#373_16">Dupwin</A>, "dupwin"); <FONT COLOR=red><A NAME="376_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__adb.htm#373_16">Dupwin</A> (<A HREF="terminal_interface-curses__ads.htm#607_24">Win</A>); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#376_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#57_4">Null_Window</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>return</b> <A HREF="terminal_interface-curses__adb.htm#376_7">W</A>; <b>end</b> Duplicate; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#612_14">Move_Window</A><FONT COLOR=red><A NAME="384_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#612_27">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <A HREF="terminal_interface-curses__ads.htm#613_27">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#614_27">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="388_16">Mvwin</A></FONT> (<FONT COLOR=red><A NAME="388_23">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="389_23">Line</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="390_23">Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#388_16">Mvwin</A>, "mvwin"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#388_16">Mvwin</A> (<A HREF="terminal_interface-curses__ads.htm#612_27">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#613_27">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#614_27">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Move_Window; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#619_14">Move_Derived_Window</A><FONT COLOR=red><A NAME="398_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#619_35">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <A HREF="terminal_interface-curses__ads.htm#620_35">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#621_35">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="402_16">Mvderwin</A></FONT> (<FONT COLOR=red><A NAME="402_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="403_26">Line</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="404_26">Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#402_16">Mvderwin</A>, "mvderwin"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#402_16">Mvderwin</A> (<A HREF="terminal_interface-curses__ads.htm#619_35">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#620_35">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#621_35">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Move_Derived_Window; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#636_14">Set_Synch_Mode</A><FONT COLOR=red><A NAME="412_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#636_30">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#637_30">Mode</A> : <b>in</b> Boolean := False) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="415_16">Syncok</A></FONT> (<FONT COLOR=red><A NAME="415_24">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="416_24">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#415_16">Syncok</A>, "syncok"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#415_16">Syncok</A> (<A HREF="terminal_interface-curses__ads.htm#636_30">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#637_30">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Set_Synch_Mode; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#646_14">Add</A><FONT COLOR=red><A NAME="424_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#646_19">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#647_19">Str</A> : <b>in</b> String; <A HREF="terminal_interface-curses__ads.htm#648_19">Len</A> : <b>in</b> Integer := -1) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="428_16">Waddnstr</A></FONT> (<FONT COLOR=red><A NAME="428_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="429_26">Str</A></FONT> : char_array; <FONT COLOR=red><A NAME="430_26">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#428_16">Waddnstr</A>, "waddnstr"); <FONT COLOR=red><A NAME="433_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#647_19">Str</A>'Length); <FONT COLOR=red><A NAME="434_7">Length</A></FONT> : size_t; <b>begin</b> To_C (<A HREF="terminal_interface-curses__ads.htm#647_19">Str</A>, <A HREF="terminal_interface-curses__adb.htm#433_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#434_7">Length</A>); <b>if</b> <A HREF="terminal_interface-curses__adb.htm#428_16">Waddnstr</A> (<A HREF="terminal_interface-curses__ads.htm#646_19">Win</A>, <A HREF="terminal_interface-curses__adb.htm#433_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#648_19">Len</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Add; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#655_14">Add</A><FONT COLOR=red><A NAME="442_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#655_19">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#656_19">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#657_19">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>; <A HREF="terminal_interface-curses__ads.htm#658_19">Str</A> : <b>in</b> String; <A HREF="terminal_interface-curses__ads.htm#659_19">Len</A> : <b>in</b> Integer := -1) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#504_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#655_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#656_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#657_19">Column</A>); <A HREF="terminal_interface-curses__ads.htm#655_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#655_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#658_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#659_19">Len</A>); <b>end</b> Add; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#670_14">Add</A><FONT COLOR=red><A NAME="454_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#670_19">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#671_19">Str</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#375_9">Attributed_String</A>; <A HREF="terminal_interface-curses__ads.htm#672_19">Len</A> : <b>in</b> Integer := -1) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="459_16">Waddchnstr</A></FONT> (<FONT COLOR=red><A NAME="459_28">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="460_28">Str</A></FONT> : <A HREF="terminal_interface-curses__adb.htm#58_9">chtype_array</A>; <FONT COLOR=red><A NAME="461_28">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#459_16">Waddchnstr</A>, "waddchnstr"); <FONT COLOR=red><A NAME="464_7">Txt</A></FONT> : <A HREF="terminal_interface-curses__adb.htm#58_9">chtype_array</A> (0 .. <A HREF="terminal_interface-curses__ads.htm#671_19">Str</A>'Length); <b>begin</b> <b>for</b> <FONT COLOR=red><A NAME="466_11">Length</A></FONT> <b>in</b> 1 .. size_t (<A HREF="terminal_interface-curses__ads.htm#671_19">Str</A>'Length) <b>loop</b> <A HREF="terminal_interface-curses__adb.htm#464_7">Txt</A> (<A HREF="terminal_interface-curses__adb.htm#466_11">Length</A> - 1) := <A HREF="terminal_interface-curses__ads.htm#671_19">Str</A> (Natural (<A HREF="terminal_interface-curses__adb.htm#466_11">Length</A>)); <b>end</b> <b>loop</b>; <A HREF="terminal_interface-curses__adb.htm#464_7">Txt</A> (<A HREF="terminal_interface-curses__ads.htm#671_19">Str</A>'Length) := <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#459_16">Waddchnstr</A> (<A HREF="terminal_interface-curses__ads.htm#670_19">Win</A>, <A HREF="terminal_interface-curses__adb.htm#464_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#672_19">Len</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Add; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#679_14">Add</A><FONT COLOR=red><A NAME="477_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#679_19">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#680_19">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#681_19">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>; <A HREF="terminal_interface-curses__ads.htm#682_19">Str</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#375_9">Attributed_String</A>; <A HREF="terminal_interface-curses__ads.htm#683_19">Len</A> : <b>in</b> Integer := -1) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#504_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#679_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#680_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#681_19">Column</A>); <A HREF="terminal_interface-curses__ads.htm#679_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#679_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#682_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#683_19">Len</A>); <b>end</b> Add; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#697_14">Border</A><FONT COLOR=red><A NAME="489_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#698_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#699_7">Left_Side_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>; <A HREF="terminal_interface-curses__ads.htm#700_7">Right_Side_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>; <A HREF="terminal_interface-curses__ads.htm#701_7">Top_Side_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>; <A HREF="terminal_interface-curses__ads.htm#702_7">Bottom_Side_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>; <A HREF="terminal_interface-curses__ads.htm#703_7">Upper_Left_Corner_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>; <A HREF="terminal_interface-curses__ads.htm#704_7">Upper_Right_Corner_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>; <A HREF="terminal_interface-curses__ads.htm#705_7">Lower_Left_Corner_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>; <A HREF="terminal_interface-curses__ads.htm#706_7">Lower_Right_Corner_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="500_16">Wborder</A></FONT> (<FONT COLOR=red><A NAME="500_25">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="501_25">LS</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>; <FONT COLOR=red><A NAME="502_25">RS</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>; <FONT COLOR=red><A NAME="503_25">TS</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>; <FONT COLOR=red><A NAME="504_25">BS</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>; <FONT COLOR=red><A NAME="505_25">ULC</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>; <FONT COLOR=red><A NAME="506_25">URC</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>; <FONT COLOR=red><A NAME="507_25">LLC</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>; <FONT COLOR=red><A NAME="508_25">LRC</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#500_16">Wborder</A>, "wborder"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#500_16">Wborder</A> (<A HREF="terminal_interface-curses__ads.htm#698_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#699_7">Left_Side_Symbol</A>), <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#700_7">Right_Side_Symbol</A>), <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#701_7">Top_Side_Symbol</A>), <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#702_7">Bottom_Side_Symbol</A>), <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#703_7">Upper_Left_Corner_Symbol</A>), <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#704_7">Upper_Right_Corner_Symbol</A>), <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#705_7">Lower_Left_Corner_Symbol</A>), <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#706_7">Lower_Right_Corner_Symbol</A>) ) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Border; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#713_14">Box</A><FONT COLOR=red><A NAME="526_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#714_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#715_7">Vertical_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>; <A HREF="terminal_interface-curses__ads.htm#716_7">Horizontal_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#697_14">Border</A> (<A HREF="terminal_interface-curses__ads.htm#714_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#715_7">Vertical_Symbol</A>, <A HREF="terminal_interface-curses__ads.htm#715_7">Vertical_Symbol</A>, <A HREF="terminal_interface-curses__ads.htm#716_7">Horizontal_Symbol</A>, <A HREF="terminal_interface-curses__ads.htm#716_7">Horizontal_Symbol</A>); <b>end</b> Box; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#721_14">Horizontal_Line</A><FONT COLOR=red><A NAME="537_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#722_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#723_7">Line_Size</A> : <b>in</b> Natural; <A HREF="terminal_interface-curses__ads.htm#724_7">Line_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="542_16">Whline</A></FONT> (<FONT COLOR=red><A NAME="542_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="543_24">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>; <FONT COLOR=red><A NAME="544_24">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#542_16">Whline</A>, "whline"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#542_16">Whline</A> (<A HREF="terminal_interface-curses__ads.htm#722_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#724_7">Line_Symbol</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#723_7">Line_Size</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Horizontal_Line; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#730_14">Vertical_Line</A><FONT COLOR=red><A NAME="554_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#731_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#732_7">Line_Size</A> : <b>in</b> Natural; <A HREF="terminal_interface-curses__ads.htm#733_7">Line_Symbol</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="559_16">Wvline</A></FONT> (<FONT COLOR=red><A NAME="559_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="560_24">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>; <FONT COLOR=red><A NAME="561_24">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#559_16">Wvline</A>, "wvline"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#559_16">Wvline</A> (<A HREF="terminal_interface-curses__ads.htm#731_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#733_7">Line_Symbol</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#732_7">Line_Size</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Vertical_Line; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>function</b> <A HREF="terminal_interface-curses__ads.htm#744_13">Get_Keystroke</A><FONT COLOR=red><A NAME="572_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#744_28">Win</A> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#71_12">Real_Key_Code</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="575_16">Wgetch</A></FONT> (<FONT COLOR=red><A NAME="575_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#575_16">Wgetch</A>, "wgetch"); <FONT COLOR=red><A NAME="578_7">C</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#575_16">Wgetch</A> (<A HREF="terminal_interface-curses__ads.htm#744_28">Win</A>); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#578_7">C</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#86_4">Key_None</A>; <b>else</b> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#71_12">Real_Key_Code</A> (<A HREF="terminal_interface-curses__adb.htm#578_7">C</A>); <b>end</b> <b>if</b>; <b>end</b> Get_Keystroke; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#755_14">Undo_Keystroke</A><FONT COLOR=red><A NAME="587_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#755_30">Key</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#71_12">Real_Key_Code</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="589_16">Ungetch</A></FONT> (<FONT COLOR=red><A NAME="589_25">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#589_16">Ungetch</A>, "ungetch"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#589_16">Ungetch</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#755_30">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Undo_Keystroke; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#760_13">Has_Key</A><FONT COLOR=red><A NAME="597_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#760_22">Key</A> : <A HREF="terminal_interface-curses__ads.htm#76_12">Special_Key_Code</A>) <b>return</b> Boolean <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="599_16">Haskey</A></FONT> (<FONT COLOR=red><A NAME="599_24">Key</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#599_16">Haskey</A>, "has_key"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#599_16">Haskey</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#760_22">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#75_4">Curses_False</A> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; <b>end</b> Has_Key; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#767_13">Is_Function_Key</A><FONT COLOR=red><A NAME="609_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#767_30">Key</A> : <A HREF="terminal_interface-curses__ads.htm#76_12">Special_Key_Code</A>) <b>return</b> Boolean <b>is</b> <FONT COLOR=red><A NAME="611_7">L</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#76_12">Special_Key_Code</A> := <A HREF="terminal_interface-curses__ads.htm#76_12">Special_Key_Code</A> (Natural (<A HREF="terminal_interface-curses__ads.htm#96_4">Key_F0</A>) + Natural (<A HREF="terminal_interface-curses__ads.htm#771_12">Function_Key_Number</A>'Last)); <b>begin</b> <b>if</b> (<A HREF="terminal_interface-curses__ads.htm#767_30">Key</A> >= <A HREF="terminal_interface-curses__ads.htm#96_4">Key_F0</A>) <b>and</b> <b>then</b> (<A HREF="terminal_interface-curses__ads.htm#767_30">Key</A> <= <A HREF="terminal_interface-curses__adb.htm#611_7">L</A>) <b>then</b> <b>return</b> True; <b>else</b> <b>return</b> False; <b>end</b> <b>if</b>; <b>end</b> Is_Function_Key; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#774_13">Function_Key</A><FONT COLOR=red><A NAME="621_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#774_27">Key</A> : <A HREF="terminal_interface-curses__ads.htm#71_12">Real_Key_Code</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#771_12">Function_Key_Number</A> <b>is</b> <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__ads.htm#767_13">Is_Function_Key</A> (<A HREF="terminal_interface-curses__ads.htm#774_27">Key</A>) <b>then</b> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#771_12">Function_Key_Number</A> (<A HREF="terminal_interface-curses__ads.htm#774_27">Key</A> - <A HREF="terminal_interface-curses__ads.htm#96_4">Key_F0</A>); <b>else</b> <b>raise</b> Constraint_Error; <b>end</b> <b>if</b>; <b>end</b> Function_Key; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#779_13">Function_Key_Code</A><FONT COLOR=red><A NAME="632_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#779_32">Key</A> : <A HREF="terminal_interface-curses__ads.htm#771_12">Function_Key_Number</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#71_12">Real_Key_Code</A> <b>is</b> <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#71_12">Real_Key_Code</A> (Natural (<A HREF="terminal_interface-curses__ads.htm#96_4">Key_F0</A>) + Natural (<A HREF="terminal_interface-curses__ads.htm#779_32">Key</A>)); <b>end</b> Function_Key_Code; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#793_14">Standout</A><FONT COLOR=red><A NAME="638_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#793_24">Win</A> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#794_24">On</A> : Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="641_16">wstandout</A></FONT> (<FONT COLOR=red><A NAME="641_27">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#641_16">wstandout</A>, "wstandout"); <b>function</b> <FONT COLOR=red><A NAME="643_16">wstandend</A></FONT> (<FONT COLOR=red><A NAME="643_27">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#643_16">wstandend</A>, "wstandend"); <FONT COLOR=red><A NAME="646_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__ads.htm#794_24">On</A> <b>then</b> <A HREF="terminal_interface-curses__adb.htm#646_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#641_16">wstandout</A> (<A HREF="terminal_interface-curses__ads.htm#793_24">Win</A>); <b>else</b> <A HREF="terminal_interface-curses__adb.htm#646_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#643_16">wstandend</A> (<A HREF="terminal_interface-curses__ads.htm#793_24">Win</A>); <b>end</b> <b>if</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#646_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Standout; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#799_14">Switch_Character_Attribute</A><FONT COLOR=red><A NAME="658_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#800_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#801_7">Attr</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#305_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#349_4">Normal_Video</A>; <A HREF="terminal_interface-curses__ads.htm#802_7">On</A> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="663_16">Wattron</A></FONT> (<FONT COLOR=red><A NAME="663_25">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="664_25">C_Attr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_AttrType</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#663_16">Wattron</A>, "wattr_on"); <b>function</b> <FONT COLOR=red><A NAME="666_16">Wattroff</A></FONT> (<FONT COLOR=red><A NAME="666_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="667_26">C_Attr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_AttrType</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#666_16">Wattroff</A>, "wattr_off"); <FONT COLOR=green><EM>-- In Ada we use the On Boolean to control whether or not we want to</EM></FONT> <FONT COLOR=green><EM>-- switch on or off the attributes in the set.</EM></FONT> <FONT COLOR=red><A NAME="671_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="672_7">AC</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := (Ch => Character'First, Color => <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>'First, Attr => <A HREF="terminal_interface-curses__ads.htm#801_7">Attr</A>); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__ads.htm#802_7">On</A> <b>then</b> <A HREF="terminal_interface-curses__adb.htm#671_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#663_16">Wattron</A> (<A HREF="terminal_interface-curses__ads.htm#800_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#108_13">AttrChar_To_AttrType</A> (<A HREF="terminal_interface-curses__adb.htm#672_7">AC</A>)); <b>else</b> <A HREF="terminal_interface-curses__adb.htm#671_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#666_16">Wattroff</A> (<A HREF="terminal_interface-curses__ads.htm#800_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#108_13">AttrChar_To_AttrType</A> (<A HREF="terminal_interface-curses__adb.htm#672_7">AC</A>)); <b>end</b> <b>if</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#671_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Switch_Character_Attribute; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#810_14">Set_Character_Attributes</A><FONT COLOR=red><A NAME="686_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#811_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#812_7">Attr</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#305_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#349_4">Normal_Video</A>; <A HREF="terminal_interface-curses__ads.htm#813_7">Color</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>'First) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="691_16">Wattrset</A></FONT> (<FONT COLOR=red><A NAME="691_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="692_26">C_Attr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_AttrType</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#691_16">Wattrset</A>, "wattrset"); <FONT COLOR=green><EM>-- ??? wattr_set</EM></FONT> <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#691_16">Wattrset</A> (<A HREF="terminal_interface-curses__ads.htm#811_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#108_13">AttrChar_To_AttrType</A> (<A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>' (Ch => Character'First, Color => <A HREF="terminal_interface-curses__ads.htm#813_7">Color</A>, Attr => <A HREF="terminal_interface-curses__ads.htm#812_7">Attr</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Set_Character_Attributes; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#819_13">Get_Character_Attribute</A><FONT COLOR=red><A NAME="704_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#820_7">Win</A> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#305_9">Character_Attribute_Set</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="707_16">Wattrget</A></FONT> (<FONT COLOR=red><A NAME="707_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; Atr : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_AttrType</A>; Col : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>; <FONT COLOR=red><A NAME="710_26">Opt</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#707_16">Wattrget</A>, "wattr_get"); <FONT COLOR=red><A NAME="713_7">Attr</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_AttrType</A>; <FONT COLOR=red><A NAME="714_7">Col</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>; <FONT COLOR=red><A NAME="715_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#707_16">Wattrget</A> (<A HREF="terminal_interface-curses__ads.htm#820_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#713_7">Attr</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#714_7">Col</A>'<b>Access</b>, System.Null_Address); <FONT COLOR=red><A NAME="717_7">Ch</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#715_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#71_4">Curses_Ok</A> <b>then</b> <A HREF="terminal_interface-curses__adb.htm#717_7">Ch</A> := <A HREF="terminal_interface-curses-aux__ads.htm#112_13">AttrType_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#713_7">Attr</A>); <b>return</b> <A HREF="terminal_interface-curses__adb.htm#717_7">Ch</A>.<A HREF="terminal_interface-curses__ads.htm#353_10">Attr</A>; <b>else</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Get_Character_Attribute; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#825_13">Get_Character_Attribute</A><FONT COLOR=red><A NAME="727_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#826_7">Win</A> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="730_16">Wattrget</A></FONT> (<FONT COLOR=red><A NAME="730_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; Atr : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_AttrType</A>; Col : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>; <FONT COLOR=red><A NAME="733_26">Opt</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#730_16">Wattrget</A>, "wattr_get"); <FONT COLOR=red><A NAME="736_7">Attr</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_AttrType</A>; <FONT COLOR=red><A NAME="737_7">Col</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>; <FONT COLOR=red><A NAME="738_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#730_16">Wattrget</A> (<A HREF="terminal_interface-curses__ads.htm#826_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#736_7">Attr</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#737_7">Col</A>'<b>Access</b>, System.Null_Address); <FONT COLOR=red><A NAME="740_7">Ch</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#738_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#71_4">Curses_Ok</A> <b>then</b> <A HREF="terminal_interface-curses__adb.htm#740_7">Ch</A> := <A HREF="terminal_interface-curses-aux__ads.htm#112_13">AttrType_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#736_7">Attr</A>); <b>return</b> <A HREF="terminal_interface-curses__adb.htm#740_7">Ch</A>.<A HREF="terminal_interface-curses__ads.htm#354_10">Color</A>; <b>else</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Get_Character_Attribute; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#831_14">Set_Color</A><FONT COLOR=red><A NAME="750_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#831_25">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#832_25">Pair</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="753_16">Wset_Color</A></FONT> (<FONT COLOR=red><A NAME="753_28">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="754_28">Color</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>; <FONT COLOR=red><A NAME="755_28">Opts</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#62_12">C_Void_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#753_16">Wset_Color</A>, "wcolor_set"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#753_16">Wset_Color</A> (<A HREF="terminal_interface-curses__ads.htm#831_25">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#832_25">Pair</A>), <A HREF="terminal_interface-curses-aux__ads.htm#62_12">C_Void_Ptr</A> (System.Null_Address)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Set_Color; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#838_14">Change_Attributes</A><FONT COLOR=red><A NAME="765_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#839_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#840_7">Count</A> : <b>in</b> Integer := -1; <A HREF="terminal_interface-curses__ads.htm#841_7">Attr</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#305_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#349_4">Normal_Video</A>; <A HREF="terminal_interface-curses__ads.htm#842_7">Color</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>'First) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="771_16">Wchgat</A></FONT> (<FONT COLOR=red><A NAME="771_24">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="772_24">Cnt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="773_24">Attr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#64_12">C_AttrType</A>; <FONT COLOR=red><A NAME="774_24">Color</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>; <FONT COLOR=red><A NAME="775_24">Opts</A></FONT> : System.Address := System.Null_Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#771_16">Wchgat</A>, "wchgat"); <FONT COLOR=red><A NAME="779_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := (Ch => Character'First, Color => <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>'First, Attr => <A HREF="terminal_interface-curses__ads.htm#841_7">Attr</A>); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#771_16">Wchgat</A> (<A HREF="terminal_interface-curses__ads.htm#839_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#840_7">Count</A>), <A HREF="terminal_interface-curses-aux__ads.htm#108_13">AttrChar_To_AttrType</A> (<A HREF="terminal_interface-curses__adb.htm#779_7">Ch</A>), <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#842_7">Color</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Change_Attributes; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#847_14">Change_Attributes</A><FONT COLOR=red><A NAME="788_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#848_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#849_7">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A> := <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>'First; <A HREF="terminal_interface-curses__ads.htm#850_7">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A> := <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>'First; <A HREF="terminal_interface-curses__ads.htm#851_7">Count</A> : <b>in</b> Integer := -1; <A HREF="terminal_interface-curses__ads.htm#852_7">Attr</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#305_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#349_4">Normal_Video</A>; <A HREF="terminal_interface-curses__ads.htm#853_7">Color</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>'First) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#504_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#848_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#849_7">Line</A>, <A HREF="terminal_interface-curses__ads.htm#850_7">Column</A>); <A HREF="terminal_interface-curses__ads.htm#847_14">Change_Attributes</A> (<A HREF="terminal_interface-curses__ads.htm#848_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#851_7">Count</A>, <A HREF="terminal_interface-curses__ads.htm#852_7">Attr</A>, <A HREF="terminal_interface-curses__ads.htm#853_7">Color</A>); <b>end</b> Change_Attributes; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#863_14">Beep</A><FONT COLOR=red><A NAME="801_14"></A></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="803_16">Beeper</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#803_16">Beeper</A>, "beep"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#803_16">Beeper</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Beep; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#868_14">Flash_Screen</A><FONT COLOR=red><A NAME="811_14"></A></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="813_16">Flash</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#813_16">Flash</A>, "flash"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#813_16">Flash</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Flash_Screen; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#879_14">Set_Cbreak_Mode</A><FONT COLOR=red><A NAME="821_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#879_31">SwitchOn</A> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="823_16">Cbreak</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#823_16">Cbreak</A>, "cbreak"); <b>function</b> <FONT COLOR=red><A NAME="825_16">NoCbreak</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#825_16">NoCbreak</A>, "nocbreak"); <FONT COLOR=red><A NAME="828_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__ads.htm#879_31">SwitchOn</A> <b>then</b> <A HREF="terminal_interface-curses__adb.htm#828_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#823_16">Cbreak</A>; <b>else</b> <A HREF="terminal_interface-curses__adb.htm#828_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#825_16">NoCbreak</A>; <b>end</b> <b>if</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#828_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Set_Cbreak_Mode; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#885_14">Set_Raw_Mode</A><FONT COLOR=red><A NAME="840_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#885_28">SwitchOn</A> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="842_16">Raw</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#842_16">Raw</A>, "raw"); <b>function</b> <FONT COLOR=red><A NAME="844_16">NoRaw</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#844_16">NoRaw</A>, "noraw"); <FONT COLOR=red><A NAME="847_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__ads.htm#885_28">SwitchOn</A> <b>then</b> <A HREF="terminal_interface-curses__adb.htm#847_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#842_16">Raw</A>; <b>else</b> <A HREF="terminal_interface-curses__adb.htm#847_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#844_16">NoRaw</A>; <b>end</b> <b>if</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#847_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Set_Raw_Mode; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#891_14">Set_Echo_Mode</A><FONT COLOR=red><A NAME="859_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#891_29">SwitchOn</A> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="861_16">Echo</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#861_16">Echo</A>, "echo"); <b>function</b> <FONT COLOR=red><A NAME="863_16">NoEcho</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#863_16">NoEcho</A>, "noecho"); <FONT COLOR=red><A NAME="866_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__ads.htm#891_29">SwitchOn</A> <b>then</b> <A HREF="terminal_interface-curses__adb.htm#866_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#861_16">Echo</A>; <b>else</b> <A HREF="terminal_interface-curses__adb.htm#866_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#863_16">NoEcho</A>; <b>end</b> <b>if</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#866_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Set_Echo_Mode; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#897_14">Set_Meta_Mode</A><FONT COLOR=red><A NAME="878_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#897_29">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#898_29">SwitchOn</A> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="881_16">Meta</A></FONT> (<FONT COLOR=red><A NAME="881_22">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="881_34">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#881_16">Meta</A>, "meta"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#881_16">Meta</A> (<A HREF="terminal_interface-curses__ads.htm#897_29">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#898_29">SwitchOn</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Set_Meta_Mode; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#903_14">Set_KeyPad_Mode</A><FONT COLOR=red><A NAME="889_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#903_31">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#904_31">SwitchOn</A> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="892_16">Keypad</A></FONT> (<FONT COLOR=red><A NAME="892_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="892_36">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#892_16">Keypad</A>, "keypad"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#892_16">Keypad</A> (<A HREF="terminal_interface-curses__ads.htm#903_31">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#904_31">SwitchOn</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Set_KeyPad_Mode; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#908_13">Get_KeyPad_Mode</A><FONT COLOR=red><A NAME="900_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#908_30">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>) <b>return</b> Boolean <b>is</b> <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses__adb.htm#92_13">Get_Flag</A> (<A HREF="terminal_interface-curses__ads.htm#908_30">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1926_4">Offset_use_keypad</A>); <b>end</b> Get_KeyPad_Mode; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#916_14">Half_Delay</A><FONT COLOR=red><A NAME="907_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#916_26">Amount</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#913_9">Half_Delay_Amount</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="909_16">Halfdelay</A></FONT> (<FONT COLOR=red><A NAME="909_27">Amount</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#909_16">Halfdelay</A>, "halfdelay"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#909_16">Halfdelay</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#916_26">Amount</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Half_Delay; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#921_14">Set_Flush_On_Interrupt_Mode</A><FONT COLOR=red><A NAME="917_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#922_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#923_7">Mode</A> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="921_16">Intrflush</A></FONT> (<FONT COLOR=red><A NAME="921_27">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="921_41">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#921_16">Intrflush</A>, "intrflush"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#921_16">Intrflush</A> (<A HREF="terminal_interface-curses__ads.htm#922_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#923_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Set_Flush_On_Interrupt_Mode; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#928_14">Set_Queue_Interrupt_Mode</A><FONT COLOR=red><A NAME="929_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#929_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#930_7">Flush</A> : <b>in</b> Boolean := True) <b>is</b> <b>procedure</b> <FONT COLOR=red><A NAME="933_17">Qiflush</A></FONT>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#933_17">Qiflush</A>, "qiflush"); <b>procedure</b> <FONT COLOR=red><A NAME="935_17">No_Qiflush</A></FONT>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#935_17">No_Qiflush</A>, "noqiflush"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__ads.htm#930_7">Flush</A> <b>then</b> <A HREF="terminal_interface-curses__adb.htm#933_17">Qiflush</A>; <b>else</b> <A HREF="terminal_interface-curses__adb.htm#935_17">No_Qiflush</A>; <b>end</b> <b>if</b>; <b>end</b> Set_Queue_Interrupt_Mode; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#936_14">Set_NoDelay_Mode</A><FONT COLOR=red><A NAME="945_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#937_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#938_7">Mode</A> : <b>in</b> Boolean := False) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="949_16">Nodelay</A></FONT> (<FONT COLOR=red><A NAME="949_25">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="949_39">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#949_16">Nodelay</A>, "nodelay"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#949_16">Nodelay</A> (<A HREF="terminal_interface-curses__ads.htm#937_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#938_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Set_NoDelay_Mode; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#945_14">Set_Timeout_Mode</A><FONT COLOR=red><A NAME="957_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#945_32">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#946_32">Mode</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#942_9">Timeout_Mode</A>; <A HREF="terminal_interface-curses__ads.htm#947_32">Amount</A> : <b>in</b> Natural) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="961_16">Wtimeout</A></FONT> (<FONT COLOR=red><A NAME="961_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="961_40">Amount</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#961_16">Wtimeout</A>, "wtimeout"); <FONT COLOR=red><A NAME="964_7">Time</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>begin</b> <b>case</b> <A HREF="terminal_interface-curses__ads.htm#946_32">Mode</A> <b>is</b> <b>when</b> <A HREF="terminal_interface-curses__ads.htm#942_26">Blocking</A> => <A HREF="terminal_interface-curses__adb.htm#964_7">Time</A> := -1; <b>when</b> <A HREF="terminal_interface-curses__ads.htm#942_36">Non_Blocking</A> => <A HREF="terminal_interface-curses__adb.htm#964_7">Time</A> := 0; <b>when</b> <A HREF="terminal_interface-curses__ads.htm#942_50">Delayed</A> => <b>if</b> <A HREF="terminal_interface-curses__ads.htm#947_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#964_7">Time</A> := <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#947_32">Amount</A>); <b>end</b> <b>case</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#961_16">Wtimeout</A> (<A HREF="terminal_interface-curses__ads.htm#945_32">Win</A>, <A HREF="terminal_interface-curses__adb.htm#964_7">Time</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Set_Timeout_Mode; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#957_14">Set_Escape_Timer_Mode</A><FONT COLOR=red><A NAME="980_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#958_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#959_7">Timer_Off</A> : <b>in</b> Boolean := False) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="984_16">Notimeout</A></FONT> (<FONT COLOR=red><A NAME="984_27">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="984_41">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#984_16">Notimeout</A>, "notimeout"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#984_16">Notimeout</A> (<A HREF="terminal_interface-curses__ads.htm#958_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#959_7">Timer_Off</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Set_Escape_Timer_Mode; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#968_14">Set_NL_Mode</A><FONT COLOR=red><A NAME="994_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#968_27">SwitchOn</A> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="996_16">NL</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#996_16">NL</A>, "nl"); <b>function</b> <FONT COLOR=red><A NAME="998_16">NoNL</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#998_16">NoNL</A>, "nonl"); <FONT COLOR=red><A NAME="1001_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__ads.htm#968_27">SwitchOn</A> <b>then</b> <A HREF="terminal_interface-curses__adb.htm#1001_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#996_16">NL</A>; <b>else</b> <A HREF="terminal_interface-curses__adb.htm#1001_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#998_16">NoNL</A>; <b>end</b> <b>if</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1001_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Set_NL_Mode; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#974_14">Clear_On_Next_Update</A><FONT COLOR=red><A NAME="1013_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#975_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#976_7">Do_Clear</A> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1017_16">Clear_Ok</A></FONT> (<FONT COLOR=red><A NAME="1017_26">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1017_38">Flag</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1017_16">Clear_Ok</A>, "clearok"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1017_16">Clear_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#975_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#976_7">Do_Clear</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Clear_On_Next_Update; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#981_14">Use_Insert_Delete_Line</A><FONT COLOR=red><A NAME="1025_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#982_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#983_7">Do_Idl</A> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1029_16">IDL_Ok</A></FONT> (<FONT COLOR=red><A NAME="1029_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1029_36">Flag</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1029_16">IDL_Ok</A>, "idlok"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1029_16">IDL_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#982_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#983_7">Do_Idl</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Use_Insert_Delete_Line; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#988_14">Use_Insert_Delete_Character</A><FONT COLOR=red><A NAME="1037_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#989_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#990_7">Do_Idc</A> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1041_16">IDC_Ok</A></FONT> (<FONT COLOR=red><A NAME="1041_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1041_36">Flag</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1041_16">IDC_Ok</A>, "idcok"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1041_16">IDC_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#989_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#990_7">Do_Idc</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Use_Insert_Delete_Character; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#995_14">Leave_Cursor_After_Update</A><FONT COLOR=red><A NAME="1049_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#996_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#997_7">Do_Leave</A> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1053_16">Leave_Ok</A></FONT> (<FONT COLOR=red><A NAME="1053_26">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1053_38">Flag</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1053_16">Leave_Ok</A>, "leaveok"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1053_16">Leave_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#996_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#997_7">Do_Leave</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Leave_Cursor_After_Update; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1002_14">Immediate_Update_Mode</A><FONT COLOR=red><A NAME="1061_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1003_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#1004_7">Mode</A> : <b>in</b> Boolean := False) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1065_16">Immedok</A></FONT> (<FONT COLOR=red><A NAME="1065_25">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1065_39">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1065_16">Immedok</A>, "immedok"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1065_16">Immedok</A> (<A HREF="terminal_interface-curses__ads.htm#1003_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#1004_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Immediate_Update_Mode; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1009_14">Allow_Scrolling</A><FONT COLOR=red><A NAME="1073_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1010_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#1011_7">Mode</A> : <b>in</b> Boolean := False) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1077_16">Scrollok</A></FONT> (<FONT COLOR=red><A NAME="1077_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1077_40">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1077_16">Scrollok</A>, "scrollok"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1077_16">Scrollok</A> (<A HREF="terminal_interface-curses__ads.htm#1010_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#1011_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Allow_Scrolling; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1015_13">Scrolling_Allowed</A><FONT COLOR=red><A NAME="1085_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1015_32">Win</A> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>) <b>return</b> Boolean <b>is</b> <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses__adb.htm#92_13">Get_Flag</A> (<A HREF="terminal_interface-curses__ads.htm#1015_32">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1921_4">Offset_scroll</A>); <b>end</b> Scrolling_Allowed; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1020_14">Set_Scroll_Region</A><FONT COLOR=red><A NAME="1092_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1021_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#1022_7">Top_Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1023_7">Bottom_Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1097_16">Wsetscrreg</A></FONT> (<FONT COLOR=red><A NAME="1097_28">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1098_28">Lin</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1099_28">Col</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1097_16">Wsetscrreg</A>, "wsetscrreg"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1097_16">Wsetscrreg</A> (<A HREF="terminal_interface-curses__ads.htm#1021_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1022_7">Top_Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1023_7">Bottom_Line</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Set_Scroll_Region; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1033_14">Update_Screen</A><FONT COLOR=red><A NAME="1108_14"></A></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1110_16">Do_Update</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1110_16">Do_Update</A>, "doupdate"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1110_16">Do_Update</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Update_Screen; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1038_14">Refresh</A><FONT COLOR=red><A NAME="1118_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1038_23">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1120_16">Wrefresh</A></FONT> (<FONT COLOR=red><A NAME="1120_26">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1120_16">Wrefresh</A>, "wrefresh"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1120_16">Wrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#1038_23">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Refresh; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1045_14">Refresh_Without_Update</A><FONT COLOR=red><A NAME="1128_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1046_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1131_16">Wnoutrefresh</A></FONT> (<FONT COLOR=red><A NAME="1131_30">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1131_16">Wnoutrefresh</A>, "wnoutrefresh"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1131_16">Wnoutrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#1046_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Refresh_Without_Update; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1052_14">Redraw</A><FONT COLOR=red><A NAME="1139_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1052_22">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1141_16">Redrawwin</A></FONT> (<FONT COLOR=red><A NAME="1141_27">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1141_16">Redrawwin</A>, "redrawwin"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1141_16">Redrawwin</A> (<A HREF="terminal_interface-curses__ads.htm#1052_22">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Redraw; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1056_14">Redraw</A><FONT COLOR=red><A NAME="1149_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1056_22">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#1057_22">Begin_Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1058_22">Line_Count</A> : <b>in</b> Positive) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1154_16">Wredrawln</A></FONT> (<FONT COLOR=red><A NAME="1154_27">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1154_41">First</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1154_56">Cnt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1154_16">Wredrawln</A>, "wredrawln"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1154_16">Wredrawln</A> (<A HREF="terminal_interface-curses__ads.htm#1056_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1057_22">Begin_Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1058_22">Line_Count</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Redraw; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1067_14">Erase</A><FONT COLOR=red><A NAME="1166_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1067_21">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1168_16">Werase</A></FONT> (<FONT COLOR=red><A NAME="1168_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1168_16">Werase</A>, "werase"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1168_16">Werase</A> (<A HREF="terminal_interface-curses__ads.htm#1067_21">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Erase; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1073_14">Clear</A><FONT COLOR=red><A NAME="1176_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1074_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1178_16">Wclear</A></FONT> (<FONT COLOR=red><A NAME="1178_24">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1178_16">Wclear</A>, "wclear"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1178_16">Wclear</A> (<A HREF="terminal_interface-curses__ads.htm#1074_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Clear; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1080_14">Clear_To_End_Of_Screen</A><FONT COLOR=red><A NAME="1186_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1081_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1188_16">Wclearbot</A></FONT> (<FONT COLOR=red><A NAME="1188_27">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1188_16">Wclearbot</A>, "wclrtobot"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1188_16">Wclearbot</A> (<A HREF="terminal_interface-curses__ads.htm#1081_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Clear_To_End_Of_Screen; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1087_14">Clear_To_End_Of_Line</A><FONT COLOR=red><A NAME="1196_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1088_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1198_16">Wcleareol</A></FONT> (<FONT COLOR=red><A NAME="1198_27">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1198_16">Wcleareol</A>, "wclrtoeol"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1198_16">Wcleareol</A> (<A HREF="terminal_interface-curses__ads.htm#1088_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Clear_To_End_Of_Line; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1101_14">Set_Background</A><FONT COLOR=red><A NAME="1206_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1102_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#1103_7">Ch</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>) <b>is</b> <b>procedure</b> <FONT COLOR=red><A NAME="1210_17">WBackground</A></FONT> (<FONT COLOR=red><A NAME="1210_30">W</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1210_45">Ch</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>); <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1210_17">WBackground</A>, "wbkgdset"); <b>begin</b> <A HREF="terminal_interface-curses__adb.htm#1210_17">WBackground</A> (<A HREF="terminal_interface-curses__ads.htm#1102_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#1103_7">Ch</A>)); <b>end</b> Set_Background; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1109_14">Change_Background</A><FONT COLOR=red><A NAME="1216_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1110_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#1111_7">Ch</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1220_16">WChangeBkgd</A></FONT> (<FONT COLOR=red><A NAME="1220_29">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1220_41">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1220_16">WChangeBkgd</A>, "wbkgd"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1220_16">WChangeBkgd</A> (<A HREF="terminal_interface-curses__ads.htm#1110_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#1111_7">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Change_Background; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1118_13">Get_Background</A><FONT COLOR=red><A NAME="1228_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1118_29">Win</A> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1231_16">Wgetbkgd</A></FONT> (<FONT COLOR=red><A NAME="1231_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1231_16">Wgetbkgd</A>, "getbkgd"); <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#1231_16">Wgetbkgd</A> (<A HREF="terminal_interface-curses__ads.htm#1118_29">Win</A>)); <b>end</b> Get_Background; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1145_14">Change_Lines_Status</A><FONT COLOR=red><A NAME="1237_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1145_35">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#1146_35">Start</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1147_35">Count</A> : <b>in</b> Positive; <A HREF="terminal_interface-curses__ads.htm#1148_35">State</A> : <b>in</b> Boolean) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1242_16">Wtouchln</A></FONT> (<FONT COLOR=red><A NAME="1242_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1243_26">Sta</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1244_26">Cnt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1245_26">Chg</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1242_16">Wtouchln</A>, "wtouchln"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1242_16">Wtouchln</A> (<A HREF="terminal_interface-curses__ads.htm#1145_35">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1146_35">Start</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1147_35">Count</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#1148_35">State</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Change_Lines_Status; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1134_14">Touch</A><FONT COLOR=red><A NAME="1254_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1134_21">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>) <b>is</b> <FONT COLOR=red><A NAME="1256_7">Y</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <FONT COLOR=red><A NAME="1257_7">X</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>; <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#1221_14">Get_Size</A> (<A HREF="terminal_interface-curses__ads.htm#1134_21">Win</A>, <A HREF="terminal_interface-curses__adb.htm#1256_7">Y</A>, <A HREF="terminal_interface-curses__adb.htm#1257_7">X</A>); <A HREF="terminal_interface-curses__ads.htm#1145_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#1134_21">Win</A>, 0, Positive (<A HREF="terminal_interface-curses__adb.htm#1256_7">Y</A>), True); <b>end</b> Touch; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1129_14">Untouch</A><FONT COLOR=red><A NAME="1263_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1129_23">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>) <b>is</b> <FONT COLOR=red><A NAME="1265_7">Y</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <FONT COLOR=red><A NAME="1266_7">X</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>; <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#1221_14">Get_Size</A> (<A HREF="terminal_interface-curses__ads.htm#1129_23">Win</A>, <A HREF="terminal_interface-curses__adb.htm#1265_7">Y</A>, <A HREF="terminal_interface-curses__adb.htm#1266_7">X</A>); <A HREF="terminal_interface-curses__ads.htm#1145_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#1129_23">Win</A>, 0, Positive (<A HREF="terminal_interface-curses__adb.htm#1265_7">Y</A>), False); <b>end</b> Untouch; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1138_14">Touch</A><FONT COLOR=red><A NAME="1272_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1138_21">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#1139_21">Start</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1140_21">Count</A> : <b>in</b> Positive) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#1145_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#1138_21">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1139_21">Start</A>, <A HREF="terminal_interface-curses__ads.htm#1140_21">Count</A>, True); <b>end</b> Touch; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1153_13">Is_Touched</A><FONT COLOR=red><A NAME="1280_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1153_25">Win</A> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#1154_25">Line</A> : <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>) <b>return</b> Boolean <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1284_16">WLineTouched</A></FONT> (<FONT COLOR=red><A NAME="1284_30">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1284_42">L</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1284_16">WLineTouched</A>, "is_linetouched"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1284_16">WLineTouched</A> (<A HREF="terminal_interface-curses__ads.htm#1153_25">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1154_25">Line</A>)) = <A HREF="terminal_interface-curses__ads.htm#1931_4">Curses_Bool_False</A> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; <b>end</b> Is_Touched; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1158_13">Is_Touched</A><FONT COLOR=red><A NAME="1294_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1158_25">Win</A> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>) <b>return</b> Boolean <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1297_16">WWinTouched</A></FONT> (<FONT COLOR=red><A NAME="1297_29">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1297_16">WWinTouched</A>, "is_wintouched"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1297_16">WWinTouched</A> (<A HREF="terminal_interface-curses__ads.htm#1158_25">Win</A>) = <A HREF="terminal_interface-curses__ads.htm#1931_4">Curses_Bool_False</A> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; <b>end</b> Is_Touched; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1167_14">Copy</A><FONT COLOR=red><A NAME="1307_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1168_7">Source_Window</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <A HREF="terminal_interface-curses__ads.htm#1169_7">Destination_Window</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <A HREF="terminal_interface-curses__ads.htm#1170_7">Source_Top_Row</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1171_7">Source_Left_Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1172_7">Destination_Top_Row</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1173_7">Destination_Left_Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1174_7">Destination_Bottom_Row</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1175_7">Destination_Right_Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1176_7">Non_Destructive_Mode</A> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1318_16">Copywin</A></FONT> (<FONT COLOR=red><A NAME="1318_25">Src</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1319_25">Dst</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1320_25">Str</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1321_25">Slc</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1322_25">Dtr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1323_25">Dlc</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1324_25">Dbr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1325_25">Drc</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1326_25">Ndm</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1318_16">Copywin</A>, "copywin"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1318_16">Copywin</A> (<A HREF="terminal_interface-curses__ads.htm#1168_7">Source_Window</A>, <A HREF="terminal_interface-curses__ads.htm#1169_7">Destination_Window</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1170_7">Source_Top_Row</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1171_7">Source_Left_Column</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1172_7">Destination_Top_Row</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1173_7">Destination_Left_Column</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1174_7">Destination_Bottom_Row</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1175_7">Destination_Right_Column</A>), Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#1176_7">Non_Destructive_Mode</A>) ) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Copy; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1181_14">Overwrite</A><FONT COLOR=red><A NAME="1343_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1181_25">Source_Window</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <A HREF="terminal_interface-curses__ads.htm#1182_25">Destination_Window</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1347_16">Overwrite</A></FONT> (<FONT COLOR=red><A NAME="1347_27">Src</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1347_41">Dst</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1347_16">Overwrite</A>, "overwrite"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1347_16">Overwrite</A> (<A HREF="terminal_interface-curses__ads.htm#1181_25">Source_Window</A>, <A HREF="terminal_interface-curses__ads.htm#1182_25">Destination_Window</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Overwrite; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1187_14">Overlay</A><FONT COLOR=red><A NAME="1355_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1187_23">Source_Window</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <A HREF="terminal_interface-curses__ads.htm#1188_23">Destination_Window</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1359_16">Overlay</A></FONT> (<FONT COLOR=red><A NAME="1359_25">Src</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1359_39">Dst</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1359_16">Overlay</A>, "overlay"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1359_16">Overlay</A> (<A HREF="terminal_interface-curses__ads.htm#1187_23">Source_Window</A>, <A HREF="terminal_interface-curses__ads.htm#1188_23">Destination_Window</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Overlay; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1197_14">Insert_Delete_Lines</A><FONT COLOR=red><A NAME="1368_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1198_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#1199_7">Lines</A> : <b>in</b> Integer := 1) <FONT COLOR=green><EM>-- default is to insert one line above</EM></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1372_16">Winsdelln</A></FONT> (<FONT COLOR=red><A NAME="1372_27">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1372_39">N</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1372_16">Winsdelln</A>, "winsdelln"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1372_16">Winsdelln</A> (<A HREF="terminal_interface-curses__ads.htm#1198_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1199_7">Lines</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Insert_Delete_Lines; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1205_14">Delete_Line</A><FONT COLOR=red><A NAME="1380_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1205_27">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#1197_14">Insert_Delete_Lines</A> (<A HREF="terminal_interface-curses__ads.htm#1205_27">Win</A>, -1); <b>end</b> Delete_Line; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1211_14">Insert_Line</A><FONT COLOR=red><A NAME="1386_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1211_27">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#1197_14">Insert_Delete_Lines</A> (<A HREF="terminal_interface-curses__ads.htm#1211_27">Win</A>, 1); <b>end</b> Insert_Line; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1221_14">Get_Size</A><FONT COLOR=red><A NAME="1394_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1222_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#1223_7">Number_Of_Lines</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A>; <A HREF="terminal_interface-curses__ads.htm#1224_7">Number_Of_Columns</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A>) <b>is</b> <FONT COLOR=green><EM>-- Please note: in ncurses they are one off.</EM></FONT> <FONT COLOR=green><EM>-- This might be different in other implementations of curses</EM></FONT> <FONT COLOR=red><A NAME="1401_7">Y</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#89_13">W_Get_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1222_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1909_4">Offset_maxy</A>)) + <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1928_4">Offset_XY</A>); <FONT COLOR=red><A NAME="1402_7">X</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#89_13">W_Get_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1222_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1910_4">Offset_maxx</A>)) + <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1928_4">Offset_XY</A>); <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#1223_7">Number_Of_Lines</A> := <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A> (<A HREF="terminal_interface-curses__adb.htm#1401_7">Y</A>); <A HREF="terminal_interface-curses__ads.htm#1224_7">Number_Of_Columns</A> := <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A> (<A HREF="terminal_interface-curses__adb.htm#1402_7">X</A>); <b>end</b> Get_Size; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1229_14">Get_Window_Position</A><FONT COLOR=red><A NAME="1408_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1230_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#1231_7">Top_Left_Line</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1232_7">Top_Left_Column</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>) <b>is</b> <FONT COLOR=red><A NAME="1413_7">Y</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> := <A HREF="terminal_interface-curses__adb.htm#89_13">W_Get_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1230_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1911_4">Offset_begy</A>); <FONT COLOR=red><A NAME="1414_7">X</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> := <A HREF="terminal_interface-curses__adb.htm#89_13">W_Get_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1230_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1912_4">Offset_begx</A>); <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#1231_7">Top_Left_Line</A> := <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#1413_7">Y</A>); <A HREF="terminal_interface-curses__ads.htm#1232_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#1414_7">X</A>); <b>end</b> Get_Window_Position; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1237_14">Get_Cursor_Position</A><FONT COLOR=red><A NAME="1420_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1238_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#1239_7">Line</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1240_7">Column</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>) <b>is</b> <FONT COLOR=red><A NAME="1425_7">Y</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> := <A HREF="terminal_interface-curses__adb.htm#89_13">W_Get_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1238_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1913_4">Offset_cury</A>); <FONT COLOR=red><A NAME="1426_7">X</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> := <A HREF="terminal_interface-curses__adb.htm#89_13">W_Get_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1238_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1914_4">Offset_curx</A>); <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#1239_7">Line</A> := <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#1425_7">Y</A>); <A HREF="terminal_interface-curses__ads.htm#1240_7">Column</A> := <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#1426_7">X</A>); <b>end</b> Get_Cursor_Position; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1245_14">Get_Origin_Relative_To_Parent</A><FONT COLOR=red><A NAME="1432_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1246_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <A HREF="terminal_interface-curses__ads.htm#1247_7">Top_Left_Line</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1248_7">Top_Left_Column</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1249_7">Is_Not_A_Subwindow</A> : <b>out</b> Boolean) <b>is</b> <FONT COLOR=red><A NAME="1438_7">Y</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#88_13">W_Get_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1246_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1916_4">Offset_pary</A>); <FONT COLOR=red><A NAME="1439_7">X</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#88_13">W_Get_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1246_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1917_4">Offset_parx</A>); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1438_7">Y</A> = -1 <b>then</b> <A HREF="terminal_interface-curses__ads.htm#1247_7">Top_Left_Line</A> := <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>'Last; <A HREF="terminal_interface-curses__ads.htm#1248_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>'Last; <A HREF="terminal_interface-curses__ads.htm#1249_7">Is_Not_A_Subwindow</A> := True; <b>else</b> <A HREF="terminal_interface-curses__ads.htm#1247_7">Top_Left_Line</A> := <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#1438_7">Y</A>); <A HREF="terminal_interface-curses__ads.htm#1248_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#1439_7">X</A>); <A HREF="terminal_interface-curses__ads.htm#1249_7">Is_Not_A_Subwindow</A> := False; <b>end</b> <b>if</b>; <b>end</b> Get_Origin_Relative_To_Parent; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1260_13">New_Pad</A><FONT COLOR=red><A NAME="1452_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1260_22">Lines</A> : <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A>; <A HREF="terminal_interface-curses__ads.htm#1261_22">Columns</A> : <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1455_16">Newpad</A></FONT> (<FONT COLOR=red><A NAME="1455_24">Lines</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1455_39">Columns</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1455_16">Newpad</A>, "newpad"); <FONT COLOR=red><A NAME="1458_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <b>begin</b> <A HREF="terminal_interface-curses__adb.htm#1458_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#1455_16">Newpad</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1260_22">Lines</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1261_22">Columns</A>)); <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1458_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#57_4">Null_Window</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>return</b> <A HREF="terminal_interface-curses__adb.htm#1458_7">W</A>; <b>end</b> New_Pad; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1266_13">Sub_Pad</A><FONT COLOR=red><A NAME="1467_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1267_7">Pad</A> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <A HREF="terminal_interface-curses__ads.htm#1268_7">Number_Of_Lines</A> : <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A>; <A HREF="terminal_interface-curses__ads.htm#1269_7">Number_Of_Columns</A> : <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A>; <A HREF="terminal_interface-curses__ads.htm#1270_7">First_Line_Position</A> : <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1271_7">First_Column_Position</A> : <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1474_16">Subpad</A></FONT> (<FONT COLOR=red><A NAME="1475_10">Pad</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1476_10">Number_Of_Lines</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1477_10">Number_Of_Columns</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1478_10">First_Line_Position</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1479_10">First_Column_Position</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1474_16">Subpad</A>, "subpad"); <FONT COLOR=red><A NAME="1482_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <b>begin</b> <A HREF="terminal_interface-curses__adb.htm#1482_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#1474_16">Subpad</A> (<A HREF="terminal_interface-curses__ads.htm#1267_7">Pad</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1268_7">Number_Of_Lines</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1269_7">Number_Of_Columns</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1270_7">First_Line_Position</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1271_7">First_Column_Position</A>)); <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1482_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#57_4">Null_Window</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>return</b> <A HREF="terminal_interface-curses__adb.htm#1482_7">W</A>; <b>end</b> Sub_Pad; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1276_14">Refresh</A><FONT COLOR=red><A NAME="1495_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1277_7">Pad</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <A HREF="terminal_interface-curses__ads.htm#1278_7">Source_Top_Row</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1279_7">Source_Left_Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1280_7">Destination_Top_Row</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1281_7">Destination_Left_Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1282_7">Destination_Bottom_Row</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1283_7">Destination_Right_Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1504_16">Prefresh</A></FONT> (<FONT COLOR=red><A NAME="1505_10">Pad</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1506_10">Source_Top_Row</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1507_10">Source_Left_Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1508_10">Destination_Top_Row</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1509_10">Destination_Left_Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1510_10">Destination_Bottom_Row</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1511_10">Destination_Right_Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1504_16">Prefresh</A>, "prefresh"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1504_16">Prefresh</A> (<A HREF="terminal_interface-curses__ads.htm#1277_7">Pad</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1278_7">Source_Top_Row</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1279_7">Source_Left_Column</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1280_7">Destination_Top_Row</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1281_7">Destination_Left_Column</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1282_7">Destination_Bottom_Row</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1283_7">Destination_Right_Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Refresh; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1288_14">Refresh_Without_Update</A><FONT COLOR=red><A NAME="1525_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1289_7">Pad</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <A HREF="terminal_interface-curses__ads.htm#1290_7">Source_Top_Row</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1291_7">Source_Left_Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1292_7">Destination_Top_Row</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1293_7">Destination_Left_Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1294_7">Destination_Bottom_Row</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1295_7">Destination_Right_Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1534_16">Pnoutrefresh</A></FONT> (<FONT COLOR=red><A NAME="1535_10">Pad</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1536_10">Source_Top_Row</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1537_10">Source_Left_Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1538_10">Destination_Top_Row</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1539_10">Destination_Left_Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1540_10">Destination_Bottom_Row</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1541_10">Destination_Right_Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1534_16">Pnoutrefresh</A>, "pnoutrefresh"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1534_16">Pnoutrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#1289_7">Pad</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1290_7">Source_Top_Row</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1291_7">Source_Left_Column</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1292_7">Destination_Top_Row</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1293_7">Destination_Left_Column</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1294_7">Destination_Bottom_Row</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1295_7">Destination_Right_Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Refresh_Without_Update; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1300_14">Add_Character_To_Pad_And_Echo_It</A><FONT COLOR=red><A NAME="1555_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1301_7">Pad</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <A HREF="terminal_interface-curses__ads.htm#1302_7">Ch</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1559_16">Pechochar</A></FONT> (<FONT COLOR=red><A NAME="1559_27">Pad</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1559_41">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1559_16">Pechochar</A>, "pechochar"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1559_16">Pechochar</A> (<A HREF="terminal_interface-curses__ads.htm#1301_7">Pad</A>, <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#1302_7">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Add_Character_To_Pad_And_Echo_It; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1305_14">Add_Character_To_Pad_And_Echo_It</A><FONT COLOR=red><A NAME="1568_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1306_7">Pad</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <A HREF="terminal_interface-curses__ads.htm#1307_7">Ch</A> : <b>in</b> Character) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#1305_14">Add_Character_To_Pad_And_Echo_It</A> (<A HREF="terminal_interface-curses__ads.htm#1306_7">Pad</A>, <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>'(Ch => <A HREF="terminal_interface-curses__ads.htm#1307_7">Ch</A>, Color => <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>'First, Attr => <A HREF="terminal_interface-curses__ads.htm#349_4">Normal_Video</A>)); <b>end</b> Add_Character_To_Pad_And_Echo_It; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1315_14">Scroll</A><FONT COLOR=red><A NAME="1580_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1315_22">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#1316_22">Amount</A> : <b>in</b> Integer := 1) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1583_16">Wscrl</A></FONT> (<FONT COLOR=red><A NAME="1583_23">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1583_37">N</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1583_16">Wscrl</A>, "wscrl"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1583_16">Wscrl</A> (<A HREF="terminal_interface-curses__ads.htm#1315_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1316_22">Amount</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Scroll; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1327_14">Delete_Character</A><FONT COLOR=red><A NAME="1593_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1327_32">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1595_16">Wdelch</A></FONT> (<FONT COLOR=red><A NAME="1595_24">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1595_16">Wdelch</A>, "wdelch"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1595_16">Wdelch</A> (<A HREF="terminal_interface-curses__ads.htm#1327_32">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Delete_Character; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1332_14">Delete_Character</A><FONT COLOR=red><A NAME="1603_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1333_7">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#1334_7">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1335_7">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1608_16">Mvwdelch</A></FONT> (<FONT COLOR=red><A NAME="1608_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1609_26">Lin</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1610_26">Col</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1608_16">Mvwdelch</A>, "mvwdelch"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1608_16">Mvwdelch</A> (<A HREF="terminal_interface-curses__ads.htm#1333_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1334_7">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1335_7">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Delete_Character; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1345_13">Peek</A><FONT COLOR=red><A NAME="1618_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1345_19">Win</A> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1621_16">Winch</A></FONT> (<FONT COLOR=red><A NAME="1621_23">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1621_16">Winch</A>, "winch"); <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#1621_16">Winch</A> (<A HREF="terminal_interface-curses__ads.htm#1345_19">Win</A>)); <b>end</b> Peek; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1351_13">Peek</A><FONT COLOR=red><A NAME="1627_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1352_7">Win</A> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#1353_7">Line</A> : <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1354_7">Column</A> : <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1632_16">Mvwinch</A></FONT> (<FONT COLOR=red><A NAME="1632_25">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1633_25">Lin</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1634_25">Col</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1632_16">Mvwinch</A>, "mvwinch"); <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#1632_16">Mvwinch</A> (<A HREF="terminal_interface-curses__ads.htm#1352_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1353_7">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1354_7">Column</A>))); <b>end</b> Peek; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1364_14">Insert</A><FONT COLOR=red><A NAME="1640_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1364_22">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#1365_22">Ch</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1643_16">Winsch</A></FONT> (<FONT COLOR=red><A NAME="1643_24">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1643_38">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1643_16">Winsch</A>, "winsch"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1643_16">Winsch</A> (<A HREF="terminal_interface-curses__ads.htm#1364_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#1365_22">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Insert; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1370_14">Insert</A><FONT COLOR=red><A NAME="1651_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1370_22">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#1371_22">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1372_22">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1373_22">Ch</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1657_16">Mvwinsch</A></FONT> (<FONT COLOR=red><A NAME="1657_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1658_26">Lin</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1659_26">Col</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1660_26">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1657_16">Mvwinsch</A>, "mvwinsch"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1657_16">Mvwinsch</A> (<A HREF="terminal_interface-curses__ads.htm#1370_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1371_22">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1372_22">Column</A>), <A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#1373_22">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Insert; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1382_14">Insert</A><FONT COLOR=red><A NAME="1671_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1382_22">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#1383_22">Str</A> : <b>in</b> String; <A HREF="terminal_interface-curses__ads.htm#1384_22">Len</A> : <b>in</b> Integer := -1) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1675_16">Winsnstr</A></FONT> (<FONT COLOR=red><A NAME="1675_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1676_26">Str</A></FONT> : char_array; <FONT COLOR=red><A NAME="1677_26">Len</A></FONT> : Integer := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1675_16">Winsnstr</A>, "winsnstr"); <FONT COLOR=red><A NAME="1680_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#1383_22">Str</A>'Length); <FONT COLOR=red><A NAME="1681_7">Length</A></FONT> : size_t; <b>begin</b> To_C (<A HREF="terminal_interface-curses__ads.htm#1383_22">Str</A>, <A HREF="terminal_interface-curses__adb.htm#1680_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#1681_7">Length</A>); <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1675_16">Winsnstr</A> (<A HREF="terminal_interface-curses__ads.htm#1382_22">Win</A>, <A HREF="terminal_interface-curses__adb.htm#1680_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#1384_22">Len</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Insert; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1391_14">Insert</A><FONT COLOR=red><A NAME="1689_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1391_22">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#1392_22">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1393_22">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1394_22">Str</A> : <b>in</b> String; <A HREF="terminal_interface-curses__ads.htm#1395_22">Len</A> : <b>in</b> Integer := -1) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1696_16">Mvwinsnstr</A></FONT> (<FONT COLOR=red><A NAME="1696_28">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1697_28">Line</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1698_28">Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1699_28">Str</A></FONT> : char_array; <FONT COLOR=red><A NAME="1700_28">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1696_16">Mvwinsnstr</A>, "mvwinsnstr"); <FONT COLOR=red><A NAME="1703_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#1394_22">Str</A>'Length); <FONT COLOR=red><A NAME="1704_7">Length</A></FONT> : size_t; <b>begin</b> To_C (<A HREF="terminal_interface-curses__ads.htm#1394_22">Str</A>, <A HREF="terminal_interface-curses__adb.htm#1703_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#1704_7">Length</A>); <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1696_16">Mvwinsnstr</A> (<A HREF="terminal_interface-curses__ads.htm#1391_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1392_22">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1393_22">Column</A>), <A HREF="terminal_interface-curses__adb.htm#1703_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1395_22">Len</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Insert; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1407_14">Peek</A><FONT COLOR=red><A NAME="1713_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1407_20">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#1408_20">Str</A> : <b>out</b> String; <A HREF="terminal_interface-curses__ads.htm#1409_20">Len</A> : <b>in</b> Integer := -1) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1717_16">Winnstr</A></FONT> (<FONT COLOR=red><A NAME="1717_25">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1718_25">Str</A></FONT> : char_array; <FONT COLOR=red><A NAME="1719_25">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1717_16">Winnstr</A>, "winnstr"); <FONT COLOR=red><A NAME="1722_7">N</A></FONT> : Integer := <A HREF="terminal_interface-curses__ads.htm#1409_20">Len</A>; <FONT COLOR=red><A NAME="1723_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#1408_20">Str</A>'Length); <FONT COLOR=red><A NAME="1724_7">Cnt</A></FONT> : Natural; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1722_7">N</A> < 0 <b>then</b> <A HREF="terminal_interface-curses__adb.htm#1722_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#1408_20">Str</A>'Length; <b>end</b> <b>if</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1722_7">N</A> > <A HREF="terminal_interface-curses__ads.htm#1408_20">Str</A>'Length <b>then</b> <b>raise</b> Constraint_Error; <b>end</b> <b>if</b>; <A HREF="terminal_interface-curses__adb.htm#1723_7">Txt</A> (0) := <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.char'First; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1717_16">Winnstr</A> (<A HREF="terminal_interface-curses__ads.htm#1407_20">Win</A>, <A HREF="terminal_interface-curses__adb.htm#1723_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#1722_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; To_Ada (<A HREF="terminal_interface-curses__adb.htm#1723_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#1408_20">Str</A>, <A HREF="terminal_interface-curses__adb.htm#1724_7">Cnt</A>, True); <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1724_7">Cnt</A> < <A HREF="terminal_interface-curses__ads.htm#1408_20">Str</A>'Length <b>then</b> <A HREF="terminal_interface-curses__ads.htm#1408_20">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#1408_20">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#1724_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#1408_20">Str</A>'Last) := (<b>others</b> => ' '); <b>end</b> <b>if</b>; <b>end</b> Peek; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1416_14">Peek</A><FONT COLOR=red><A NAME="1742_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1416_20">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#1417_20">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1418_20">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1419_20">Str</A> : <b>out</b> String; <A HREF="terminal_interface-curses__ads.htm#1420_20">Len</A> : <b>in</b> Integer := -1) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#504_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#1416_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1417_20">Line</A>, <A HREF="terminal_interface-curses__ads.htm#1418_20">Column</A>); <A HREF="terminal_interface-curses__ads.htm#1416_14">Peek</A> (<A HREF="terminal_interface-curses__ads.htm#1416_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1419_20">Str</A>, <A HREF="terminal_interface-curses__ads.htm#1420_20">Len</A>); <b>end</b> Peek; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1431_14">Peek</A><FONT COLOR=red><A NAME="1754_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1431_20">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#1432_20">Str</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#375_9">Attributed_String</A>; <A HREF="terminal_interface-curses__ads.htm#1433_20">Len</A> : <b>in</b> Integer := -1) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1759_16">Winchnstr</A></FONT> (<FONT COLOR=red><A NAME="1759_27">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1760_27">Str</A></FONT> : <A HREF="terminal_interface-curses__adb.htm#58_9">chtype_array</A>; <FONT COLOR=green><EM>-- out</EM></FONT> <FONT COLOR=red><A NAME="1761_27">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1759_16">Winchnstr</A>, "winchnstr"); <FONT COLOR=red><A NAME="1764_7">N</A></FONT> : Integer := <A HREF="terminal_interface-curses__ads.htm#1433_20">Len</A>; <FONT COLOR=red><A NAME="1765_7">Txt</A></FONT> : <A HREF="terminal_interface-curses__adb.htm#58_9">chtype_array</A> (0 .. <A HREF="terminal_interface-curses__ads.htm#1432_20">Str</A>'Length) := (0 => <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>); <FONT COLOR=red><A NAME="1766_7">Cnt</A></FONT> : Natural := 0; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1764_7">N</A> < 0 <b>then</b> <A HREF="terminal_interface-curses__adb.htm#1764_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#1432_20">Str</A>'Length; <b>end</b> <b>if</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1764_7">N</A> > <A HREF="terminal_interface-curses__ads.htm#1432_20">Str</A>'Length <b>then</b> <b>raise</b> Constraint_Error; <b>end</b> <b>if</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1759_16">Winchnstr</A> (<A HREF="terminal_interface-curses__ads.htm#1431_20">Win</A>, <A HREF="terminal_interface-curses__adb.htm#1765_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#1764_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>for</b> <FONT COLOR=red><A NAME="1777_11">To</A></FONT> <b>in</b> <A HREF="terminal_interface-curses__ads.htm#1432_20">Str</A>'<b>Range</b> <b>loop</b> <b>exit</b> <b>when</b> <A HREF="terminal_interface-curses__adb.htm#1765_7">Txt</A> (size_t (<A HREF="terminal_interface-curses__adb.htm#1766_7">Cnt</A>)) = <A HREF="terminal_interface-curses__ads.htm#370_4">Default_Character</A>; <A HREF="terminal_interface-curses__ads.htm#1432_20">Str</A> (<A HREF="terminal_interface-curses__adb.htm#1777_11">To</A>) := <A HREF="terminal_interface-curses__adb.htm#1765_7">Txt</A> (size_t (<A HREF="terminal_interface-curses__adb.htm#1766_7">Cnt</A>)); <A HREF="terminal_interface-curses__adb.htm#1766_7">Cnt</A> := <A HREF="terminal_interface-curses__adb.htm#1766_7">Cnt</A> + 1; <b>end</b> <b>loop</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1766_7">Cnt</A> < <A HREF="terminal_interface-curses__ads.htm#1432_20">Str</A>'Length <b>then</b> <A HREF="terminal_interface-curses__ads.htm#1432_20">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#1432_20">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#1766_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#1432_20">Str</A>'Last) := (<b>others</b> => (Ch => ' ', Color => <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>'First, Attr => <A HREF="terminal_interface-curses__ads.htm#349_4">Normal_Video</A>)); <b>end</b> <b>if</b>; <b>end</b> Peek; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1440_14">Peek</A><FONT COLOR=red><A NAME="1790_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1440_20">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#1441_20">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1442_20">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1443_20">Str</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#375_9">Attributed_String</A>; <A HREF="terminal_interface-curses__ads.htm#1444_20">Len</A> : <b>in</b> Integer := -1) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#504_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#1440_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1441_20">Line</A>, <A HREF="terminal_interface-curses__ads.htm#1442_20">Column</A>); <A HREF="terminal_interface-curses__ads.htm#1440_14">Peek</A> (<A HREF="terminal_interface-curses__ads.htm#1440_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1443_20">Str</A>, <A HREF="terminal_interface-curses__ads.htm#1444_20">Len</A>); <b>end</b> Peek; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1456_14">Get</A><FONT COLOR=red><A NAME="1802_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1456_19">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#1457_19">Str</A> : <b>out</b> String; <A HREF="terminal_interface-curses__ads.htm#1458_19">Len</A> : <b>in</b> Integer := -1) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1806_16">Wgetnstr</A></FONT> (<FONT COLOR=red><A NAME="1806_26">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="1807_26">Str</A></FONT> : char_array; <FONT COLOR=red><A NAME="1808_26">Len</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1806_16">Wgetnstr</A>, "wgetnstr"); <FONT COLOR=red><A NAME="1811_7">N</A></FONT> : Integer := <A HREF="terminal_interface-curses__ads.htm#1458_19">Len</A>; <FONT COLOR=red><A NAME="1812_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#1457_19">Str</A>'Length); <FONT COLOR=red><A NAME="1813_7">Cnt</A></FONT> : Natural; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1811_7">N</A> < 0 <b>then</b> <A HREF="terminal_interface-curses__adb.htm#1811_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#1457_19">Str</A>'Length; <b>end</b> <b>if</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1811_7">N</A> > <A HREF="terminal_interface-curses__ads.htm#1457_19">Str</A>'Length <b>then</b> <b>raise</b> Constraint_Error; <b>end</b> <b>if</b>; <A HREF="terminal_interface-curses__adb.htm#1812_7">Txt</A> (0) := <A HREF="interfac__ads.htm#23_9">Interfaces</A>.C.char'First; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1806_16">Wgetnstr</A> (<A HREF="terminal_interface-curses__ads.htm#1456_19">Win</A>, <A HREF="terminal_interface-curses__adb.htm#1812_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#1811_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; To_Ada (<A HREF="terminal_interface-curses__adb.htm#1812_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#1457_19">Str</A>, <A HREF="terminal_interface-curses__adb.htm#1813_7">Cnt</A>, True); <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1813_7">Cnt</A> < <A HREF="terminal_interface-curses__ads.htm#1457_19">Str</A>'Length <b>then</b> <A HREF="terminal_interface-curses__ads.htm#1457_19">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#1457_19">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#1813_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#1457_19">Str</A>'Last) := (<b>others</b> => ' '); <b>end</b> <b>if</b>; <b>end</b> Get; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1467_14">Get</A><FONT COLOR=red><A NAME="1831_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1467_19">Win</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#1468_19">Line</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1469_19">Column</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1470_19">Str</A> : <b>out</b> String; <A HREF="terminal_interface-curses__ads.htm#1471_19">Len</A> : <b>in</b> Integer := -1) <b>is</b> <b>begin</b> <A HREF="terminal_interface-curses__ads.htm#504_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#1467_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1468_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#1469_19">Column</A>); <A HREF="terminal_interface-curses__ads.htm#1467_14">Get</A> (<A HREF="terminal_interface-curses__ads.htm#1467_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#1470_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#1471_19">Len</A>); <b>end</b> Get; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1492_14">Init_Soft_Label_Keys</A><FONT COLOR=red><A NAME="1843_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1493_7">Format</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#1484_9">Soft_Label_Key_Format</A> := <A HREF="terminal_interface-curses__ads.htm#1484_35">Three_Two_Three</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1846_16">Slk_Init</A></FONT> (<FONT COLOR=red><A NAME="1846_26">Fmt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1846_16">Slk_Init</A>, "slk_init"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1846_16">Slk_Init</A> (<A HREF="terminal_interface-curses__ads.htm#1484_9">Soft_Label_Key_Format</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#1493_7">Format</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Init_Soft_Label_Keys; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1498_14">Set_Soft_Label_Key</A><FONT COLOR=red><A NAME="1854_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1498_34">Label</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#1488_9">Label_Number</A>; <A HREF="terminal_interface-curses__ads.htm#1499_34">Text</A> : <b>in</b> String; <A HREF="terminal_interface-curses__ads.htm#1500_34">Fmt</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#1489_9">Label_Justification</A> := <A HREF="terminal_interface-curses__ads.htm#1489_33">Left</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1858_16">Slk_Set</A></FONT> (<FONT COLOR=red><A NAME="1858_25">Label</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1859_25">Txt</A></FONT> : char_array; <FONT COLOR=red><A NAME="1860_25">Fmt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1858_16">Slk_Set</A>, "slk_set"); <FONT COLOR=red><A NAME="1863_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#1499_34">Text</A>'Length); <FONT COLOR=red><A NAME="1864_7">Len</A></FONT> : size_t; <b>begin</b> To_C (<A HREF="terminal_interface-curses__ads.htm#1499_34">Text</A>, <A HREF="terminal_interface-curses__adb.htm#1863_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#1864_7">Len</A>); <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1858_16">Slk_Set</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1498_34">Label</A>), <A HREF="terminal_interface-curses__adb.htm#1863_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1489_9">Label_Justification</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#1500_34">Fmt</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Set_Soft_Label_Key; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1505_14">Refresh_Soft_Label_Keys</A><FONT COLOR=red><A NAME="1873_14"></A></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1875_16">Slk_Refresh</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1875_16">Slk_Refresh</A>, "slk_refresh"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1875_16">Slk_Refresh</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Refresh_Soft_Label_Keys; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1510_14">Refresh_Soft_Label_Keys_Without_Update</A><FONT COLOR=red><A NAME="1883_14"></A></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1885_16">Slk_Noutrefresh</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1885_16">Slk_Noutrefresh</A>, "slk_noutrefresh"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1885_16">Slk_Noutrefresh</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Refresh_Soft_Label_Keys_Without_Update; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1515_14">Get_Soft_Label_Key</A><FONT COLOR=red><A NAME="1893_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1515_34">Label</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#1488_9">Label_Number</A>; <A HREF="terminal_interface-curses__ads.htm#1516_34">Text</A> : <b>out</b> String) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1896_16">Slk_Label</A></FONT> (<FONT COLOR=red><A NAME="1896_27">Label</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> chars_ptr; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1896_16">Slk_Label</A>, "slk_label"); <b>begin</b> <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#1896_16">Slk_Label</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1515_34">Label</A>)), <A HREF="terminal_interface-curses__ads.htm#1516_34">Text</A>); <b>end</b> Get_Soft_Label_Key; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1520_13">Get_Soft_Label_Key</A><FONT COLOR=red><A NAME="1902_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1520_33">Label</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#1488_9">Label_Number</A>) <b>return</b> String <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1904_16">Slk_Label</A></FONT> (<FONT COLOR=red><A NAME="1904_27">Label</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> chars_ptr; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1904_16">Slk_Label</A>, "slk_label"); <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#1904_16">Slk_Label</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1520_33">Label</A>))); <b>end</b> Get_Soft_Label_Key; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1526_14">Clear_Soft_Label_Keys</A><FONT COLOR=red><A NAME="1910_14"></A></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1912_16">Slk_Clear</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1912_16">Slk_Clear</A>, "slk_clear"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1912_16">Slk_Clear</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Clear_Soft_Label_Keys; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1531_14">Restore_Soft_Label_Keys</A><FONT COLOR=red><A NAME="1920_14"></A></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1922_16">Slk_Restore</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1922_16">Slk_Restore</A>, "slk_restore"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1922_16">Slk_Restore</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Restore_Soft_Label_Keys; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1536_14">Touch_Soft_Label_Keys</A><FONT COLOR=red><A NAME="1930_14"></A></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1932_16">Slk_Touch</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1932_16">Slk_Touch</A>, "slk_touch"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1932_16">Slk_Touch</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Touch_Soft_Label_Keys; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1541_14">Switch_Soft_Label_Key_Attributes</A><FONT COLOR=red><A NAME="1940_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1542_7">Attr</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#305_9">Character_Attribute_Set</A>; <A HREF="terminal_interface-curses__ads.htm#1543_7">On</A> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1944_16">Slk_Attron</A></FONT> (<FONT COLOR=red><A NAME="1944_28">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1944_16">Slk_Attron</A>, "slk_attron"); <b>function</b> <FONT COLOR=red><A NAME="1946_16">Slk_Attroff</A></FONT> (<FONT COLOR=red><A NAME="1946_29">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1946_16">Slk_Attroff</A>, "slk_attroff"); <FONT COLOR=red><A NAME="1949_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="1950_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := (Ch => Character'First, Attr => <A HREF="terminal_interface-curses__ads.htm#1542_7">Attr</A>, Color => <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>'First); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__ads.htm#1543_7">On</A> <b>then</b> <A HREF="terminal_interface-curses__adb.htm#1949_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#1944_16">Slk_Attron</A> (<A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__adb.htm#1950_7">Ch</A>)); <b>else</b> <A HREF="terminal_interface-curses__adb.htm#1949_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#1946_16">Slk_Attroff</A> (<A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__adb.htm#1950_7">Ch</A>)); <b>end</b> <b>if</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1949_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Switch_Soft_Label_Key_Attributes; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1549_14">Set_Soft_Label_Key_Attributes</A><FONT COLOR=red><A NAME="1964_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1550_7">Attr</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#305_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#349_4">Normal_Video</A>; <A HREF="terminal_interface-curses__ads.htm#1551_7">Color</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>'First) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1968_16">Slk_Attrset</A></FONT> (<FONT COLOR=red><A NAME="1968_29">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1968_16">Slk_Attrset</A>, "slk_attrset"); <FONT COLOR=red><A NAME="1971_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := (Ch => Character'First, Attr => <A HREF="terminal_interface-curses__ads.htm#1550_7">Attr</A>, Color => <A HREF="terminal_interface-curses__ads.htm#1551_7">Color</A>); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#1968_16">Slk_Attrset</A> (<A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__adb.htm#1971_7">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Set_Soft_Label_Key_Attributes; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1556_13">Get_Soft_Label_Key_Attributes</A><FONT COLOR=red><A NAME="1980_13"></A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#305_9">Character_Attribute_Set</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1982_16">Slk_Attr</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1982_16">Slk_Attr</A>, "slk_attr"); <FONT COLOR=red><A NAME="1985_7">Attr</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A> := <A HREF="terminal_interface-curses__adb.htm#1982_16">Slk_Attr</A>; <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#1985_7">Attr</A>).<A HREF="terminal_interface-curses__ads.htm#353_10">Attr</A>; <b>end</b> Get_Soft_Label_Key_Attributes; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1560_13">Get_Soft_Label_Key_Attributes</A><FONT COLOR=red><A NAME="1990_13"></A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="1992_16">Slk_Attr</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#1992_16">Slk_Attr</A>, "slk_attr"); <FONT COLOR=red><A NAME="1995_7">Attr</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A> := <A HREF="terminal_interface-curses__adb.htm#1992_16">Slk_Attr</A>; <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#1995_7">Attr</A>).<A HREF="terminal_interface-curses__ads.htm#354_10">Color</A>; <b>end</b> Get_Soft_Label_Key_Attributes; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1565_14">Set_Soft_Label_Key_Color</A><FONT COLOR=red><A NAME="2000_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1565_40">Pair</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2002_16">Slk_Color</A></FONT> (<FONT COLOR=red><A NAME="2002_27">Color</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2002_16">Slk_Color</A>, "slk_color"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2002_16">Slk_Color</A> (<A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1565_40">Pair</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Set_Soft_Label_Key_Color; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1579_14">Enable_Key</A><FONT COLOR=red><A NAME="2011_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1579_26">Key</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#76_12">Special_Key_Code</A>; <A HREF="terminal_interface-curses__ads.htm#1580_26">Enable</A> : <b>in</b> Boolean := True) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2014_16">Keyok</A></FONT> (<FONT COLOR=red><A NAME="2014_23">Keycode</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="2015_23">On_Off</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2014_16">Keyok</A>, "keyok"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2014_16">Keyok</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1579_26">Key</A>), <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#1580_26">Enable</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Enable_Key; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1589_14">Define_Key</A><FONT COLOR=red><A NAME="2024_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1589_26">Definition</A> : <b>in</b> String; <A HREF="terminal_interface-curses__ads.htm#1590_26">Key</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#76_12">Special_Key_Code</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2027_16">Defkey</A></FONT> (<FONT COLOR=red><A NAME="2027_24">Def</A></FONT> : char_array; <FONT COLOR=red><A NAME="2028_24">Key</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2027_16">Defkey</A>, "define_key"); <FONT COLOR=red><A NAME="2031_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#1589_26">Definition</A>'Length); <FONT COLOR=red><A NAME="2032_7">Length</A></FONT> : size_t; <b>begin</b> To_C (<A HREF="terminal_interface-curses__ads.htm#1589_26">Definition</A>, <A HREF="terminal_interface-curses__adb.htm#2031_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#2032_7">Length</A>); <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2027_16">Defkey</A> (<A HREF="terminal_interface-curses__adb.htm#2031_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1590_26">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Define_Key; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1615_14">Un_Control</A><FONT COLOR=red><A NAME="2040_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1615_26">Ch</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>; <A HREF="terminal_interface-curses__ads.htm#1616_26">Str</A> : <b>out</b> String) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2043_16">Unctrl</A></FONT> (<FONT COLOR=red><A NAME="2043_24">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> chars_ptr; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2043_16">Unctrl</A>, "unctrl"); <b>begin</b> <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#2043_16">Unctrl</A> (<A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#1615_26">Ch</A>)), <A HREF="terminal_interface-curses__ads.htm#1616_26">Str</A>); <b>end</b> Un_Control; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1620_13">Un_Control</A><FONT COLOR=red><A NAME="2049_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1620_25">Ch</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A>) <b>return</b> String <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2051_16">Unctrl</A></FONT> (<FONT COLOR=red><A NAME="2051_24">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>) <b>return</b> chars_ptr; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2051_16">Unctrl</A>, "unctrl"); <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#2051_16">Unctrl</A> (<A HREF="terminal_interface-curses-aux__ads.htm#104_13">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#1620_25">Ch</A>))); <b>end</b> Un_Control; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1626_14">Delay_Output</A><FONT COLOR=red><A NAME="2057_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1626_28">Msecs</A> : <b>in</b> Natural) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2059_16">Delayoutput</A></FONT> (<FONT COLOR=red><A NAME="2059_29">Msecs</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2059_16">Delayoutput</A>, "delay_output"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2059_16">Delayoutput</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1626_28">Msecs</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Delay_Output; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1631_14">Flush_Input</A><FONT COLOR=red><A NAME="2067_14"></A></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2069_16">Flushinp</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2069_16">Flushinp</A>, "flushinp"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2069_16">Flushinp</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <FONT COLOR=green><EM>-- docu says that never happens, but...</EM></FONT> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Flush_Input; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1640_13">Baudrate</A><FONT COLOR=red><A NAME="2077_13"></A></FONT> <b>return</b> Natural <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2079_16">Baud</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2079_16">Baud</A>, "baudrate"); <b>begin</b> <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#2079_16">Baud</A>); <b>end</b> Baudrate; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1645_13">Erase_Character</A><FONT COLOR=red><A NAME="2085_13"></A></FONT> <b>return</b> Character <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2087_16">Erasechar</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2087_16">Erasechar</A>, "erasechar"); <b>begin</b> <b>return</b> Character'Val (<A HREF="terminal_interface-curses__adb.htm#2087_16">Erasechar</A>); <b>end</b> Erase_Character; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1650_13">Kill_Character</A><FONT COLOR=red><A NAME="2093_13"></A></FONT> <b>return</b> Character <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2095_16">Killchar</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2095_16">Killchar</A>, "killchar"); <b>begin</b> <b>return</b> Character'Val (<A HREF="terminal_interface-curses__adb.htm#2095_16">Killchar</A>); <b>end</b> Kill_Character; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1655_13">Has_Insert_Character</A><FONT COLOR=red><A NAME="2101_13"></A></FONT> <b>return</b> Boolean <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2103_16">Has_Ic</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2103_16">Has_Ic</A>, "has_ic"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2103_16">Has_Ic</A> = <A HREF="terminal_interface-curses__ads.htm#1931_4">Curses_Bool_False</A> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; <b>end</b> Has_Insert_Character; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1660_13">Has_Insert_Line</A><FONT COLOR=red><A NAME="2113_13"></A></FONT> <b>return</b> Boolean <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2115_16">Has_Il</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2115_16">Has_Il</A>, "has_il"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2115_16">Has_Il</A> = <A HREF="terminal_interface-curses__ads.htm#1931_4">Curses_Bool_False</A> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; <b>end</b> Has_Insert_Line; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1665_13">Supported_Attributes</A><FONT COLOR=red><A NAME="2125_13"></A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#305_9">Character_Attribute_Set</A> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2127_16">Termattrs</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#63_12">C_Chtype</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2127_16">Termattrs</A>, "termattrs"); <FONT COLOR=red><A NAME="2130_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#351_9">Attributed_Character</A> := <A HREF="terminal_interface-curses-aux__ads.htm#101_13">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#2127_16">Termattrs</A>); <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses__adb.htm#2130_7">Ch</A>.<A HREF="terminal_interface-curses__ads.htm#353_10">Attr</A>; <b>end</b> Supported_Attributes; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1670_14">Long_Name</A><FONT COLOR=red><A NAME="2135_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1670_25">Name</A> : <b>out</b> String) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2137_16">Longname</A></FONT> <b>return</b> chars_ptr; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2137_16">Longname</A>, "longname"); <b>begin</b> <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#2137_16">Longname</A>, <A HREF="terminal_interface-curses__ads.htm#1670_25">Name</A>); <b>end</b> Long_Name; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1674_13">Long_Name</A><FONT COLOR=red><A NAME="2143_13"></A></FONT> <b>return</b> String <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2145_16">Longname</A></FONT> <b>return</b> chars_ptr; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2145_16">Longname</A>, "longname"); <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#2145_16">Longname</A>); <b>end</b> Long_Name; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1680_14">Terminal_Name</A><FONT COLOR=red><A NAME="2151_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1680_29">Name</A> : <b>out</b> String) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2153_16">Termname</A></FONT> <b>return</b> chars_ptr; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2153_16">Termname</A>, "termname"); <b>begin</b> <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#2153_16">Termname</A>, <A HREF="terminal_interface-curses__ads.htm#1680_29">Name</A>); <b>end</b> Terminal_Name; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1684_13">Terminal_Name</A><FONT COLOR=red><A NAME="2159_13"></A></FONT> <b>return</b> String <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2161_16">Termname</A></FONT> <b>return</b> chars_ptr; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2161_16">Termname</A>, "termname"); <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#2161_16">Termname</A>); <b>end</b> Terminal_Name; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1705_14">Init_Pair</A><FONT COLOR=red><A NAME="2167_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1705_25">Pair</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#299_12">Redefinable_Color_Pair</A>; <A HREF="terminal_interface-curses__ads.htm#1706_25">Fore</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#276_9">Color_Number</A>; <A HREF="terminal_interface-curses__ads.htm#1707_25">Back</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#276_9">Color_Number</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2171_16">Initpair</A></FONT> (<FONT COLOR=red><A NAME="2171_26">Pair</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>; <FONT COLOR=red><A NAME="2172_26">Fore</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>; <FONT COLOR=red><A NAME="2173_26">Back</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2171_16">Initpair</A>, "init_pair"); <b>begin</b> <b>if</b> Integer (<A HREF="terminal_interface-curses__ads.htm#1705_25">Pair</A>) >= <A HREF="terminal_interface-curses__ads.htm#423_13">Number_Of_Color_Pairs</A> <b>then</b> <b>raise</b> Constraint_Error; <b>end</b> <b>if</b>; <b>if</b> Integer (<A HREF="terminal_interface-curses__ads.htm#1706_25">Fore</A>) >= <A HREF="terminal_interface-curses__ads.htm#420_13">Number_Of_Colors</A> <b>or</b> <b>else</b> Integer (<A HREF="terminal_interface-curses__ads.htm#1707_25">Back</A>) >= <A HREF="terminal_interface-curses__ads.htm#420_13">Number_Of_Colors</A> <b>then</b> <b>raise</b> Constraint_Error; <b>end</b> <b>if</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2171_16">Initpair</A> (<A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1705_25">Pair</A>), <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1706_25">Fore</A>), <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1707_25">Back</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Init_Pair; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1712_14">Pair_Content</A><FONT COLOR=red><A NAME="2188_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1712_28">Pair</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#297_9">Color_Pair</A>; <A HREF="terminal_interface-curses__ads.htm#1713_28">Fore</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#276_9">Color_Number</A>; <A HREF="terminal_interface-curses__ads.htm#1714_28">Back</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#276_9">Color_Number</A>) <b>is</b> <b>type</b> C_Short_Access <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>; <b>function</b> <FONT COLOR=red><A NAME="2193_16">Paircontent</A></FONT> (<FONT COLOR=red><A NAME="2193_29">Pair</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>; Fp : C_Short_Access; Bp : C_Short_Access) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2193_16">Paircontent</A>, "pair_content"); <FONT COLOR=red><A NAME="2198_7">F</A></FONT>, <FONT COLOR=red><A NAME="2198_10">B</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2193_16">Paircontent</A> (<A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1712_28">Pair</A>), <A HREF="terminal_interface-curses__adb.htm#2198_7">F</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#2198_10">B</A>'<b>Access</b>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>else</b> <A HREF="terminal_interface-curses__ads.htm#1713_28">Fore</A> := <A HREF="terminal_interface-curses__ads.htm#276_9">Color_Number</A> (<A HREF="terminal_interface-curses__adb.htm#2198_7">F</A>); <A HREF="terminal_interface-curses__ads.htm#1714_28">Back</A> := <A HREF="terminal_interface-curses__ads.htm#276_9">Color_Number</A> (<A HREF="terminal_interface-curses__adb.htm#2198_10">B</A>); <b>end</b> <b>if</b>; <b>end</b> Pair_Content; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1719_13">Has_Colors</A><FONT COLOR=red><A NAME="2208_13"></A></FONT> <b>return</b> Boolean <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2210_16">Hascolors</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2210_16">Hascolors</A>, "has_colors"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2210_16">Hascolors</A> = <A HREF="terminal_interface-curses__ads.htm#1931_4">Curses_Bool_False</A> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; <b>end</b> Has_Colors; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1724_14">Init_Color</A><FONT COLOR=red><A NAME="2220_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1724_26">Color</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#276_9">Color_Number</A>; <A HREF="terminal_interface-curses__ads.htm#1725_26">Red</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#293_9">RGB_Value</A>; <A HREF="terminal_interface-curses__ads.htm#1726_26">Green</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#293_9">RGB_Value</A>; <A HREF="terminal_interface-curses__ads.htm#1727_26">Blue</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#293_9">RGB_Value</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2225_16">Initcolor</A></FONT> (<FONT COLOR=red><A NAME="2225_27">Col</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>; <FONT COLOR=red><A NAME="2226_27">Red</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>; <FONT COLOR=red><A NAME="2227_27">Green</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>; <FONT COLOR=red><A NAME="2228_27">Blue</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2225_16">Initcolor</A>, "init_color"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2225_16">Initcolor</A> (<A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1724_26">Color</A>), <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1725_26">Red</A>), <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1726_26">Green</A>), <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1727_26">Blue</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Init_Color; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1732_13">Can_Change_Color</A><FONT COLOR=red><A NAME="2237_13"></A></FONT> <b>return</b> Boolean <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2239_16">Canchangecolor</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2239_16">Canchangecolor</A>, "can_change_color"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2239_16">Canchangecolor</A> = <A HREF="terminal_interface-curses__ads.htm#1931_4">Curses_Bool_False</A> <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; <b>end</b> Can_Change_Color; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1737_14">Color_Content</A><FONT COLOR=red><A NAME="2249_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1737_29">Color</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#276_9">Color_Number</A>; <A HREF="terminal_interface-curses__ads.htm#1738_29">Red</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#293_9">RGB_Value</A>; <A HREF="terminal_interface-curses__ads.htm#1739_29">Green</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#293_9">RGB_Value</A>; <A HREF="terminal_interface-curses__ads.htm#1740_29">Blue</A> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#293_9">RGB_Value</A>) <b>is</b> <b>type</b> C_Short_Access <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>; <b>function</b> <FONT COLOR=red><A NAME="2256_16">Colorcontent</A></FONT> (<FONT COLOR=red><A NAME="2256_30">Color</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>; R, G, B : C_Short_Access) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2256_16">Colorcontent</A>, "color_content"); <FONT COLOR=red><A NAME="2260_7">R</A></FONT>, <FONT COLOR=red><A NAME="2260_10">G</A></FONT>, <FONT COLOR=red><A NAME="2260_13">B</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A>; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2256_16">Colorcontent</A> (<A HREF="terminal_interface-curses-aux__ads.htm#56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#1737_29">Color</A>), <A HREF="terminal_interface-curses__adb.htm#2260_7">R</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#2260_10">G</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#2260_13">B</A>'<b>Access</b>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>else</b> <A HREF="terminal_interface-curses__ads.htm#1738_29">Red</A> := <A HREF="terminal_interface-curses__ads.htm#293_9">RGB_Value</A> (<A HREF="terminal_interface-curses__adb.htm#2260_7">R</A>); <A HREF="terminal_interface-curses__ads.htm#1739_29">Green</A> := <A HREF="terminal_interface-curses__ads.htm#293_9">RGB_Value</A> (<A HREF="terminal_interface-curses__adb.htm#2260_10">G</A>); <A HREF="terminal_interface-curses__ads.htm#1740_29">Blue</A> := <A HREF="terminal_interface-curses__ads.htm#293_9">RGB_Value</A> (<A HREF="terminal_interface-curses__adb.htm#2260_13">B</A>); <b>end</b> <b>if</b>; <b>end</b> Color_Content; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1752_14">Save_Curses_Mode</A><FONT COLOR=red><A NAME="2273_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1752_32">Mode</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#1749_9">Curses_Mode</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2275_16">Def_Prog_Mode</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2275_16">Def_Prog_Mode</A>, "def_prog_mode"); <b>function</b> <FONT COLOR=red><A NAME="2277_16">Def_Shell_Mode</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2277_16">Def_Shell_Mode</A>, "def_shell_mode"); <FONT COLOR=red><A NAME="2280_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>begin</b> <b>case</b> <A HREF="terminal_interface-curses__ads.htm#1752_32">Mode</A> <b>is</b> <b>when</b> <A HREF="terminal_interface-curses__ads.htm#1749_25">Curses</A> => <A HREF="terminal_interface-curses__adb.htm#2280_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#2275_16">Def_Prog_Mode</A>; <b>when</b> <A HREF="terminal_interface-curses__ads.htm#1749_33">Shell</A> => <A HREF="terminal_interface-curses__adb.htm#2280_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#2277_16">Def_Shell_Mode</A>; <b>end</b> <b>case</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2280_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Save_Curses_Mode; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1758_14">Reset_Curses_Mode</A><FONT COLOR=red><A NAME="2291_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1758_33">Mode</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#1749_9">Curses_Mode</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2293_16">Reset_Prog_Mode</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2293_16">Reset_Prog_Mode</A>, "reset_prog_mode"); <b>function</b> <FONT COLOR=red><A NAME="2295_16">Reset_Shell_Mode</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2295_16">Reset_Shell_Mode</A>, "reset_shell_mode"); <FONT COLOR=red><A NAME="2298_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>begin</b> <b>case</b> <A HREF="terminal_interface-curses__ads.htm#1758_33">Mode</A> <b>is</b> <b>when</b> <A HREF="terminal_interface-curses__ads.htm#1749_25">Curses</A> => <A HREF="terminal_interface-curses__adb.htm#2298_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#2293_16">Reset_Prog_Mode</A>; <b>when</b> <A HREF="terminal_interface-curses__ads.htm#1749_33">Shell</A> => <A HREF="terminal_interface-curses__adb.htm#2298_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#2295_16">Reset_Shell_Mode</A>; <b>end</b> <b>case</b>; <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2298_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Reset_Curses_Mode; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1764_14">Save_Terminal_State</A><FONT COLOR=red><A NAME="2309_14"></A></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2311_16">Savetty</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2311_16">Savetty</A>, "savetty"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2311_16">Savetty</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Save_Terminal_State; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1769_14">Reset_Terminal_State</A><FONT COLOR=red><A NAME="2319_14"></A></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2321_16">Resetty</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2321_16">Resetty</A>, "resetty"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2321_16">Resetty</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Reset_Terminal_State; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1782_14">Rip_Off_Lines</A><FONT COLOR=red><A NAME="2329_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1782_29">Lines</A> : <b>in</b> Integer; <A HREF="terminal_interface-curses__ads.htm#1783_29">Proc</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#1773_9">Stdscr_Init_Proc</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2332_16">Ripoffline</A></FONT> (<FONT COLOR=red><A NAME="2332_28">Lines</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="2333_28">Proc</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1773_9">Stdscr_Init_Proc</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2332_16">Ripoffline</A>, "_nc_ripoffline"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2332_16">Ripoffline</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1782_29">Lines</A>), <A HREF="terminal_interface-curses__ads.htm#1783_29">Proc</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Rip_Off_Lines; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1794_14">Set_Cursor_Visibility</A><FONT COLOR=red><A NAME="2341_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1794_37">Visibility</A> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#1791_9">Cursor_Visibility</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2343_16">Curs_Set</A></FONT> (<FONT COLOR=red><A NAME="2343_26">Curs</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2343_16">Curs_Set</A>, "curs_set"); <FONT COLOR=red><A NAME="2346_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>begin</b> <A HREF="terminal_interface-curses__adb.htm#2346_7">Res</A> := <A HREF="terminal_interface-curses__adb.htm#2343_16">Curs_Set</A> (<A HREF="terminal_interface-curses__ads.htm#1791_9">Cursor_Visibility</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#1794_37">Visibility</A>)); <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2346_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <A HREF="terminal_interface-curses__ads.htm#1794_37">Visibility</A> := <A HREF="terminal_interface-curses__ads.htm#1791_9">Cursor_Visibility</A>'Val (<A HREF="terminal_interface-curses__adb.htm#2346_7">Res</A>); <b>end</b> <b>if</b>; <b>end</b> Set_Cursor_Visibility; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1799_14">Nap_Milli_Seconds</A><FONT COLOR=red><A NAME="2354_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1799_33">Ms</A> : <b>in</b> Natural) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2356_16">Napms</A></FONT> (<FONT COLOR=red><A NAME="2356_23">Ms</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2356_16">Napms</A>, "napms"); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2356_16">Napms</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1799_33">Ms</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Nap_Milli_Seconds; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>function</b> <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A><FONT COLOR=red><A NAME="2365_13"></A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> <b>is</b> <FONT COLOR=red><A NAME="2367_7">Stdscr</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2367_7">Stdscr</A>, "stdscr"); <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses__adb.htm#2367_7">Stdscr</A>; <b>end</b> Standard_Window; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#411_13">Lines</A><FONT COLOR=red><A NAME="2373_13"></A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A> <b>is</b> <FONT COLOR=red><A NAME="2375_7">C_Lines</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2375_7">C_Lines</A>, "LINES"); <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A> (<A HREF="terminal_interface-curses__adb.htm#2375_7">C_Lines</A>); <b>end</b> Lines; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#414_13">Columns</A><FONT COLOR=red><A NAME="2381_13"></A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A> <b>is</b> <FONT COLOR=red><A NAME="2383_7">C_Columns</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2383_7">C_Columns</A>, "COLS"); <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A> (<A HREF="terminal_interface-curses__adb.htm#2383_7">C_Columns</A>); <b>end</b> Columns; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#417_13">Tab_Size</A><FONT COLOR=red><A NAME="2389_13"></A></FONT> <b>return</b> Natural <b>is</b> <FONT COLOR=red><A NAME="2391_7">C_Tab_Size</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2391_7">C_Tab_Size</A>, "TABSIZE"); <b>begin</b> <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#2391_7">C_Tab_Size</A>); <b>end</b> Tab_Size; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#420_13">Number_Of_Colors</A><FONT COLOR=red><A NAME="2397_13"></A></FONT> <b>return</b> Natural <b>is</b> <FONT COLOR=red><A NAME="2399_7">C_Number_Of_Colors</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2399_7">C_Number_Of_Colors</A>, "COLORS"); <b>begin</b> <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#2399_7">C_Number_Of_Colors</A>); <b>end</b> Number_Of_Colors; <b>function</b> <A HREF="terminal_interface-curses__ads.htm#423_13">Number_Of_Color_Pairs</A><FONT COLOR=red><A NAME="2405_13"></A></FONT> <b>return</b> Natural <b>is</b> <FONT COLOR=red><A NAME="2407_7">C_Number_Of_Color_Pairs</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2407_7">C_Number_Of_Color_Pairs</A>, "COLOR_PAIRS"); <b>begin</b> <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#2407_7">C_Number_Of_Color_Pairs</A>); <b>end</b> Number_Of_Color_Pairs; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1807_14">Transform_Coordinates</A><FONT COLOR=red><A NAME="2413_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1808_7">W</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#1809_7">Line</A> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1810_7">Column</A> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A>; <A HREF="terminal_interface-curses__ads.htm#1811_7">Dir</A> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#1806_9">Transform_Direction</A> := <A HREF="terminal_interface-curses__ads.htm#1806_33">From_Screen</A>) <b>is</b> <b>type</b> Int_Access <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>function</b> <FONT COLOR=red><A NAME="2420_16">Transform</A></FONT> (<FONT COLOR=red><A NAME="2420_27">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; Y, X : Int_Access; <FONT COLOR=red><A NAME="2422_27">Dir</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2420_16">Transform</A>, "wmouse_trafo"); <FONT COLOR=red><A NAME="2425_7">X</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1810_7">Column</A>); <FONT COLOR=red><A NAME="2426_7">Y</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1809_7">Line</A>); <FONT COLOR=red><A NAME="2427_7">D</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A> := <A HREF="terminal_interface-curses__ads.htm#1931_4">Curses_Bool_False</A>; <FONT COLOR=red><A NAME="2428_7">R</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__ads.htm#1811_7">Dir</A> = <A HREF="terminal_interface-curses__ads.htm#1806_46">To_Screen</A> <b>then</b> <A HREF="terminal_interface-curses__adb.htm#2427_7">D</A> := 1; <b>end</b> <b>if</b>; <A HREF="terminal_interface-curses__adb.htm#2428_7">R</A> := <A HREF="terminal_interface-curses__adb.htm#2420_16">Transform</A> (<A HREF="terminal_interface-curses__ads.htm#1808_7">W</A>, <A HREF="terminal_interface-curses__adb.htm#2426_7">Y</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#2425_7">X</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#2427_7">D</A>); <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2428_7">R</A> = <A HREF="terminal_interface-curses-aux__ads.htm#75_4">Curses_False</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>else</b> <A HREF="terminal_interface-curses__ads.htm#1809_7">Line</A> := <A HREF="terminal_interface-curses__ads.htm#59_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#2426_7">Y</A>); <A HREF="terminal_interface-curses__ads.htm#1810_7">Column</A> := <A HREF="terminal_interface-curses__ads.htm#60_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#2425_7">X</A>); <b>end</b> <b>if</b>; <b>end</b> Transform_Coordinates; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1824_14">Use_Default_Colors</A><FONT COLOR=red><A NAME="2442_14"></A></FONT> <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2443_16">C_Use_Default_Colors</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2443_16">C_Use_Default_Colors</A>, "use_default_colors"); <FONT COLOR=red><A NAME="2445_7">Err</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#2443_16">C_Use_Default_Colors</A>; <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2445_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Use_Default_Colors; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1829_14">Assume_Default_Colors</A><FONT COLOR=red><A NAME="2452_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1829_37">Fore</A> : <A HREF="terminal_interface-curses__ads.htm#276_9">Color_Number</A> := <A HREF="terminal_interface-curses__ads.htm#283_4">Default_Color</A>; <A HREF="terminal_interface-curses__ads.htm#1830_37">Back</A> : <A HREF="terminal_interface-curses__ads.htm#276_9">Color_Number</A> := <A HREF="terminal_interface-curses__ads.htm#283_4">Default_Color</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2455_16">C_Assume_Default_Colors</A></FONT> (<FONT COLOR=red><A NAME="2455_41">Fore</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="2456_41">Back</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2455_16">C_Assume_Default_Colors</A>, "assume_default_colors"); <FONT COLOR=red><A NAME="2459_7">Err</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#2455_16">C_Assume_Default_Colors</A> (<A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1829_37">Fore</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#284_4">Black</A>)); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2459_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Assume_Default_Colors; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1839_13">Curses_Version</A><FONT COLOR=red><A NAME="2467_13"></A></FONT> <b>return</b> String <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2469_16">curses_versionC</A></FONT> <b>return</b> chars_ptr; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2469_16">curses_versionC</A>, "curses_version"); <FONT COLOR=red><A NAME="2471_7">Result</A></FONT> : <b>constant</b> chars_ptr := <A HREF="terminal_interface-curses__adb.htm#2469_16">curses_versionC</A>; <b>begin</b> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#121_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#2471_7">Result</A>); <b>end</b> Curses_Version; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>function</b> <A HREF="terminal_interface-curses__ads.htm#1844_13">Use_Extended_Names</A><FONT COLOR=red><A NAME="2476_13"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1844_33">Enable</A> : Boolean) <b>return</b> Boolean <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2478_16">use_extended_namesC</A></FONT> (<FONT COLOR=red><A NAME="2478_37">e</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2478_16">use_extended_namesC</A>, "use_extended_names"); <FONT COLOR=red><A NAME="2481_7">Res</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#2478_16">use_extended_namesC</A> (<A HREF="terminal_interface-curses__ads.htm#1930_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#1844_33">Enable</A>))); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2481_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1931_4">Curses_Bool_False</A>) <b>then</b> <b>return</b> False; <b>else</b> <b>return</b> True; <b>end</b> <b>if</b>; <b>end</b> Use_Extended_Names; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1852_14">Screen_Dump_To_File</A><FONT COLOR=red><A NAME="2491_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1852_35">Filename</A> : <b>in</b> String) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2493_16">scr_dump</A></FONT> (<FONT COLOR=red><A NAME="2493_26">f</A></FONT> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2493_16">scr_dump</A>, "scr_dump"); <FONT COLOR=red><A NAME="2495_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#1852_35">Filename</A>'Length); <FONT COLOR=red><A NAME="2496_7">Length</A></FONT> : size_t; <b>begin</b> To_C (<A HREF="terminal_interface-curses__ads.htm#1852_35">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#2495_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#2496_7">Length</A>); <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#2493_16">scr_dump</A> (<A HREF="terminal_interface-curses__adb.htm#2495_7">Txt</A>) <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Screen_Dump_To_File; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1856_14">Screen_Restore_From_File</A><FONT COLOR=red><A NAME="2504_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1856_40">Filename</A> : <b>in</b> String) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2506_16">scr_restore</A></FONT> (<FONT COLOR=red><A NAME="2506_29">f</A></FONT> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2506_16">scr_restore</A>, "scr_restore"); <FONT COLOR=red><A NAME="2508_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#1856_40">Filename</A>'Length); <FONT COLOR=red><A NAME="2509_7">Length</A></FONT> : size_t; <b>begin</b> To_C (<A HREF="terminal_interface-curses__ads.htm#1856_40">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#2508_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#2509_7">Length</A>); <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#2506_16">scr_restore</A> (<A HREF="terminal_interface-curses__adb.htm#2508_7">Txt</A>) <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Screen_Restore_From_File; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1860_14">Screen_Init_From_File</A><FONT COLOR=red><A NAME="2517_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1860_37">Filename</A> : <b>in</b> String) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2519_16">scr_init</A></FONT> (<FONT COLOR=red><A NAME="2519_26">f</A></FONT> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2519_16">scr_init</A>, "scr_init"); <FONT COLOR=red><A NAME="2521_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#1860_37">Filename</A>'Length); <FONT COLOR=red><A NAME="2522_7">Length</A></FONT> : size_t; <b>begin</b> To_C (<A HREF="terminal_interface-curses__ads.htm#1860_37">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#2521_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#2522_7">Length</A>); <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#2519_16">scr_init</A> (<A HREF="terminal_interface-curses__adb.htm#2521_7">Txt</A>) <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Screen_Init_From_File; <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1864_14">Screen_Set_File</A><FONT COLOR=red><A NAME="2530_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1864_31">Filename</A> : <b>in</b> String) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2532_16">scr_set</A></FONT> (<FONT COLOR=red><A NAME="2532_25">f</A></FONT> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2532_16">scr_set</A>, "scr_set"); <FONT COLOR=red><A NAME="2534_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#1864_31">Filename</A>'Length); <FONT COLOR=red><A NAME="2535_7">Length</A></FONT> : size_t; <b>begin</b> To_C (<A HREF="terminal_interface-curses__ads.htm#1864_31">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#2534_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#2535_7">Length</A>); <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#2532_16">scr_set</A> (<A HREF="terminal_interface-curses__adb.htm#2534_7">Txt</A>) <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Screen_Set_File; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>procedure</b> <A HREF="terminal_interface-curses__ads.htm#1897_14">Resize</A><FONT COLOR=red><A NAME="2543_14"></A></FONT> (<A HREF="terminal_interface-curses__ads.htm#1897_22">Win</A> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#474_13">Standard_Window</A>; <A HREF="terminal_interface-curses__ads.htm#1898_22">Number_Of_Lines</A> : <A HREF="terminal_interface-curses__ads.htm#62_12">Line_Count</A>; <A HREF="terminal_interface-curses__ads.htm#1899_22">Number_Of_Columns</A> : <A HREF="terminal_interface-curses__ads.htm#64_12">Column_Count</A>) <b>is</b> <b>function</b> <FONT COLOR=red><A NAME="2546_16">wresize</A></FONT> (<FONT COLOR=red><A NAME="2546_25">win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#56_9">Window</A>; <FONT COLOR=red><A NAME="2547_25">lines</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <FONT COLOR=red><A NAME="2548_25">columns</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A>; <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#2546_16">wresize</A>); <b>begin</b> <b>if</b> <A HREF="terminal_interface-curses__adb.htm#2546_16">wresize</A> (<A HREF="terminal_interface-curses__ads.htm#1897_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1898_22">Number_Of_Lines</A>), <A HREF="terminal_interface-curses-aux__ads.htm#55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#1899_22">Number_Of_Columns</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#72_4">Curses_Err</A> <b>then</b> <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#382_4">Curses_Exception</A>; <b>end</b> <b>if</b>; <b>end</b> Resize; <FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT> <b>end</b> Terminal_Interface.Curses; </PRE></BODY></HTML>